From 8038cad4a7e641818d0aa92ed31ca6aaeb8e2edc Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Sat, 4 Apr 2026 20:59:32 -0700 Subject: [PATCH 1/2] fix: self-healing skill prefix consistency in setup (#805) * fix: self-healing gstack-relink after setup to prevent skill prefix drift Setup now runs gstack-relink as a final consistency check after linking Claude skills. This independently reads skill_prefix from config and ensures name: fields and directory names match, catching cases where interrupted setups or stale state left skills incorrectly prefixed. * chore: bump version and changelog (v0.15.6.1) Co-Authored-By: Claude Opus 4.6 --------- Co-authored-by: Claude Opus 4.6 --- CHANGELOG.md | 6 ++++++ VERSION | 2 +- setup | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 77edebf8..52ea4f00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [0.15.6.1] - 2026-04-04 + +### Fixed + +- **Skill prefix self-healing.** Setup now runs `gstack-relink` as a final consistency check after linking skills. If an interrupted setup, stale git state, or upgrade left your `name:` fields out of sync with `skill_prefix: false`, setup will auto-correct on the next run. No more `/gstack-qa` when you wanted `/qa`. + ## [0.15.6.0] - 2026-04-04 — Declarative Multi-Host Platform Adding a new coding agent to gstack used to mean touching 9 files and knowing the internals of `gen-skill-docs.ts`. Now it's one TypeScript config file and a re-export. Zero code changes elsewhere. Tests auto-parameterize. diff --git a/VERSION b/VERSION index 57035769..505dd1b0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.15.6.0 +0.15.6.1 diff --git a/setup b/setup index 7e74c64f..df68cd64 100755 --- a/setup +++ b/setup @@ -595,6 +595,13 @@ if [ "$INSTALL_CLAUDE" -eq 1 ]; then # reads the correct (patched) name: values for symlink naming "$SOURCE_GSTACK_DIR/bin/gstack-patch-names" "$SOURCE_GSTACK_DIR" "$SKILL_PREFIX" link_claude_skill_dirs "$SOURCE_GSTACK_DIR" "$INSTALL_SKILLS_DIR" + # Self-healing: re-run gstack-relink to ensure name: fields and directory + # names are consistent with the config. This catches cases where an interrupted + # setup, stale git state, or gen:skill-docs left name: fields out of sync. + GSTACK_RELINK="$SOURCE_GSTACK_DIR/bin/gstack-relink" + if [ -x "$GSTACK_RELINK" ]; then + GSTACK_SKILLS_DIR="$INSTALL_SKILLS_DIR" GSTACK_INSTALL_DIR="$SOURCE_GSTACK_DIR" "$GSTACK_RELINK" >/dev/null 2>&1 || true + fi # Backwards-compat alias: /connect-chrome → /open-gstack-browser _OGB_LINK="$INSTALL_SKILLS_DIR/connect-chrome" if [ "$SKILL_PREFIX" -eq 1 ]; then From 31943b2f02be73a41a6e2567ecb887ec0ff3ef8d Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Sat, 4 Apr 2026 21:22:40 -0700 Subject: [PATCH 2/2] feat: anti-skip rule for all review skills (v0.15.6.1) (#804) * feat: anti-skip rule for all review skills Review skills sometimes skip sections when reviewing strategy or spec plans. This adds an explicit anti-skip rule to CEO (1-11), eng (1-4), design (1-7), and DX (1-8) review skills. Also fixes CEO header from "10 sections" to "11 sections" to match actual count. * chore: bump version and changelog (v0.15.6.1) Co-Authored-By: Claude Opus 4.6 --------- Co-authored-by: Claude Opus 4.6 --- CHANGELOG.md | 9 +++++++++ VERSION | 2 +- plan-ceo-review/SKILL.md | 4 +++- plan-ceo-review/SKILL.md.tmpl | 4 +++- plan-design-review/SKILL.md | 2 ++ plan-design-review/SKILL.md.tmpl | 2 ++ plan-devex-review/SKILL.md | 2 ++ plan-devex-review/SKILL.md.tmpl | 2 ++ plan-eng-review/SKILL.md | 2 ++ plan-eng-review/SKILL.md.tmpl | 2 ++ 10 files changed, 28 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52ea4f00..05d0fe3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [0.15.6.2] - 2026-04-04 — Anti-Skip Review Rule + +Review skills now enforce that every section gets evaluated, regardless of plan type. No more "this is a strategy doc so implementation sections don't apply." If a section genuinely has nothing to flag, say so and move on, but you have to look. + +### Added + +- **Anti-skip rule in all 4 review skills.** CEO review (sections 1-11), eng review (sections 1-4), design review (passes 1-7), and DX review (passes 1-8) all now require explicit evaluation of every section. Models can no longer skip sections by claiming the plan type makes them irrelevant. +- **CEO review header fix.** Corrected "10 sections" to "11 sections" to match the actual section count (Section 11 is conditional but exists). + ## [0.15.6.1] - 2026-04-04 ### Fixed diff --git a/VERSION b/VERSION index 505dd1b0..bd774f37 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.15.6.1 +0.15.6.2 diff --git a/plan-ceo-review/SKILL.md b/plan-ceo-review/SKILL.md index 4d1253cb..3cafdb6f 100644 --- a/plan-ceo-review/SKILL.md +++ b/plan-ceo-review/SKILL.md @@ -1042,7 +1042,9 @@ After mode is selected, confirm which implementation approach (from 0C-bis) appl Once selected, commit fully. Do not silently drift. **STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY. If no issues or fix is obvious, state what you'll do and move on — don't waste a question. Do NOT proceed until user responds. -## Review Sections (10 sections, after scope and mode are agreed) +## Review Sections (11 sections, after scope and mode are agreed) + +**Anti-skip rule:** Never condense, abbreviate, or skip any review section (1-11) regardless of plan type (strategy, spec, code, infra). Every section in this skill exists for a reason. "This is a strategy doc so implementation sections don't apply" is always wrong — implementation details are where strategy breaks down. If a section genuinely has zero findings, say "No issues found" and move on — but you must evaluate it. ### Section 1: Architecture Review Evaluate and diagram: diff --git a/plan-ceo-review/SKILL.md.tmpl b/plan-ceo-review/SKILL.md.tmpl index 319c3c1a..225cd05d 100644 --- a/plan-ceo-review/SKILL.md.tmpl +++ b/plan-ceo-review/SKILL.md.tmpl @@ -353,7 +353,9 @@ After mode is selected, confirm which implementation approach (from 0C-bis) appl Once selected, commit fully. Do not silently drift. **STOP.** AskUserQuestion once per issue. Do NOT batch. Recommend + WHY. If no issues or fix is obvious, state what you'll do and move on — don't waste a question. Do NOT proceed until user responds. -## Review Sections (10 sections, after scope and mode are agreed) +## Review Sections (11 sections, after scope and mode are agreed) + +**Anti-skip rule:** Never condense, abbreviate, or skip any review section (1-11) regardless of plan type (strategy, spec, code, infra). Every section in this skill exists for a reason. "This is a strategy doc so implementation sections don't apply" is always wrong — implementation details are where strategy breaks down. If a section genuinely has zero findings, say "No issues found" and move on — but you must evaluate it. ### Section 1: Architecture Review Evaluate and diagram: diff --git a/plan-design-review/SKILL.md b/plan-design-review/SKILL.md index b0f7f3a6..7d24477b 100644 --- a/plan-design-review/SKILL.md +++ b/plan-design-review/SKILL.md @@ -1023,6 +1023,8 @@ descriptions of what 10/10 looks like. ## Review Sections (7 passes, after scope is agreed) +**Anti-skip rule:** Never condense, abbreviate, or skip any review pass (1-7) regardless of plan type (strategy, spec, code, infra). Every pass in this skill exists for a reason. "This is a strategy doc so design passes don't apply" is always wrong — design gaps are where implementation breaks down. If a pass genuinely has zero findings, say "No issues found" and move on — but you must evaluate it. + ## Prior Learnings Search for relevant learnings from previous sessions: diff --git a/plan-design-review/SKILL.md.tmpl b/plan-design-review/SKILL.md.tmpl index 4d12d2f6..ff271191 100644 --- a/plan-design-review/SKILL.md.tmpl +++ b/plan-design-review/SKILL.md.tmpl @@ -256,6 +256,8 @@ descriptions of what 10/10 looks like. ## Review Sections (7 passes, after scope is agreed) +**Anti-skip rule:** Never condense, abbreviate, or skip any review pass (1-7) regardless of plan type (strategy, spec, code, infra). Every pass in this skill exists for a reason. "This is a strategy doc so design passes don't apply" is always wrong — design gaps are where implementation breaks down. If a pass genuinely has zero findings, say "No issues found" and move on — but you must evaluate it. + {{LEARNINGS_SEARCH}} ### Pass 1: Information Architecture diff --git a/plan-devex-review/SKILL.md b/plan-devex-review/SKILL.md index e954f737..6c2547ca 100644 --- a/plan-devex-review/SKILL.md +++ b/plan-devex-review/SKILL.md @@ -1079,6 +1079,8 @@ Pattern: ## Review Sections (8 passes, after Step 0 is complete) +**Anti-skip rule:** Never condense, abbreviate, or skip any review pass (1-8) regardless of plan type (strategy, spec, code, infra). Every pass in this skill exists for a reason. "This is a strategy doc so DX passes don't apply" is always wrong — DX gaps are where adoption breaks down. If a pass genuinely has zero findings, say "No issues found" and move on — but you must evaluate it. + ## Prior Learnings Search for relevant learnings from previous sessions: diff --git a/plan-devex-review/SKILL.md.tmpl b/plan-devex-review/SKILL.md.tmpl index ffdad717..94639352 100644 --- a/plan-devex-review/SKILL.md.tmpl +++ b/plan-devex-review/SKILL.md.tmpl @@ -442,6 +442,8 @@ Pattern: ## Review Sections (8 passes, after Step 0 is complete) +**Anti-skip rule:** Never condense, abbreviate, or skip any review pass (1-8) regardless of plan type (strategy, spec, code, infra). Every pass in this skill exists for a reason. "This is a strategy doc so DX passes don't apply" is always wrong — DX gaps are where adoption breaks down. If a pass genuinely has zero findings, say "No issues found" and move on — but you must evaluate it. + {{LEARNINGS_SEARCH}} ### DX Trend Check diff --git a/plan-eng-review/SKILL.md b/plan-eng-review/SKILL.md index de21a370..32f3d979 100644 --- a/plan-eng-review/SKILL.md +++ b/plan-eng-review/SKILL.md @@ -649,6 +649,8 @@ Always work through the full interactive review: one section at a time (Architec ## Review Sections (after scope is agreed) +**Anti-skip rule:** Never condense, abbreviate, or skip any review section (1-4) regardless of plan type (strategy, spec, code, infra). Every section in this skill exists for a reason. "This is a strategy doc so implementation sections don't apply" is always wrong — implementation details are where strategy breaks down. If a section genuinely has zero findings, say "No issues found" and move on — but you must evaluate it. + ## Prior Learnings Search for relevant learnings from previous sessions: diff --git a/plan-eng-review/SKILL.md.tmpl b/plan-eng-review/SKILL.md.tmpl index cf86f498..36c9d59e 100644 --- a/plan-eng-review/SKILL.md.tmpl +++ b/plan-eng-review/SKILL.md.tmpl @@ -114,6 +114,8 @@ Always work through the full interactive review: one section at a time (Architec ## Review Sections (after scope is agreed) +**Anti-skip rule:** Never condense, abbreviate, or skip any review section (1-4) regardless of plan type (strategy, spec, code, infra). Every section in this skill exists for a reason. "This is a strategy doc so implementation sections don't apply" is always wrong — implementation details are where strategy breaks down. If a section genuinely has zero findings, say "No issues found" and move on — but you must evaluate it. + {{LEARNINGS_SEARCH}} ### 1. Architecture review