mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-10 02:30:39 +01:00
* feat: retire /investigate after a no-gain eval (GST-1717)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(skill-start): core routing offer drops every non-core rule line (GST-1717)
The retired /investigate rule became 'Bugs/errors → fix them directly', which no
longer matches '→ invoke /', so proactive=core leaked it into the offered section.
Match any '- … → ' rule line.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* revert(review): keep review/checklist.md at its no-loss-pinned bytes (GST-1717)
The pin names replay GSTA-224 H1; a reviewer checklist edit merges only after a
passing no-loss replay (crew rule 15). The /investigate flake line stays until a
replayed repin.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* test: repair free-suite fallout from retiring /investigate (GST-1717)
CI run 42340956269 at 83a8a9a: drop fixtures, ledger rows, allowlist entries and
counts for the retired skill and its deleted paid files; record the harness
change as non-behavioral; the test-of-test detector accepts path.join(ROOT, 'bin');
uncovered-prompt fixtures use a tracked prompt, since an untracked path now
reads as a deleted one.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(relink): back up a retired skill's real SKILL.md before cleaning it (GST-1717)
With the skill's source gone, the customized-file check never ran, so a
banner-carrying local copy of investigate/SKILL.md was deleted instead of moved
to the backup root (red-team review, pass 1).
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(qm): restore the review checklist's flake-line rewrite (GST-1717)
review/checklist.md keeps its pinned /investigate line, so the QM edition needs
its replaceText rule back; qm/ stays fresh against the generator.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs(changelog): name the setup flag break, the relink backup and the pinned checklist line (GST-1717)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(setup,relink): back up a retired skill's real SKILL.md instead of deleting it (GST-1717)
Scoped fix round under grant a-360dd62bd46a (outside-voice blocking finding and
adversarial #1, #4). setup's prune compares a copied host entry with the render
before removing that render, and backs up a copy that differs or whose render is
gone; relink no longer takes the marker's rm -rf for a skill whose source is
gone, so a real SKILL.md is backed up and the user's files stay. setup reports a
failed remove-source of the retired gate hooks on stderr.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(pr-profile): a changed prompt counts as deleted only when it is gone from disk (GST-1717)
An untracked prompt file on disk still needs prompt validation (targeted review
finding); harness change recorded as non-behavioral.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs(changelog): exact backup wording, the hook-removal warning and GST-1744 (GST-1717)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(setup): one backup folder per host for a retired skill's copies (GST-1717)
Under grant a-c95576b8b1f9 (fix-check#1): every copy host moved its
gstack-investigate/SKILL.md to the same backup path, so a later host's copy
overwrote an earlier host's edits. A sandboxed ./setup --host factory run showed
gen-skill-docs removes the retired render before the prune, so every real copy
is backed up; each host now gets its own folder.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs(changelog): say exactly what setup backs up for a retired skill (GST-1717)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* docs(changelog): end the two colon sentences prose-lint flagged (GST-1717)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* test(retired-skills): name plan-eng-review once behind a pregate-literal waiver (GST-1717)
pregate's literals check read the GSTACK_RETIRED_SKILLS change as an old
value still in the tests. plan-eng-review is still retired; investigate was
appended. The fixture names it once, with the waiver.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
52 lines
2.5 KiB
Markdown
52 lines
2.5 KiB
Markdown
## Coding Tasks (gstack)
|
|
|
|
### Rules (non-negotiable)
|
|
|
|
1. **Always spawn, never redirect.** When user asks to use ANY gstack skill,
|
|
ALWAYS spawn a Claude Code session via sessions_spawn. Never tell user to
|
|
open Claude Code himself. Never say "this needs to run in Claude Code."
|
|
Never say "you'll need to open Claude Code for that." Just do it.
|
|
|
|
2. **Resolve the repo.** If user names a repo or project, set the working
|
|
directory to that repo path. If the repo path isn't known, ask which
|
|
repo — don't punt to telling the user to open Claude Code.
|
|
|
|
3. **Autoplan runs end-to-end.** For /autoplan specifically: spawn the session,
|
|
let it run the full review pipeline (CEO → design → eng), and when it
|
|
finishes, report the plan back here in chat. Write the plan to memory so
|
|
the user can find it later. User should never have to leave Telegram.
|
|
|
|
### Dispatch Routing
|
|
|
|
When asked for coding work, pick the dispatch tier:
|
|
|
|
**SIMPLE:** "fix this typo," "update that config," single-file changes
|
|
→ sessions_spawn(runtime: "acp", prompt: "<just the task>")
|
|
|
|
**MEDIUM:** multi-file features, refactors, skill edits
|
|
→ sessions_spawn(runtime: "acp", prompt: "<gstack-lite content>\n\n<task>")
|
|
|
|
**HEAVY:** needs a specific gstack methodology
|
|
→ sessions_spawn(runtime: "acp", prompt: "Load gstack. Run /qa https://...")
|
|
Skills: /cso, /review, /qa, /ship, /design-review, /benchmark, /gstack-upgrade
|
|
|
|
**FULL:** build a complete feature, multi-day scope, needs planning + review
|
|
→ sessions_spawn(runtime: "acp", prompt: "<gstack-full content>\n\n<task>")
|
|
Claude Code runs: /autoplan → implement → /ship → report back
|
|
|
|
**PLAN:** user wants to plan a Claude Code project, spec out a feature, or design
|
|
something before any code is written
|
|
→ sessions_spawn(runtime: "acp", prompt: "<gstack-plan content>\n\n<task>")
|
|
Claude Code runs: /office-hours → /autoplan → saves plan file → reports back
|
|
Persist the plan link to memory/knowledge store.
|
|
When the user is ready to implement, spawn a new FULL session pointing at the plan.
|
|
|
|
### Decision Heuristic
|
|
|
|
- Can it be done in <10 lines of code? → **SIMPLE**
|
|
- Does it touch multiple files but the approach is obvious? → **MEDIUM**
|
|
- Does the user name a specific skill (/cso, /review, /qa)? → **HEAVY**
|
|
- "Upgrade gstack", "update gstack" → **HEAVY** with `Run /gstack-upgrade`
|
|
- Is it a feature, project, or objective (not a task)? → **FULL**
|
|
- Does the user want to PLAN something without implementing yet? → **PLAN**
|