Files
gstack/TODOS.md
T
Garry Tan 1717ed2891 fix: browse binary discovery broken for agents (v0.3.5) (#44)
* fix: replace find-browse with direct path in SKILL.md setup blocks

Agents were skipping the find-browse binary and guessing bin/browse
(wrong path). Now the setup block explicitly checks browse/dist/browse
with workspace-local priority, global fallback.

Also adds || true to update check to prevent misleading exit code 1.

Adds {{UPDATE_CHECK}} and {{BROWSE_SETUP}} template placeholders to
gen-skill-docs.ts so all skills share a single source of truth.

* refactor: convert qa/ and setup-browser-cookies/ to .tmpl templates

Replaces hardcoded update check and find-browse blocks with
{{UPDATE_CHECK}} and {{BROWSE_SETUP}} placeholders. Both skills
are now generated from templates via gen-skill-docs.

* test: add e2e and LLM eval tests for SKILL.md setup block

- 3 Agent SDK e2e tests: happy path, NEEDS_SETUP, non-git-repo
- LLM eval: setup block clarity + actionability >= 4
- New error pattern: 'no such file or directory.*browse'

These tests catch the exact failure mode where agents can't discover
the browse binary via SKILL.md instructions.

* chore: bump version and changelog (v0.3.5)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 00:24:06 -07:00

1.8 KiB

TODOS

Auto-upgrade mode (zero-prompt)

What: Add a GSTACK_AUTO_UPGRADE=1 env var or ~/.gstack/config option that skips the AskUserQuestion prompt and upgrades automatically when a new version is detected.

Why: Power users and CI environments may want zero-friction upgrades without being asked every time.

Context: The current upgrade system (v0.3.4) always prompts via AskUserQuestion. This TODO adds an opt-in bypass. Implementation is ~10 lines in the preamble instructions: check for the env var/config before calling AskUserQuestion, and if set, go straight to the upgrade flow. Depends on the full upgrade system being stable first — wait for user feedback on the prompt-based flow before adding this.

Effort: S (small) Priority: P3 (nice-to-have, revisit after adoption data)

Convert remaining skills to .tmpl files

What: Convert ship/, review/, plan-ceo-review/, plan-eng-review/, retro/ SKILL.md files to .tmpl templates using the {{UPDATE_CHECK}} placeholder.

Why: These 5 skills still have the update check preamble copy-pasted. When the preamble changes (like the || true fix in v0.3.5), all 5 need manual updates. The {{UPDATE_CHECK}} resolver already exists in scripts/gen-skill-docs.ts — these skills just need to be converted.

Context: The browse-using skills (SKILL.md, browse/, qa/, setup-browser-cookies/) were converted to .tmpl in v0.3.5. The remaining 5 skills only use {{UPDATE_CHECK}} (no {{BROWSE_SETUP}}), so the conversion is mechanical: replace the preamble with {{UPDATE_CHECK}}, add the path to findTemplates() in scripts/gen-skill-docs.ts, and commit both .tmpl + generated .md.

Depends on: v0.3.5 shipping first (the {{UPDATE_CHECK}} resolver). Effort: S (small, ~20 min) Priority: P2 (prevents drift on next preamble change)