Skip to content

feat: Gemini CLI port, native skill architecture with single source of truth#73

Open
RemiAJR wants to merge 2 commits intogarrytan:mainfrom
RemiAJR:feat/gemini-port
Open

feat: Gemini CLI port, native skill architecture with single source of truth#73
RemiAJR wants to merge 2 commits intogarrytan:mainfrom
RemiAJR:feat/gemini-port

Conversation

@RemiAJR
Copy link

@RemiAJR RemiAJR commented Mar 15, 2026

Summary

Ports the gstack workflow suite to Gemini CLI using its native .skill system.
The key architectural decision: only the two Gemini-specific components
(gstack-browse and gstack-setup-browser-cookies) live in gemini-port/. The 6 content
skills (ship, reviewer, qa, retro, ceo, eng-lead) are generated at install time
from the main repo's SKILL.md files via install.sh, avoiding duplication and keeping
the main repo as the single source of truth.

Changes

  • gemini-port/install.sh — strips Claude-specific frontmatter, removes update-check
    block, replaces $B binary discovery, links all 8 skills via gemini skills link
  • gstack-browse/scripts/browse.js — full rewrite: 14 commands, @eN ref selectors,
    annotated screenshots, diff mode, console/network capture, chained execution
    preserving DOM state without a background daemon
  • gstack-setup-browser-cookies/scripts/setup-cookies.js — full cookie attribute
    normalization (SameSite, HttpOnly, Expires ms→s)
  • gemini-port/generated/ gitignored (build artifact)

Test plan

  • install.sh tested end-to-end: npm deps, skill generation, gemini skills link for
    all 8 skills
  • All 8 skills smoke-tested with gemini -m gemini-2.5-flash
  • gstack-browse verified on live sites (screenshot, navigation, DOM state
    persistence)
  • gstack-setup-browser-cookies verified with macOS Chrome cookie extraction
  • bun test passes, bun run skill:check green

Rémi Al Ajroudi and others added 2 commits March 15, 2026 16:54
Architecture:
- install.sh generates Gemini-adapted skills from main repo SKILL.md at
  install time via Python transforms (strip Claude frontmatter, remove
  update-check block, replace $B discovery with Gemini path)
- removes 6 duplicated skill dirs (ceo, eng-lead, ship, reviewer, qa, retro)
  — main repo is now the single source of truth, no manual sync needed
- generated/ added to .gitignore (build artifact, not source)

gstack-browse:
- full rewrite: 14 commands (snapshot, is, count, wait, scroll, viewport,
  js, console, network, cookie-import, hover, press, select, links)
- @en ref selector system for chained element interactions
- annotated screenshots (-a flag), snapshot diff mode (-D), interactive
  index (-i), element clipping (-C)
- 50k char truncation on text/html to prevent context overflow
- chained command architecture: single Node.js process preserves DOM state

gstack-setup-browser-cookies:
- cookie attribute normalization (SameSite, Expires ms→s conversion)
- MS_THRESHOLD extracted from magic number to named constant
- removed placeholder asset/reference files

TODOS.md:
- Gemini port items marked completed
- new TODO: Linux/Windows cookie decryption support

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant