claude-cook 1.10.1

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 (112) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +607 -0
  3. package/agents/gsd-codebase-mapper.md +738 -0
  4. package/agents/gsd-debugger.md +1203 -0
  5. package/agents/gsd-executor.md +784 -0
  6. package/agents/gsd-integration-checker.md +423 -0
  7. package/agents/gsd-phase-researcher.md +641 -0
  8. package/agents/gsd-plan-checker.md +745 -0
  9. package/agents/gsd-planner.md +1386 -0
  10. package/agents/gsd-pm.md +331 -0
  11. package/agents/gsd-project-researcher.md +865 -0
  12. package/agents/gsd-research-synthesizer.md +256 -0
  13. package/agents/gsd-roadmapper.md +605 -0
  14. package/agents/gsd-verifier.md +778 -0
  15. package/bin/install.js +1477 -0
  16. package/commands/gsd/add-phase.md +207 -0
  17. package/commands/gsd/add-todo.md +193 -0
  18. package/commands/gsd/audit-milestone.md +277 -0
  19. package/commands/gsd/check-todos.md +228 -0
  20. package/commands/gsd/complete-milestone.md +136 -0
  21. package/commands/gsd/debug.md +169 -0
  22. package/commands/gsd/discuss-phase.md +86 -0
  23. package/commands/gsd/execute-phase.md +339 -0
  24. package/commands/gsd/help.md +545 -0
  25. package/commands/gsd/insert-phase.md +227 -0
  26. package/commands/gsd/join-discord.md +18 -0
  27. package/commands/gsd/list-phase-assumptions.md +50 -0
  28. package/commands/gsd/map-codebase.md +71 -0
  29. package/commands/gsd/new-milestone.md +721 -0
  30. package/commands/gsd/new-project.md +1008 -0
  31. package/commands/gsd/pause-work.md +134 -0
  32. package/commands/gsd/plan-milestone-gaps.md +295 -0
  33. package/commands/gsd/plan-phase.md +525 -0
  34. package/commands/gsd/pm-check.md +115 -0
  35. package/commands/gsd/pm-replan.md +102 -0
  36. package/commands/gsd/pm-start.md +218 -0
  37. package/commands/gsd/pm-status.md +116 -0
  38. package/commands/gsd/pm-stop.md +72 -0
  39. package/commands/gsd/progress.md +415 -0
  40. package/commands/gsd/quick.md +309 -0
  41. package/commands/gsd/remove-phase.md +349 -0
  42. package/commands/gsd/research-phase.md +200 -0
  43. package/commands/gsd/resume-work.md +40 -0
  44. package/commands/gsd/set-profile.md +106 -0
  45. package/commands/gsd/settings.md +151 -0
  46. package/commands/gsd/update.md +172 -0
  47. package/commands/gsd/verify-work.md +219 -0
  48. package/get-shit-done/references/checkpoints.md +1078 -0
  49. package/get-shit-done/references/continuation-format.md +249 -0
  50. package/get-shit-done/references/git-integration.md +254 -0
  51. package/get-shit-done/references/model-profiles.md +73 -0
  52. package/get-shit-done/references/planning-config.md +189 -0
  53. package/get-shit-done/references/questioning.md +141 -0
  54. package/get-shit-done/references/tdd.md +263 -0
  55. package/get-shit-done/references/ui-brand.md +172 -0
  56. package/get-shit-done/references/verification-patterns.md +612 -0
  57. package/get-shit-done/references/vibe-kanban.md +142 -0
  58. package/get-shit-done/templates/DEBUG.md +159 -0
  59. package/get-shit-done/templates/UAT.md +247 -0
  60. package/get-shit-done/templates/codebase/architecture.md +255 -0
  61. package/get-shit-done/templates/codebase/concerns.md +310 -0
  62. package/get-shit-done/templates/codebase/conventions.md +307 -0
  63. package/get-shit-done/templates/codebase/integrations.md +280 -0
  64. package/get-shit-done/templates/codebase/stack.md +186 -0
  65. package/get-shit-done/templates/codebase/structure.md +285 -0
  66. package/get-shit-done/templates/codebase/testing.md +480 -0
  67. package/get-shit-done/templates/config.json +35 -0
  68. package/get-shit-done/templates/context.md +283 -0
  69. package/get-shit-done/templates/continue-here.md +78 -0
  70. package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
  71. package/get-shit-done/templates/discovery.md +146 -0
  72. package/get-shit-done/templates/milestone-archive.md +123 -0
  73. package/get-shit-done/templates/milestone.md +115 -0
  74. package/get-shit-done/templates/phase-prompt.md +567 -0
  75. package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
  76. package/get-shit-done/templates/pm-config.md +55 -0
  77. package/get-shit-done/templates/pm-log.md +27 -0
  78. package/get-shit-done/templates/project.md +184 -0
  79. package/get-shit-done/templates/requirements.md +231 -0
  80. package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
  81. package/get-shit-done/templates/research-project/FEATURES.md +147 -0
  82. package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
  83. package/get-shit-done/templates/research-project/STACK.md +120 -0
  84. package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
  85. package/get-shit-done/templates/research.md +529 -0
  86. package/get-shit-done/templates/roadmap.md +202 -0
  87. package/get-shit-done/templates/state.md +205 -0
  88. package/get-shit-done/templates/summary.md +246 -0
  89. package/get-shit-done/templates/ticket-map.md +28 -0
  90. package/get-shit-done/templates/user-setup.md +311 -0
  91. package/get-shit-done/templates/verification-report.md +322 -0
  92. package/get-shit-done/workflows/complete-milestone.md +903 -0
  93. package/get-shit-done/workflows/diagnose-issues.md +231 -0
  94. package/get-shit-done/workflows/discovery-phase.md +289 -0
  95. package/get-shit-done/workflows/discuss-phase.md +433 -0
  96. package/get-shit-done/workflows/execute-phase.md +671 -0
  97. package/get-shit-done/workflows/execute-plan.md +1844 -0
  98. package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
  99. package/get-shit-done/workflows/map-codebase.md +322 -0
  100. package/get-shit-done/workflows/pm-check.md +210 -0
  101. package/get-shit-done/workflows/pm-dispatch.md +104 -0
  102. package/get-shit-done/workflows/pm-replan.md +203 -0
  103. package/get-shit-done/workflows/pm-sync.md +130 -0
  104. package/get-shit-done/workflows/resume-project.md +307 -0
  105. package/get-shit-done/workflows/transition.md +556 -0
  106. package/get-shit-done/workflows/verify-phase.md +628 -0
  107. package/get-shit-done/workflows/verify-work.md +596 -0
  108. package/hooks/dist/gsd-check-update.js +61 -0
  109. package/hooks/dist/gsd-statusline.js +87 -0
  110. package/package.json +47 -0
  111. package/scripts/build-hooks.js +42 -0
  112. package/scripts/pm-loop.sh +155 -0
@@ -0,0 +1,151 @@
1
+ ---
2
+ name: gsd:settings
3
+ description: Configure GSD workflow toggles and model profile
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - AskUserQuestion
8
+ ---
9
+
10
+ <objective>
11
+ Allow users to toggle workflow agents on/off and select model profile via interactive settings.
12
+
13
+ Updates `.planning/config.json` with workflow preferences and model profile selection.
14
+ </objective>
15
+
16
+ <process>
17
+
18
+ ## 1. Validate Environment
19
+
20
+ ```bash
21
+ ls .planning/config.json 2>/dev/null
22
+ ```
23
+
24
+ **If not found:** Error - run `/gsd:new-project` first.
25
+
26
+ ## 2. Read Current Config
27
+
28
+ ```bash
29
+ cat .planning/config.json
30
+ ```
31
+
32
+ Parse current values (default to `true` if not present):
33
+ - `workflow.research` — spawn researcher during plan-phase
34
+ - `workflow.plan_check` — spawn plan checker during plan-phase
35
+ - `workflow.verifier` — spawn verifier during execute-phase
36
+ - `model_profile` — which model each agent uses (default: `balanced`)
37
+ - `git.branching_strategy` — branching approach (default: `"none"`)
38
+
39
+ ## 3. Present Settings
40
+
41
+ Use AskUserQuestion with current values shown:
42
+
43
+ ```
44
+ AskUserQuestion([
45
+ {
46
+ question: "Which model profile for agents?",
47
+ header: "Model",
48
+ multiSelect: false,
49
+ options: [
50
+ { label: "Quality", description: "Opus everywhere except verification (highest cost)" },
51
+ { label: "Balanced (Recommended)", description: "Opus for planning, Sonnet for execution/verification" },
52
+ { label: "Budget", description: "Sonnet for writing, Haiku for research/verification (lowest cost)" }
53
+ ]
54
+ },
55
+ {
56
+ question: "Spawn Plan Researcher? (researches domain before planning)",
57
+ header: "Research",
58
+ multiSelect: false,
59
+ options: [
60
+ { label: "Yes", description: "Research phase goals before planning" },
61
+ { label: "No", description: "Skip research, plan directly" }
62
+ ]
63
+ },
64
+ {
65
+ question: "Spawn Plan Checker? (verifies plans before execution)",
66
+ header: "Plan Check",
67
+ multiSelect: false,
68
+ options: [
69
+ { label: "Yes", description: "Verify plans meet phase goals" },
70
+ { label: "No", description: "Skip plan verification" }
71
+ ]
72
+ },
73
+ {
74
+ question: "Spawn Execution Verifier? (verifies phase completion)",
75
+ header: "Verifier",
76
+ multiSelect: false,
77
+ options: [
78
+ { label: "Yes", description: "Verify must-haves after execution" },
79
+ { label: "No", description: "Skip post-execution verification" }
80
+ ]
81
+ },
82
+ {
83
+ question: "Git branching strategy?",
84
+ header: "Branching",
85
+ multiSelect: false,
86
+ options: [
87
+ { label: "None (Recommended)", description: "Commit directly to current branch" },
88
+ { label: "Per Phase", description: "Create branch for each phase (gsd/phase-{N}-{name})" },
89
+ { label: "Per Milestone", description: "Create branch for entire milestone (gsd/{version}-{name})" }
90
+ ]
91
+ }
92
+ ])
93
+ ```
94
+
95
+ **Pre-select based on current config values.**
96
+
97
+ ## 4. Update Config
98
+
99
+ Merge new settings into existing config.json:
100
+
101
+ ```json
102
+ {
103
+ ...existing_config,
104
+ "model_profile": "quality" | "balanced" | "budget",
105
+ "workflow": {
106
+ "research": true/false,
107
+ "plan_check": true/false,
108
+ "verifier": true/false
109
+ },
110
+ "git": {
111
+ "branching_strategy": "none" | "phase" | "milestone"
112
+ }
113
+ }
114
+ ```
115
+
116
+ Write updated config to `.planning/config.json`.
117
+
118
+ ## 5. Confirm Changes
119
+
120
+ Display:
121
+
122
+ ```
123
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
124
+ GSD ► SETTINGS UPDATED
125
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
126
+
127
+ | Setting | Value |
128
+ |----------------------|-------|
129
+ | Model Profile | {quality/balanced/budget} |
130
+ | Plan Researcher | {On/Off} |
131
+ | Plan Checker | {On/Off} |
132
+ | Execution Verifier | {On/Off} |
133
+ | Git Branching | {None/Per Phase/Per Milestone} |
134
+
135
+ These settings apply to future /gsd:plan-phase and /gsd:execute-phase runs.
136
+
137
+ Quick commands:
138
+ - /gsd:set-profile <profile> — switch model profile
139
+ - /gsd:plan-phase --research — force research
140
+ - /gsd:plan-phase --skip-research — skip research
141
+ - /gsd:plan-phase --skip-verify — skip plan check
142
+ ```
143
+
144
+ </process>
145
+
146
+ <success_criteria>
147
+ - [ ] Current config read
148
+ - [ ] User presented with 5 settings (profile + 3 workflow toggles + git branching)
149
+ - [ ] Config updated with model_profile, workflow, and git sections
150
+ - [ ] Changes confirmed to user
151
+ </success_criteria>
@@ -0,0 +1,172 @@
1
+ ---
2
+ name: gsd:update
3
+ description: Update GSD to latest version with changelog display
4
+ ---
5
+
6
+ <objective>
7
+ Check for GSD updates, install if available, and display what changed.
8
+
9
+ Provides a better update experience than raw `npx claude-cook` by showing version diff and changelog entries.
10
+ </objective>
11
+
12
+ <process>
13
+
14
+ <step name="get_installed_version">
15
+ Read installed version:
16
+
17
+ ```bash
18
+ cat ~/.claude/get-shit-done/VERSION 2>/dev/null
19
+ ```
20
+
21
+ **If VERSION file missing:**
22
+ ```
23
+ ## GSD Update
24
+
25
+ **Installed version:** Unknown
26
+
27
+ Your installation doesn't include version tracking.
28
+
29
+ Running fresh install...
30
+ ```
31
+
32
+ Proceed to install step (treat as version 0.0.0 for comparison).
33
+ </step>
34
+
35
+ <step name="check_latest_version">
36
+ Check npm for latest version:
37
+
38
+ ```bash
39
+ npm view claude-cook version 2>/dev/null
40
+ ```
41
+
42
+ **If npm check fails:**
43
+ ```
44
+ Couldn't check for updates (offline or npm unavailable).
45
+
46
+ To update manually: `npx claude-cook --global`
47
+ ```
48
+
49
+ STOP here if npm unavailable.
50
+ </step>
51
+
52
+ <step name="compare_versions">
53
+ Compare installed vs latest:
54
+
55
+ **If installed == latest:**
56
+ ```
57
+ ## GSD Update
58
+
59
+ **Installed:** X.Y.Z
60
+ **Latest:** X.Y.Z
61
+
62
+ You're already on the latest version.
63
+ ```
64
+
65
+ STOP here if already up to date.
66
+
67
+ **If installed > latest:**
68
+ ```
69
+ ## GSD Update
70
+
71
+ **Installed:** X.Y.Z
72
+ **Latest:** A.B.C
73
+
74
+ You're ahead of the latest release (development version?).
75
+ ```
76
+
77
+ STOP here if ahead.
78
+ </step>
79
+
80
+ <step name="show_changes_and_confirm">
81
+ **If update available**, fetch and show what's new BEFORE updating:
82
+
83
+ 1. Fetch changelog (same as fetch_changelog step)
84
+ 2. Extract entries between installed and latest versions
85
+ 3. Display preview and ask for confirmation:
86
+
87
+ ```
88
+ ## GSD Update Available
89
+
90
+ **Installed:** 1.5.10
91
+ **Latest:** 1.5.15
92
+
93
+ ### What's New
94
+ ────────────────────────────────────────────────────────────
95
+
96
+ ## [1.5.15] - 2026-01-20
97
+
98
+ ### Added
99
+ - Feature X
100
+
101
+ ## [1.5.14] - 2026-01-18
102
+
103
+ ### Fixed
104
+ - Bug fix Y
105
+
106
+ ────────────────────────────────────────────────────────────
107
+
108
+ ⚠️ **Note:** The installer performs a clean install of GSD folders:
109
+ - `~/.claude/commands/gsd/` will be wiped and replaced
110
+ - `~/.claude/get-shit-done/` will be wiped and replaced
111
+ - `~/.claude/agents/gsd-*` files will be replaced
112
+
113
+ Your custom files in other locations are preserved:
114
+ - Custom commands in `~/.claude/commands/your-stuff/` ✓
115
+ - Custom agents not prefixed with `gsd-` ✓
116
+ - Custom hooks ✓
117
+ - Your CLAUDE.md files ✓
118
+
119
+ If you've modified any GSD files directly, back them up first.
120
+ ```
121
+
122
+ Use AskUserQuestion:
123
+ - Question: "Proceed with update?"
124
+ - Options:
125
+ - "Yes, update now"
126
+ - "No, cancel"
127
+
128
+ **If user cancels:** STOP here.
129
+ </step>
130
+
131
+ <step name="run_update">
132
+ Run the update:
133
+
134
+ ```bash
135
+ npx claude-cook --global
136
+ ```
137
+
138
+ Capture output. If install fails, show error and STOP.
139
+
140
+ Clear the update cache so statusline indicator disappears:
141
+
142
+ ```bash
143
+ rm -f ~/.claude/cache/gsd-update-check.json
144
+ ```
145
+ </step>
146
+
147
+ <step name="display_result">
148
+ Format completion message (changelog was already shown in confirmation step):
149
+
150
+ ```
151
+ ╔═══════════════════════════════════════════════════════════╗
152
+ ║ GSD Updated: v1.5.10 → v1.5.15 ║
153
+ ╚═══════════════════════════════════════════════════════════╝
154
+
155
+ ⚠️ Restart Claude Code to pick up the new commands.
156
+
157
+ [View full changelog](https://github.com/glittercowboy/get-shit-done/blob/main/CHANGELOG.md)
158
+ ```
159
+ </step>
160
+
161
+ </process>
162
+
163
+ <success_criteria>
164
+ - [ ] Installed version read correctly
165
+ - [ ] Latest version checked via npm
166
+ - [ ] Update skipped if already current
167
+ - [ ] Changelog fetched and displayed BEFORE update
168
+ - [ ] Clean install warning shown
169
+ - [ ] User confirmation obtained
170
+ - [ ] Update executed successfully
171
+ - [ ] Restart reminder shown
172
+ </success_criteria>
@@ -0,0 +1,219 @@
1
+ ---
2
+ name: gsd:verify-work
3
+ description: Validate built features through conversational UAT
4
+ argument-hint: "[phase number, e.g., '4']"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Glob
9
+ - Grep
10
+ - Edit
11
+ - Write
12
+ - Task
13
+ ---
14
+
15
+ <objective>
16
+ Validate built features through conversational testing with persistent state.
17
+
18
+ Purpose: Confirm what Claude built actually works from user's perspective. One test at a time, plain text responses, no interrogation. When issues are found, automatically diagnose, plan fixes, and prepare for execution.
19
+
20
+ Output: {phase}-UAT.md tracking all test results. If issues found: diagnosed gaps, verified fix plans ready for /gsd:execute-phase
21
+ </objective>
22
+
23
+ <execution_context>
24
+ @~/.claude/get-shit-done/workflows/verify-work.md
25
+ @~/.claude/get-shit-done/templates/UAT.md
26
+ </execution_context>
27
+
28
+ <context>
29
+ Phase: $ARGUMENTS (optional)
30
+ - If provided: Test specific phase (e.g., "4")
31
+ - If not provided: Check for active sessions or prompt for phase
32
+
33
+ @.planning/STATE.md
34
+ @.planning/ROADMAP.md
35
+ </context>
36
+
37
+ <process>
38
+ 1. Check for active UAT sessions (resume or start new)
39
+ 2. Find SUMMARY.md files for the phase
40
+ 3. Extract testable deliverables (user-observable outcomes)
41
+ 4. Create {phase}-UAT.md with test list
42
+ 5. Present tests one at a time:
43
+ - Show expected behavior
44
+ - Wait for plain text response
45
+ - "yes/y/next" = pass, anything else = issue (severity inferred)
46
+ 6. Update UAT.md after each response
47
+ 7. On completion: commit, present summary
48
+ 8. If issues found:
49
+ - Spawn parallel debug agents to diagnose root causes
50
+ - Spawn gsd-planner in --gaps mode to create fix plans
51
+ - Spawn gsd-plan-checker to verify fix plans
52
+ - Iterate planner ↔ checker until plans pass (max 3)
53
+ - Present ready status with `/clear` then `/gsd:execute-phase`
54
+ </process>
55
+
56
+ <anti_patterns>
57
+ - Don't use AskUserQuestion for test responses — plain text conversation
58
+ - Don't ask severity — infer from description
59
+ - Don't present full checklist upfront — one test at a time
60
+ - Don't run automated tests — this is manual user validation
61
+ - Don't fix issues during testing — log as gaps, diagnose after all tests complete
62
+ </anti_patterns>
63
+
64
+ <offer_next>
65
+ Output this markdown directly (not as a code block). Route based on UAT results:
66
+
67
+ | Status | Route |
68
+ |--------|-------|
69
+ | All tests pass + more phases | Route A (next phase) |
70
+ | All tests pass + last phase | Route B (milestone complete) |
71
+ | Issues found + fix plans ready | Route C (execute fixes) |
72
+ | Issues found + planning blocked | Route D (manual intervention) |
73
+
74
+ ---
75
+
76
+ **Route A: All tests pass, more phases remain**
77
+
78
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
79
+ GSD ► PHASE {Z} VERIFIED ✓
80
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
81
+
82
+ **Phase {Z}: {Name}**
83
+
84
+ {N}/{N} tests passed
85
+ UAT complete ✓
86
+
87
+ ───────────────────────────────────────────────────────────────
88
+
89
+ ## ▶ Next Up
90
+
91
+ **Phase {Z+1}: {Name}** — {Goal from ROADMAP.md}
92
+
93
+ /gsd:discuss-phase {Z+1} — gather context and clarify approach
94
+
95
+ <sub>/clear first → fresh context window</sub>
96
+
97
+ ───────────────────────────────────────────────────────────────
98
+
99
+ **Also available:**
100
+ - /gsd:plan-phase {Z+1} — skip discussion, plan directly
101
+ - /gsd:execute-phase {Z+1} — skip to execution (if already planned)
102
+
103
+ ───────────────────────────────────────────────────────────────
104
+
105
+ ---
106
+
107
+ **Route B: All tests pass, milestone complete**
108
+
109
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
110
+ GSD ► PHASE {Z} VERIFIED ✓
111
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
112
+
113
+ **Phase {Z}: {Name}**
114
+
115
+ {N}/{N} tests passed
116
+ Final phase verified ✓
117
+
118
+ ───────────────────────────────────────────────────────────────
119
+
120
+ ## ▶ Next Up
121
+
122
+ **Audit milestone** — verify requirements, cross-phase integration, E2E flows
123
+
124
+ /gsd:audit-milestone
125
+
126
+ <sub>/clear first → fresh context window</sub>
127
+
128
+ ───────────────────────────────────────────────────────────────
129
+
130
+ **Also available:**
131
+ - /gsd:complete-milestone — skip audit, archive directly
132
+
133
+ ───────────────────────────────────────────────────────────────
134
+
135
+ ---
136
+
137
+ **Route C: Issues found, fix plans ready**
138
+
139
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
140
+ GSD ► PHASE {Z} ISSUES FOUND ⚠
141
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
142
+
143
+ **Phase {Z}: {Name}**
144
+
145
+ {N}/{M} tests passed
146
+ {X} issues diagnosed
147
+ Fix plans verified ✓
148
+
149
+ ### Issues Found
150
+
151
+ {List issues with severity from UAT.md}
152
+
153
+ ───────────────────────────────────────────────────────────────
154
+
155
+ ## ▶ Next Up
156
+
157
+ **Execute fix plans** — run diagnosed fixes
158
+
159
+ /gsd:execute-phase {Z} --gaps-only
160
+
161
+ <sub>/clear first → fresh context window</sub>
162
+
163
+ ───────────────────────────────────────────────────────────────
164
+
165
+ **Also available:**
166
+ - cat .planning/phases/{phase_dir}/*-PLAN.md — review fix plans
167
+ - /gsd:plan-phase {Z} --gaps — regenerate fix plans
168
+
169
+ ───────────────────────────────────────────────────────────────
170
+
171
+ ---
172
+
173
+ **Route D: Issues found, planning blocked**
174
+
175
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
176
+ GSD ► PHASE {Z} BLOCKED ✗
177
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
178
+
179
+ **Phase {Z}: {Name}**
180
+
181
+ {N}/{M} tests passed
182
+ Fix planning blocked after {X} iterations
183
+
184
+ ### Unresolved Issues
185
+
186
+ {List blocking issues from planner/checker output}
187
+
188
+ ───────────────────────────────────────────────────────────────
189
+
190
+ ## ▶ Next Up
191
+
192
+ **Manual intervention required**
193
+
194
+ Review the issues above and either:
195
+ 1. Provide guidance for fix planning
196
+ 2. Manually address blockers
197
+ 3. Accept current state and continue
198
+
199
+ ───────────────────────────────────────────────────────────────
200
+
201
+ **Options:**
202
+ - /gsd:plan-phase {Z} --gaps — retry fix planning with guidance
203
+ - /gsd:discuss-phase {Z} — gather more context before replanning
204
+
205
+ ───────────────────────────────────────────────────────────────
206
+ </offer_next>
207
+
208
+ <success_criteria>
209
+ - [ ] UAT.md created with tests from SUMMARY.md
210
+ - [ ] Tests presented one at a time with expected behavior
211
+ - [ ] Plain text responses (no structured forms)
212
+ - [ ] Severity inferred, never asked
213
+ - [ ] Batched writes: on issue, every 5 passes, or completion
214
+ - [ ] Committed on completion
215
+ - [ ] If issues: parallel debug agents diagnose root causes
216
+ - [ ] If issues: gsd-planner creates fix plans from diagnosed gaps
217
+ - [ ] If issues: gsd-plan-checker verifies fix plans (max 3 iterations)
218
+ - [ ] Ready for `/gsd:execute-phase` when complete
219
+ </success_criteria>