@opengsd/gsd-core 1.6.0-rc.2 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/.claude-plugin/plugin.json +2 -1
  2. package/agents/gsd-advisor-researcher.md +2 -0
  3. package/agents/gsd-ai-researcher.md +2 -0
  4. package/agents/gsd-assumptions-analyzer.md +2 -0
  5. package/agents/gsd-doc-classifier.md +2 -0
  6. package/agents/gsd-doc-synthesizer.md +2 -0
  7. package/agents/gsd-domain-researcher.md +2 -0
  8. package/agents/gsd-eval-auditor.md +6 -9
  9. package/agents/gsd-phase-researcher.md +2 -0
  10. package/agents/gsd-planner.md +8 -57
  11. package/agents/gsd-project-researcher.md +2 -0
  12. package/agents/gsd-research-synthesizer.md +2 -0
  13. package/agents/gsd-security-auditor.md +37 -18
  14. package/agents/gsd-ui-researcher.md +2 -0
  15. package/bin/install.js +370 -18
  16. package/gemini-extension.json +1 -1
  17. package/gsd-core/bin/gsd-tools.cjs +46 -4
  18. package/gsd-core/bin/lib/audit-command-router.cjs +52 -14
  19. package/gsd-core/bin/lib/capability-lifecycle.cjs +30 -7
  20. package/gsd-core/bin/lib/capability-registry.cjs +96 -83
  21. package/gsd-core/bin/lib/capability-validator.cjs +22 -0
  22. package/gsd-core/bin/lib/cjs-command-router-adapter.cjs +40 -2
  23. package/gsd-core/bin/lib/command-aliases.cjs +10 -1
  24. package/gsd-core/bin/lib/command-routing-hub.cjs +10 -3
  25. package/gsd-core/bin/lib/config-schema.cjs +1 -0
  26. package/gsd-core/bin/lib/config.cjs +67 -24
  27. package/gsd-core/bin/lib/coverage.cjs +464 -0
  28. package/gsd-core/bin/lib/decisions.cjs +27 -0
  29. package/gsd-core/bin/lib/eval-command-router.cjs +21 -0
  30. package/gsd-core/bin/lib/eval.cjs +60 -0
  31. package/gsd-core/bin/lib/frontmatter.cjs +132 -13
  32. package/gsd-core/bin/lib/graphify-command-router.cjs +53 -36
  33. package/gsd-core/bin/lib/init.cjs +139 -30
  34. package/gsd-core/bin/lib/install-profiles.cjs +6 -3
  35. package/gsd-core/bin/lib/intel-command-router.cjs +79 -60
  36. package/gsd-core/bin/lib/io.cjs +1 -0
  37. package/gsd-core/bin/lib/phase.cjs +16 -2
  38. package/gsd-core/bin/lib/plan-scan.cjs +2 -2
  39. package/gsd-core/bin/lib/planning-workspace.cjs +157 -13
  40. package/gsd-core/bin/lib/profile-output.cjs +18 -6
  41. package/gsd-core/bin/lib/runtime-artifact-conversion.cjs +53 -16
  42. package/gsd-core/bin/lib/runtime-artifact-layout.cjs +21 -3
  43. package/gsd-core/bin/lib/runtime-hooks-surface.cjs +15 -0
  44. package/gsd-core/bin/lib/runtime-name-policy.cjs +47 -2
  45. package/gsd-core/bin/lib/shell-command-projection.cjs +10 -0
  46. package/gsd-core/bin/lib/state.cjs +398 -60
  47. package/gsd-core/bin/lib/surface.cjs +42 -10
  48. package/gsd-core/bin/lib/uat-predicate.cjs +13 -6
  49. package/gsd-core/bin/lib/update-context.cjs +2 -2
  50. package/gsd-core/bin/lib/verification.cjs +67 -6
  51. package/gsd-core/bin/lib/verify.cjs +8 -1
  52. package/gsd-core/bin/shared/config-defaults.manifest.json +3 -0
  53. package/gsd-core/bin/shared/config-schema.manifest.json +2 -1
  54. package/gsd-core/references/planner-guidance.md +66 -0
  55. package/gsd-core/references/planning-config.md +2 -2
  56. package/gsd-core/references/security-asvs-levels.md +27 -0
  57. package/gsd-core/references/untrusted-input-boundary.md +13 -0
  58. package/gsd-core/templates/SECURITY.md +6 -4
  59. package/gsd-core/templates/summary-complex.md +4 -0
  60. package/gsd-core/templates/summary-minimal.md +3 -0
  61. package/gsd-core/templates/summary-standard.md +4 -0
  62. package/gsd-core/templates/summary.md +41 -0
  63. package/gsd-core/workflows/autonomous.md +53 -46
  64. package/gsd-core/workflows/complete-milestone.md +27 -8
  65. package/gsd-core/workflows/execute-phase.md +1 -1
  66. package/gsd-core/workflows/execute-plan.md +5 -0
  67. package/gsd-core/workflows/manager.md +17 -7
  68. package/gsd-core/workflows/new-project.md +82 -16
  69. package/gsd-core/workflows/plan-phase.md +15 -0
  70. package/gsd-core/workflows/profile-user.md +6 -2
  71. package/gsd-core/workflows/progress.md +37 -4
  72. package/gsd-core/workflows/quick.md +3 -1
  73. package/gsd-core/workflows/secure-phase.md +13 -7
  74. package/gsd-core/workflows/ship.md +3 -1
  75. package/gsd-core/workflows/spec-phase.md +3 -1
  76. package/gsd-core/workflows/transition.md +14 -12
  77. package/gsd-core/workflows/ui-review.md +2 -6
  78. package/gsd-core/workflows/verify-work.md +74 -1
  79. package/hooks/dist/gsd-read-injection-scanner.js +49 -25
  80. package/hooks/gsd-read-injection-scanner.js +49 -25
  81. package/hooks/hooks.json +1 -1
  82. package/package.json +4 -2
  83. package/scripts/check-alias-drift.cjs +5 -0
  84. package/scripts/gen-plugin-skills.cjs +117 -0
  85. package/scripts/lint-test-file-count.allowlist.json +2 -1
  86. package/scripts/prompt-injection-scan.sh +9 -0
  87. package/scripts/release-notes/conventional-title.cjs +88 -0
  88. package/scripts/release-notes/format-github-release-notes.cjs +4 -3
  89. package/skills/gsd-add-tests/SKILL.md +38 -0
  90. package/skills/gsd-ai-integration-phase/SKILL.md +37 -0
  91. package/skills/gsd-audit-fix/SKILL.md +33 -0
  92. package/skills/gsd-audit-milestone/SKILL.md +37 -0
  93. package/skills/gsd-audit-uat/SKILL.md +25 -0
  94. package/skills/gsd-autonomous/SKILL.md +51 -0
  95. package/skills/gsd-capture/SKILL.md +67 -0
  96. package/skills/gsd-cleanup/SKILL.md +24 -0
  97. package/skills/gsd-code-review/SKILL.md +59 -0
  98. package/skills/gsd-complete-milestone/SKILL.md +142 -0
  99. package/skills/gsd-config/SKILL.md +56 -0
  100. package/skills/gsd-debug/SKILL.md +53 -0
  101. package/skills/gsd-discuss-phase/SKILL.md +77 -0
  102. package/skills/gsd-docs-update/SKILL.md +49 -0
  103. package/skills/gsd-eval-review/SKILL.md +33 -0
  104. package/skills/gsd-execute-phase/SKILL.md +65 -0
  105. package/skills/gsd-explore/SKILL.md +28 -0
  106. package/skills/gsd-extract-learnings/SKILL.md +22 -0
  107. package/skills/gsd-fast/SKILL.md +31 -0
  108. package/skills/gsd-forensics/SKILL.md +56 -0
  109. package/skills/gsd-graphify/SKILL.md +204 -0
  110. package/skills/gsd-health/SKILL.md +31 -0
  111. package/skills/gsd-help/SKILL.md +29 -0
  112. package/skills/gsd-import/SKILL.md +46 -0
  113. package/skills/gsd-inbox/SKILL.md +39 -0
  114. package/skills/gsd-ingest-docs/SKILL.md +43 -0
  115. package/skills/gsd-manager/SKILL.md +45 -0
  116. package/skills/gsd-map-codebase/SKILL.md +83 -0
  117. package/skills/gsd-mempalace-capture/SKILL.md +71 -0
  118. package/skills/gsd-mempalace-recall/SKILL.md +102 -0
  119. package/skills/gsd-milestone-summary/SKILL.md +51 -0
  120. package/skills/gsd-mvp-phase/SKILL.md +45 -0
  121. package/skills/gsd-new-milestone/SKILL.md +45 -0
  122. package/skills/gsd-new-project/SKILL.md +47 -0
  123. package/skills/gsd-ns-context/SKILL.md +24 -0
  124. package/skills/gsd-ns-ideate/SKILL.md +23 -0
  125. package/skills/gsd-ns-manage/SKILL.md +35 -0
  126. package/skills/gsd-ns-project/SKILL.md +26 -0
  127. package/skills/gsd-ns-review/SKILL.md +28 -0
  128. package/skills/gsd-ns-workflow/SKILL.md +33 -0
  129. package/skills/gsd-pause-work/SKILL.md +43 -0
  130. package/skills/gsd-phase/SKILL.md +57 -0
  131. package/skills/gsd-plan-phase/SKILL.md +63 -0
  132. package/skills/gsd-plan-review-convergence/SKILL.md +60 -0
  133. package/skills/gsd-pr-branch/SKILL.md +26 -0
  134. package/skills/gsd-profile-user/SKILL.md +47 -0
  135. package/skills/gsd-progress/SKILL.md +49 -0
  136. package/skills/gsd-quick/SKILL.md +174 -0
  137. package/skills/gsd-resume-work/SKILL.md +31 -0
  138. package/skills/gsd-review/SKILL.md +42 -0
  139. package/skills/gsd-review-backlog/SKILL.md +63 -0
  140. package/skills/gsd-secure-phase/SKILL.md +36 -0
  141. package/skills/gsd-settings/SKILL.md +29 -0
  142. package/skills/gsd-ship/SKILL.md +24 -0
  143. package/skills/gsd-sketch/SKILL.md +60 -0
  144. package/skills/gsd-spec-phase/SKILL.md +63 -0
  145. package/skills/gsd-spike/SKILL.md +57 -0
  146. package/skills/gsd-stats/SKILL.md +20 -0
  147. package/skills/gsd-surface/SKILL.md +162 -0
  148. package/skills/gsd-thread/SKILL.md +24 -0
  149. package/skills/gsd-ui-phase/SKILL.md +35 -0
  150. package/skills/gsd-ui-review/SKILL.md +33 -0
  151. package/skills/gsd-ultraplan-phase/SKILL.md +34 -0
  152. package/skills/gsd-undo/SKILL.md +35 -0
  153. package/skills/gsd-update/SKILL.md +50 -0
  154. package/skills/gsd-validate-phase/SKILL.md +36 -0
  155. package/skills/gsd-verify-work/SKILL.md +39 -0
  156. package/skills/gsd-workspace/SKILL.md +53 -0
  157. package/skills/gsd-workstreams/SKILL.md +70 -0
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: gsd-complete-milestone
3
+ description: "Archive completed milestone and prepare for next version"
4
+ argument-hint: "<version>"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ ---
10
+
11
+
12
+ <objective>
13
+ Mark milestone {{version}} complete, archive to milestones/, and update ROADMAP.md and REQUIREMENTS.md.
14
+
15
+ Purpose: Create historical record of shipped version, archive milestone artifacts (roadmap + requirements), and prepare for next milestone.
16
+ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tagged.
17
+ </objective>
18
+
19
+ <execution_context>
20
+ **Load these files NOW (before proceeding):**
21
+
22
+ - @~/.claude/gsd-core/workflows/complete-milestone.md (main workflow)
23
+ - @~/.claude/gsd-core/templates/milestone-archive.md (archive template)
24
+ </execution_context>
25
+
26
+ <context>
27
+ **Project files:**
28
+ - `.planning/ROADMAP.md`
29
+ - `.planning/REQUIREMENTS.md`
30
+ - `.planning/STATE.md`
31
+ - `.planning/PROJECT.md`
32
+
33
+ **User input:**
34
+
35
+ - Version: {{version}} (e.g., "1.0", "1.1", "2.0")
36
+ </context>
37
+
38
+ <process>
39
+
40
+ **Follow complete-milestone.md workflow:**
41
+
42
+ 0. **Check for audit:**
43
+
44
+ - Look for `.planning/v{{version}}-MILESTONE-AUDIT.md`
45
+ - If missing or stale: recommend `/gsd-audit-milestone` first
46
+ - If audit status is `gaps_found`: recommend closing the gaps inline
47
+ (the audit output already enumerates them — insert closure phases
48
+ via `/gsd-phase --insert <N>` plus the standard
49
+ discuss/plan/execute chain) before proceeding.
50
+ - If audit status is `passed`: proceed to step 1
51
+
52
+ ```markdown
53
+ ## Pre-flight Check
54
+
55
+ {If no v{{version}}-MILESTONE-AUDIT.md:}
56
+ ⚠ No milestone audit found. Run `/gsd-audit-milestone` first to verify
57
+ requirements coverage, cross-phase integration, and E2E flows.
58
+
59
+ {If audit has gaps:}
60
+ ⚠ Milestone audit found gaps. The audit output already enumerates the
61
+ unsatisfied requirements, cross-phase issues, and broken flows — insert
62
+ a closure phase per gap with `/gsd-phase --insert <N>` and run the
63
+ standard `/gsd-discuss-phase` → `/gsd-plan-phase` → `/gsd-execute-phase`
64
+ chain. Or proceed anyway to accept the gaps as tech debt.
65
+
66
+ {If audit passed:}
67
+ ✓ Milestone audit passed. Proceeding with completion.
68
+ ```
69
+
70
+ 1. **Verify readiness:**
71
+
72
+ - Check all phases in milestone have completed plans (SUMMARY.md exists)
73
+ - Present milestone scope and stats
74
+ - Wait for confirmation
75
+
76
+ 2. **Gather stats:**
77
+
78
+ - Count phases, plans, tasks
79
+ - Calculate git range, file changes, LOC
80
+ - Extract timeline from git log
81
+ - Present summary, confirm
82
+
83
+ 3. **Extract accomplishments:**
84
+
85
+ - Read all phase SUMMARY.md files in milestone range
86
+ - Extract 4-6 key accomplishments
87
+ - Present for approval
88
+
89
+ 4. **Archive milestone:**
90
+
91
+ - Create `.planning/milestones/v{{version}}-ROADMAP.md`
92
+ - Extract full phase details from ROADMAP.md
93
+ - Fill milestone-archive.md template
94
+ - Update ROADMAP.md to one-line summary with link
95
+
96
+ 5. **Archive requirements:**
97
+
98
+ - Create `.planning/milestones/v{{version}}-REQUIREMENTS.md`
99
+ - Mark all v1 requirements as complete (checkboxes checked)
100
+ - Note requirement outcomes (validated, adjusted, dropped)
101
+ - Delete `.planning/REQUIREMENTS.md` (fresh one created for next milestone)
102
+
103
+ 6. **Update PROJECT.md:**
104
+
105
+ - Add "Current State" section with shipped version
106
+ - Add "Next Milestone Goals" section
107
+ - Archive previous content in `<details>` (if v1.1+)
108
+
109
+ 7. **Commit and tag:**
110
+
111
+ - Stage: MILESTONES.md, PROJECT.md, ROADMAP.md, STATE.md, archive files
112
+ - Commit: `chore: archive v{{version}} milestone`
113
+ - Tag: `git tag -a v{{version}} -m "[milestone summary]"`
114
+ - Ask about pushing tag
115
+
116
+ 8. **Offer next steps:**
117
+ - `/gsd-new-milestone` — start next milestone (questioning → research → requirements → roadmap)
118
+
119
+ </process>
120
+
121
+ <success_criteria>
122
+
123
+ - Milestone archived to `.planning/milestones/v{{version}}-ROADMAP.md`
124
+ - Requirements archived to `.planning/milestones/v{{version}}-REQUIREMENTS.md`
125
+ - `.planning/REQUIREMENTS.md` deleted (fresh for next milestone)
126
+ - ROADMAP.md collapsed to one-line entry
127
+ - PROJECT.md updated with current state
128
+ - Git tag v{{version}} created (if `git.create_tag` enabled)
129
+ - Commit successful
130
+ - User knows next steps (including need for fresh requirements)
131
+ </success_criteria>
132
+
133
+ <critical_rules>
134
+
135
+ - **Load workflow first:** Read complete-milestone.md before executing
136
+ - **Verify completion:** All phases must have SUMMARY.md files
137
+ - **User confirmation:** Wait for approval at verification gates
138
+ - **Archive before deleting:** Always create archive files before updating/deleting originals
139
+ - **One-line summary:** Collapsed milestone in ROADMAP.md should be single line with link
140
+ - **Context efficiency:** Archive keeps ROADMAP.md and REQUIREMENTS.md constant size per milestone
141
+ - **Fresh requirements:** Next milestone starts with `/gsd-new-milestone` which includes requirements definition
142
+ </critical_rules>
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: gsd-config
3
+ description: "Configure GSD settings — workflow toggles, advanced knobs, integrations, and model profile"
4
+ argument-hint: "[--advanced | --integrations | --profile <name>]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - AskUserQuestion
10
+ ---
11
+
12
+
13
+ <objective>
14
+ Configure GSD settings interactively with a single consolidated command.
15
+
16
+ Mode routing:
17
+ - **default** (no flag): Common-case toggles (model, research, plan_check, verifier, branching) → settings workflow
18
+ - **--advanced**: Power-user knobs (planning tuning, timeouts, branch templates, cross-AI execution) → settings-advanced workflow
19
+ - **--integrations**: Third-party API keys, code-review CLI routing, agent-skill injection → settings-integrations workflow
20
+ - **--profile <name>**: Switch model profile (quality|balanced|budget|inherit) → set-profile (inline)
21
+ </objective>
22
+
23
+ <routing>
24
+
25
+ | Flag | Action | Workflow |
26
+ |------|--------|----------|
27
+ | (none) | Interactive 5-question common-case config prompt | settings |
28
+ | --advanced | Power-user knobs: planning, execution, discussion, cross-AI, git, runtime | settings-advanced |
29
+ | --integrations | API keys (Brave/Firecrawl/Exa), review CLI routing, agent skills | settings-integrations |
30
+ | --profile &lt;name&gt; | Switch model profile without interactive prompt | gsd-tools query config-set-model-profile |
31
+
32
+ </routing>
33
+
34
+ <execution_context>
35
+ @~/.claude/gsd-core/workflows/settings.md
36
+ @~/.claude/gsd-core/workflows/settings-advanced.md
37
+ @~/.claude/gsd-core/workflows/settings-integrations.md
38
+ </execution_context>
39
+
40
+ <context>
41
+ Arguments: $ARGUMENTS
42
+
43
+ Parse the first token of $ARGUMENTS:
44
+ - If it is `--advanced`: strip the flag, execute settings-advanced workflow
45
+ - If it is `--integrations`: strip the flag, execute settings-integrations workflow
46
+ - If it starts with `--profile`: extract the profile name (remainder after `--profile`), then:
47
+ 1. Verify `gsd-tools` is on PATH via `command -v gsd-tools`; if absent, emit the install hint `Install GSD via 'npm i -g @opengsd/gsd-core'` and stop.
48
+ 2. Run: `gsd-tools query config-set-model-profile <profile-name> --raw` and display the output verbatim.
49
+ - Otherwise: execute settings workflow (no argument needed)
50
+ </context>
51
+
52
+ <process>
53
+ 1. Parse the leading flag (if any) from $ARGUMENTS.
54
+ 2. Load and execute the appropriate workflow end-to-end, or run the inline SDK command for --profile.
55
+ 3. Preserve all workflow gates from the target workflow.
56
+ </process>
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: gsd-debug
3
+ description: "Systematic debugging with persistent state across context resets"
4
+ argument-hint: "[list | status <slug> | continue <slug> | --diagnose] [issue description]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Agent
10
+ - AskUserQuestion
11
+ ---
12
+
13
+
14
+ <objective>
15
+ Debug issues using scientific method with subagent isolation.
16
+
17
+ **Orchestrator role:** Gather symptoms, spawn gsd-debugger agent, handle checkpoints, spawn continuations.
18
+
19
+ **Flags:**
20
+ - `--diagnose` — Diagnose only. Returns a Root Cause Report without applying a fix.
21
+
22
+ **Subcommands:** `list` · `status <slug>` · `continue <slug>`
23
+ </objective>
24
+
25
+ <available_agent_types>
26
+ Valid GSD subagent types (use exact names — do not fall back to 'general-purpose'):
27
+ - gsd-debug-session-manager — manages debug checkpoint/continuation loop in isolated context
28
+ - gsd-debugger — investigates bugs using scientific method
29
+ </available_agent_types>
30
+
31
+ <execution_context>
32
+ @~/.claude/gsd-core/workflows/debug.md
33
+ </execution_context>
34
+
35
+ <context>
36
+ User's input: $ARGUMENTS
37
+
38
+ Parse subcommands and flags from $ARGUMENTS BEFORE the active-session check:
39
+ - If $ARGUMENTS starts with "list": SUBCMD=list, no further args
40
+ - If $ARGUMENTS starts with "status ": SUBCMD=status, SLUG=remainder (trim whitespace)
41
+ - If $ARGUMENTS starts with "continue ": SUBCMD=continue, SLUG=remainder (trim whitespace)
42
+ - If $ARGUMENTS contains `--diagnose`: SUBCMD=debug, diagnose_only=true, strip `--diagnose` from description
43
+ - Otherwise: SUBCMD=debug, diagnose_only=false
44
+
45
+ Check for active sessions (used for non-list/status/continue flows):
46
+ ```bash
47
+ ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5
48
+ ```
49
+ </context>
50
+
51
+ <process>
52
+ Execute end-to-end.
53
+ </process>
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: gsd-discuss-phase
3
+ description: "Gather phase context through adaptive questioning before planning."
4
+ argument-hint: "<phase> [--all] [--auto] [--chain] [--batch] [--analyze] [--text] [--power] [--assumptions]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - AskUserQuestion
12
+ - Agent
13
+ - mcp__context7__resolve-library-id
14
+ - mcp__context7__query-docs
15
+ ---
16
+
17
+
18
+ <objective>
19
+ Extract implementation decisions that downstream agents need — researcher and planner will use CONTEXT.md to know what to investigate and what choices are locked.
20
+
21
+ **How it works:**
22
+ 1. Load prior context (PROJECT.md, REQUIREMENTS.md, STATE.md, prior CONTEXT.md files)
23
+ 2. Scout codebase for reusable assets and patterns
24
+ 3. Analyze phase — skip gray areas already decided in prior phases
25
+ 4. Present remaining gray areas — user selects which to discuss
26
+ 5. Deep-dive each selected area until satisfied
27
+ 6. Create CONTEXT.md with decisions that guide research and planning
28
+
29
+ **Output:** `{phase_num}-CONTEXT.md` — decisions clear enough that downstream agents can act without asking the user again
30
+ </objective>
31
+
32
+ <execution_context>
33
+ Workflow files are loaded on-demand in the <process> section below — not upfront.
34
+ Do not pre-load any workflow files before reading the mode routing instructions.
35
+ </execution_context>
36
+
37
+ <runtime_note>
38
+ **Copilot (VS Code):** Use `vscode_askquestions` wherever this workflow calls `AskUserQuestion`. They are equivalent — `vscode_askquestions` is the VS Code Copilot implementation of the same interactive question API.
39
+ </runtime_note>
40
+
41
+ <context>
42
+ Phase number: $ARGUMENTS (required)
43
+
44
+ Context files are resolved in-workflow using `init phase-op` and roadmap/state tool calls.
45
+ </context>
46
+
47
+ <process>
48
+ **Mode routing:**
49
+ ```bash
50
+ _GSD_SHIM_NAME="gsd-tools.cjs"; _GSD_RUNTIME_ROOT="${RUNTIME_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"; GSD_TOOLS="${_GSD_RUNTIME_ROOT}/gsd-core/bin/${_GSD_SHIM_NAME}"; if [ -f "$GSD_TOOLS" ]; then gsd_run() { node "$GSD_TOOLS" "$@"; }; elif [ -f "${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; elif command -v gsd-tools >/dev/null 2>&1; then GSD_TOOLS="$(command -v gsd-tools)"; gsd_run() { "$GSD_TOOLS" "$@"; }; elif [ -f "$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; else echo "ERROR: gsd-tools.cjs not found at $GSD_TOOLS and gsd-tools is not on PATH. Run: npx -y @opengsd/gsd-core@latest --claude --local" >&2; exit 1; fi
51
+ DISCUSS_MODE=$(gsd_run query config-get workflow.discuss_mode 2>/dev/null || echo "discuss")
52
+ ```
53
+
54
+ If `--assumptions` is in $ARGUMENTS:
55
+ Read and execute `~/.claude/gsd-core/workflows/list-phase-assumptions.md` end-to-end.
56
+ Stop here.
57
+
58
+ Otherwise, if `DISCUSS_MODE` is `"assumptions"`:
59
+ Read and execute `~/.claude/gsd-core/workflows/discuss-phase-assumptions.md` end-to-end.
60
+
61
+ Otherwise (`"discuss"` / unset / any other value):
62
+ Read and execute `~/.claude/gsd-core/workflows/discuss-phase.md` end-to-end.
63
+
64
+ **MANDATORY:** Read the appropriate workflow file BEFORE taking any action. The objective and success_criteria sections in this command file are summaries — the workflow file contains the complete step-by-step process with all required behaviors, config checks, and interaction patterns. Do not improvise from the summary.
65
+
66
+ **Lazy loading:** `templates/context.md` is loaded inside the `write_context` step of the active workflow. `discuss-phase-power.md` is loaded inside `discuss-phase.md` when `--power` is detected. Do not load either here.
67
+ </process>
68
+
69
+ <success_criteria>
70
+ - Prior context loaded and applied (no re-asking decided questions)
71
+ - Gray areas identified through intelligent analysis
72
+ - User chose which areas to discuss
73
+ - Each selected area explored until satisfied
74
+ - Scope creep redirected to deferred ideas
75
+ - CONTEXT.md captures decisions, not vague vision
76
+ - User knows next steps
77
+ </success_criteria>
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: gsd-docs-update
3
+ description: "Generate or update project documentation verified against the codebase"
4
+ argument-hint: "[--force] [--verify-only]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Agent
13
+ - AskUserQuestion
14
+ ---
15
+
16
+ <objective>
17
+ Generate and update up to 9 documentation files for the current project. Each doc type is written by a gsd-doc-writer subagent that explores the codebase directly — no hallucinated paths, phantom endpoints, or stale signatures.
18
+
19
+ Flag handling rule:
20
+ - The optional flags documented below are available behaviors, not implied active behaviors
21
+ - A flag is active only when its literal token appears in `$ARGUMENTS`
22
+ - If a documented flag is absent from `$ARGUMENTS`, treat it as inactive
23
+ - `--force`: skip preservation prompts, regenerate all docs regardless of existing content or GSD markers
24
+ - `--verify-only`: check existing docs for accuracy against codebase, no generation (full verification requires Phase 4 verifier)
25
+ - If `--force` and `--verify-only` both appear in `$ARGUMENTS`, `--force` takes precedence
26
+ </objective>
27
+
28
+ <execution_context>
29
+ @~/.claude/gsd-core/workflows/docs-update.md
30
+ </execution_context>
31
+
32
+ <context>
33
+ Arguments: $ARGUMENTS
34
+
35
+ **Available optional flags (documentation only — not automatically active):**
36
+ - `--force` — Regenerate all docs. Overwrites hand-written and GSD docs alike. No preservation prompts.
37
+ - `--verify-only` — Check existing docs for accuracy against the codebase. No files are written. Reports VERIFY marker count. Full codebase fact-checking requires the gsd-doc-verifier agent (Phase 4).
38
+
39
+ **Active flags must be derived from `$ARGUMENTS`:**
40
+ - `--force` is active only if the literal `--force` token is present in `$ARGUMENTS`
41
+ - `--verify-only` is active only if the literal `--verify-only` token is present in `$ARGUMENTS`
42
+ - If neither token appears, run the standard full-phase generation flow
43
+ - Do not infer that a flag is active just because it is documented in this prompt
44
+ </context>
45
+
46
+ <process>
47
+ Execute end-to-end.
48
+ Preserve all workflow gates (preservation_check, flag handling, wave execution, monorepo dispatch, commit, reporting).
49
+ </process>
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: gsd-eval-review
3
+ description: "Audit an executed AI phase's evaluation coverage and produce an EVAL-REVIEW.md remediation plan."
4
+ argument-hint: "[phase number]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - Agent
12
+ - AskUserQuestion
13
+ ---
14
+
15
+ <objective>
16
+ Conduct a retroactive evaluation coverage audit of a completed AI phase.
17
+ Checks whether the evaluation strategy from AI-SPEC.md was implemented.
18
+ Produces EVAL-REVIEW.md with score, verdict, gaps, and remediation plan.
19
+ </objective>
20
+
21
+ <execution_context>
22
+ @~/.claude/gsd-core/workflows/eval-review.md
23
+ @~/.claude/gsd-core/references/ai-evals.md
24
+ </execution_context>
25
+
26
+ <context>
27
+ Phase: $ARGUMENTS — optional, defaults to last completed phase.
28
+ </context>
29
+
30
+ <process>
31
+ Execute end-to-end.
32
+ Preserve all workflow gates.
33
+ </process>
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: gsd-execute-phase
3
+ description: "Execute all plans in a phase with wave-based parallelization"
4
+ argument-hint: "<phase-number> [--wave N] [--gaps-only] [--interactive] [--tdd]"
5
+ effort: max
6
+ allowed-tools:
7
+ - Read
8
+ - Write
9
+ - Edit
10
+ - Glob
11
+ - Grep
12
+ - Bash
13
+ - Agent
14
+ - TodoWrite
15
+ - AskUserQuestion
16
+ ---
17
+
18
+ <objective>
19
+ Execute all plans in a phase using wave-based parallel execution.
20
+
21
+ Orchestrator stays lean: discover plans, analyze dependencies, group into waves, spawn subagents, collect results. Each subagent loads the full execute-plan context and handles its own plan.
22
+
23
+ Optional wave filter:
24
+ - `--wave N` executes only Wave `N` for pacing, quota management, or staged rollout
25
+ - phase verification/completion still only happens when no incomplete plans remain after the selected wave finishes
26
+
27
+ Flag handling rule:
28
+ - The optional flags documented below are available behaviors, not implied active behaviors
29
+ - A flag is active only when its literal token appears in `$ARGUMENTS`
30
+ - If a documented flag is absent from `$ARGUMENTS`, treat it as inactive
31
+
32
+ Context budget: ~15% orchestrator, 100% fresh per subagent.
33
+ </objective>
34
+
35
+ <execution_context>
36
+ @~/.claude/gsd-core/workflows/execute-phase.md
37
+ @~/.claude/gsd-core/references/ui-brand.md
38
+ </execution_context>
39
+
40
+ <runtime_note>
41
+ **Copilot (VS Code):** Use `vscode_askquestions` wherever this workflow calls `AskUserQuestion`. They are equivalent — `vscode_askquestions` is the VS Code Copilot implementation of the same interactive question API.
42
+ </runtime_note>
43
+
44
+ <context>
45
+ Phase: $ARGUMENTS
46
+
47
+ **Available optional flags (documentation only — not automatically active):**
48
+ - `--wave N` — Execute only Wave `N` in the phase. Use when you want to pace execution or stay inside usage limits.
49
+ - `--gaps-only` — Execute only gap closure plans (plans with `gap_closure: true` in frontmatter). Use after verify-work creates fix plans.
50
+ - `--interactive` — Execute plans sequentially inline (no subagents) with user checkpoints between tasks. Lower token usage, pair-programming style. Best for small phases, bug fixes, and verification gaps.
51
+
52
+ **Active flags must be derived from `$ARGUMENTS`:**
53
+ - `--wave N` is active only if the literal `--wave` token is present in `$ARGUMENTS`
54
+ - `--gaps-only` is active only if the literal `--gaps-only` token is present in `$ARGUMENTS`
55
+ - `--interactive` is active only if the literal `--interactive` token is present in `$ARGUMENTS`
56
+ - If none of these tokens appear, run the standard full-phase execution flow with no flag-specific filtering
57
+ - Do not infer that a flag is active just because it is documented in this prompt
58
+
59
+ Context files are resolved inside the workflow via `gsd-tools query init.execute-phase` and per-subagent `<files_to_read>` blocks.
60
+ </context>
61
+
62
+ <process>
63
+ Execute end-to-end.
64
+ Preserve all workflow gates (wave execution, checkpoint handling, verification, state updates, routing).
65
+ </process>
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: gsd-explore
3
+ description: "Socratic ideation and idea routing — think through ideas before committing to plans"
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Bash
8
+ - Grep
9
+ - Glob
10
+ - Agent
11
+ - AskUserQuestion
12
+ ---
13
+
14
+ <objective>
15
+ Open-ended Socratic ideation session. Guides the developer through exploring an idea via
16
+ probing questions, optionally spawns research, then routes outputs to the appropriate GSD
17
+ artifacts (notes, todos, seeds, research questions, requirements, or new phases).
18
+
19
+ Accepts an optional topic argument: `/gsd-explore authentication strategy`
20
+ </objective>
21
+
22
+ <execution_context>
23
+ @~/.claude/gsd-core/workflows/explore.md
24
+ </execution_context>
25
+
26
+ <process>
27
+ Execute end-to-end.
28
+ </process>
@@ -0,0 +1,22 @@
1
+ ---
2
+ name: gsd-extract-learnings
3
+ description: "Extract decisions, lessons, patterns, and surprises from completed phase artifacts"
4
+ argument-hint: "<phase-number>"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Grep
10
+ - Glob
11
+ - Agent
12
+ ---
13
+
14
+ <objective>
15
+ Extract structured learnings from completed phase artifacts (PLAN.md, SUMMARY.md, VERIFICATION.md, UAT.md, STATE.md) into a LEARNINGS.md file that captures decisions, lessons learned, patterns discovered, and surprises encountered.
16
+ </objective>
17
+
18
+ <execution_context>
19
+ @~/.claude/gsd-core/workflows/extract-learnings.md
20
+ </execution_context>
21
+
22
+ Execute the extract-learnings workflow from @~/.claude/gsd-core/workflows/extract-learnings.md end-to-end.
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: gsd-fast
3
+ description: "Execute a trivial task inline — no subagents, no planning overhead"
4
+ argument-hint: "[task description]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Grep
11
+ - Glob
12
+ ---
13
+
14
+
15
+ <objective>
16
+ Execute a trivial task directly in the current context without spawning subagents
17
+ or generating PLAN.md files. For tasks too small to justify planning overhead:
18
+ typo fixes, config changes, small refactors, forgotten commits, simple additions.
19
+
20
+ This is NOT a replacement for /gsd-quick — use /gsd-quick for anything that
21
+ needs research, multi-step planning, or verification. /gsd-fast is for tasks
22
+ you could describe in one sentence and execute in under 2 minutes.
23
+ </objective>
24
+
25
+ <execution_context>
26
+ @~/.claude/gsd-core/workflows/fast.md
27
+ </execution_context>
28
+
29
+ <process>
30
+ Execute end-to-end.
31
+ </process>
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: gsd-forensics
3
+ description: "Post-mortem investigation for failed GSD workflows — diagnoses what went wrong."
4
+ argument-hint: "[problem description]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Grep
10
+ - Glob
11
+ ---
12
+
13
+
14
+ <objective>
15
+ Investigate what went wrong during a GSD workflow execution. Analyzes git history, `.planning/` artifacts, and file system state to detect anomalies and generate a structured diagnostic report.
16
+
17
+ Purpose: Diagnose failed or stuck workflows so the user can understand root cause and take corrective action.
18
+ Output: Forensic report saved to `.planning/forensics/`, presented inline, with optional issue creation.
19
+ </objective>
20
+
21
+ <execution_context>
22
+ @~/.claude/gsd-core/workflows/forensics.md
23
+ </execution_context>
24
+
25
+ <context>
26
+ **Data sources:**
27
+ - `git log` (recent commits, patterns, time gaps)
28
+ - `git status` / `git diff` (uncommitted work, conflicts)
29
+ - `.planning/STATE.md` (current position, session history)
30
+ - `.planning/ROADMAP.md` (phase scope and progress)
31
+ - `.planning/phases/*/` (PLAN.md, SUMMARY.md, VERIFICATION.md, CONTEXT.md)
32
+ - `.planning/reports/SESSION_REPORT.md` (last session outcomes)
33
+
34
+ **User input:**
35
+ - Problem description: $ARGUMENTS (optional — will ask if not provided)
36
+ </context>
37
+
38
+ <process>
39
+ Execute end-to-end.
40
+ </process>
41
+
42
+ <success_criteria>
43
+ - Evidence gathered from all available data sources
44
+ - At least 4 anomaly types checked (stuck loop, missing artifacts, abandoned work, crash/interruption)
45
+ - Structured forensic report written to `.planning/forensics/report-{timestamp}.md`
46
+ - Report presented inline with findings, anomalies, and recommendations
47
+ - Interactive investigation offered for deeper analysis
48
+ - GitHub issue creation offered if actionable findings exist
49
+ </success_criteria>
50
+
51
+ <critical_rules>
52
+ - **Read-only investigation:** Do not modify project source files during forensics. Only write the forensic report and update STATE.md session tracking.
53
+ - **Redact sensitive data:** Strip absolute paths, API keys, tokens from reports and issues.
54
+ - **Ground findings in evidence:** Every anomaly must cite specific commits, files, or state data.
55
+ - **No speculation without evidence:** If data is insufficient, say so — do not fabricate root causes.
56
+ </critical_rules>