get-shit-done-cc 1.5.29 → 1.5.30

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.
@@ -143,9 +143,12 @@ Route by status (see `<offer_next>`).
143
143
  </process>
144
144
 
145
145
  <offer_next>
146
+ Output this markdown directly (not as a code block). Route based on status:
147
+
148
+ ---
149
+
146
150
  **If passed:**
147
151
 
148
- ```markdown
149
152
  ## ✓ Milestone {version} — Audit Passed
150
153
 
151
154
  **Score:** {N}/{M} requirements satisfied
@@ -153,22 +156,22 @@ Route by status (see `<offer_next>`).
153
156
 
154
157
  All requirements covered. Cross-phase integration verified. E2E flows complete.
155
158
 
156
- ---
159
+ ───────────────────────────────────────────────────────────────
157
160
 
158
161
  ## ▶ Next Up
159
162
 
160
163
  **Complete milestone** — archive and tag
161
164
 
162
- `/gsd:complete-milestone {version}`
165
+ /gsd:complete-milestone {version}
163
166
 
164
- <sub>`/clear` first → fresh context window</sub>
165
- ```
167
+ <sub>/clear first → fresh context window</sub>
168
+
169
+ ───────────────────────────────────────────────────────────────
166
170
 
167
171
  ---
168
172
 
169
173
  **If gaps_found:**
170
174
 
171
- ```markdown
172
175
  ## ⚠ Milestone {version} — Gaps Found
173
176
 
174
177
  **Score:** {N}/{M} requirements satisfied
@@ -190,28 +193,28 @@ All requirements covered. Cross-phase integration verified. E2E flows complete.
190
193
  {For each flow gap:}
191
194
  - **{flow name}:** breaks at {step}
192
195
 
193
- ---
196
+ ───────────────────────────────────────────────────────────────
194
197
 
195
198
  ## ▶ Next Up
196
199
 
197
200
  **Plan gap closure** — create phases to complete milestone
198
201
 
199
- `/gsd:plan-milestone-gaps`
202
+ /gsd:plan-milestone-gaps
200
203
 
201
- <sub>`/clear` first → fresh context window</sub>
204
+ <sub>/clear first → fresh context window</sub>
202
205
 
203
- ---
206
+ ───────────────────────────────────────────────────────────────
204
207
 
205
208
  **Also available:**
206
- - `cat .planning/v{version}-MILESTONE-AUDIT.md` — see full report
207
- - `/gsd:complete-milestone {version}` — proceed anyway (accept tech debt)
208
- ```
209
+ - cat .planning/v{version}-MILESTONE-AUDIT.md — see full report
210
+ - /gsd:complete-milestone {version} — proceed anyway (accept tech debt)
211
+
212
+ ───────────────────────────────────────────────────────────────
209
213
 
210
214
  ---
211
215
 
212
216
  **If tech_debt (no blockers but accumulated debt):**
213
217
 
214
- ```markdown
215
218
  ## ⚡ Milestone {version} — Tech Debt Review
216
219
 
217
220
  **Score:** {N}/{M} requirements satisfied
@@ -228,20 +231,21 @@ All requirements met. No critical blockers. Accumulated tech debt needs review.
228
231
 
229
232
  ### Total: {N} items across {M} phases
230
233
 
231
- ---
234
+ ───────────────────────────────────────────────────────────────
232
235
 
233
236
  ## ▶ Options
234
237
 
235
238
  **A. Complete milestone** — accept debt, track in backlog
236
239
 
237
- `/gsd:complete-milestone {version}`
240
+ /gsd:complete-milestone {version}
238
241
 
239
242
  **B. Plan cleanup phase** — address debt before completing
240
243
 
241
- `/gsd:plan-milestone-gaps`
244
+ /gsd:plan-milestone-gaps
242
245
 
243
- <sub>`/clear` first → fresh context window</sub>
244
- ```
246
+ <sub>/clear first → fresh context window</sub>
247
+
248
+ ───────────────────────────────────────────────────────────────
245
249
  </offer_next>
246
250
 
247
251
  <success_criteria>
@@ -109,14 +109,14 @@ Roadmap created:
109
109
 
110
110
  **Phase 1: [Name]** — [Goal from ROADMAP.md]
111
111
 
112
- `/gsd:plan-phase 1`
112
+ `/gsd:discuss-phase 1` — gather context and clarify approach
113
113
 
114
114
  <sub>`/clear` first → fresh context window</sub>
115
115
 
116
116
  ---
117
117
 
118
118
  **Also available:**
119
- - `/gsd:discuss-phase 1` — gather context first
119
+ - `/gsd:plan-phase 1` — skip discussion, plan directly
120
120
  - Review roadmap
121
121
 
122
122
  ---
@@ -105,9 +105,7 @@ Phase: $ARGUMENTS
105
105
  </process>
106
106
 
107
107
  <offer_next>
108
- **MANDATORY: Present copy/paste-ready next command.**
109
-
110
- After verification completes, route based on status:
108
+ Output this markdown directly (not as a code block). Route based on status:
111
109
 
112
110
  | Status | Route |
113
111
  |--------|-------|
@@ -120,7 +118,6 @@ After verification completes, route based on status:
120
118
 
121
119
  **Route A: Phase verified, more phases remain**
122
120
 
123
- ```
124
121
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
125
122
  GSD ► PHASE {Z} COMPLETE ✓
126
123
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -136,24 +133,22 @@ Goal verified ✓
136
133
 
137
134
  **Phase {Z+1}: {Name}** — {Goal from ROADMAP.md}
138
135
 
139
- `/gsd:plan-phase {Z+1}`
136
+ /gsd:discuss-phase {Z+1} — gather context and clarify approach
140
137
 
141
- <sub>`/clear` first → fresh context window</sub>
138
+ <sub>/clear first → fresh context window</sub>
142
139
 
143
140
  ───────────────────────────────────────────────────────────────
144
141
 
145
142
  **Also available:**
146
- - `/gsd:verify-work {Z}`manual acceptance testing before continuing
147
- - `/gsd:discuss-phase {Z+1}`gather context first
143
+ - /gsd:plan-phase {Z+1} — skip discussion, plan directly
144
+ - /gsd:verify-work {Z} — manual acceptance testing before continuing
148
145
 
149
146
  ───────────────────────────────────────────────────────────────
150
- ```
151
147
 
152
148
  ---
153
149
 
154
150
  **Route B: Phase verified, milestone complete**
155
151
 
156
- ```
157
152
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
158
153
  GSD ► MILESTONE COMPLETE 🎉
159
154
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -169,24 +164,22 @@ All phase goals verified ✓
169
164
 
170
165
  **Audit milestone** — verify requirements, cross-phase integration, E2E flows
171
166
 
172
- `/gsd:audit-milestone`
167
+ /gsd:audit-milestone
173
168
 
174
- <sub>`/clear` first → fresh context window</sub>
169
+ <sub>/clear first → fresh context window</sub>
175
170
 
176
171
  ───────────────────────────────────────────────────────────────
177
172
 
178
173
  **Also available:**
179
- - `/gsd:verify-work` — manual acceptance testing
180
- - `/gsd:complete-milestone` — skip audit, archive directly
174
+ - /gsd:verify-work — manual acceptance testing
175
+ - /gsd:complete-milestone — skip audit, archive directly
181
176
 
182
177
  ───────────────────────────────────────────────────────────────
183
- ```
184
178
 
185
179
  ---
186
180
 
187
181
  **Route C: Gaps found — need additional planning**
188
182
 
189
- ```
190
183
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
191
184
  GSD ► PHASE {Z} GAPS FOUND ⚠
192
185
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -194,7 +187,7 @@ All phase goals verified ✓
194
187
  **Phase {Z}: {Name}**
195
188
 
196
189
  Score: {N}/{M} must-haves verified
197
- Report: `.planning/phases/{phase_dir}/{phase}-VERIFICATION.md`
190
+ Report: .planning/phases/{phase_dir}/{phase}-VERIFICATION.md
198
191
 
199
192
  ### What's Missing
200
193
 
@@ -206,23 +199,24 @@ Report: `.planning/phases/{phase_dir}/{phase}-VERIFICATION.md`
206
199
 
207
200
  **Plan gap closure** — create additional plans to complete the phase
208
201
 
209
- `/gsd:plan-phase {Z} --gaps`
202
+ /gsd:plan-phase {Z} --gaps
210
203
 
211
- <sub>`/clear` first → fresh context window</sub>
204
+ <sub>/clear first → fresh context window</sub>
212
205
 
213
206
  ───────────────────────────────────────────────────────────────
214
207
 
215
208
  **Also available:**
216
- - `cat .planning/phases/{phase_dir}/{phase}-VERIFICATION.md` — see full report
217
- - `/gsd:verify-work {Z}` — manual testing before planning
209
+ - cat .planning/phases/{phase_dir}/{phase}-VERIFICATION.md — see full report
210
+ - /gsd:verify-work {Z} — manual testing before planning
218
211
 
219
212
  ───────────────────────────────────────────────────────────────
220
- ```
221
213
 
222
- After user runs `/gsd:plan-phase {Z} --gaps`:
214
+ ---
215
+
216
+ After user runs /gsd:plan-phase {Z} --gaps:
223
217
  1. Planner reads VERIFICATION.md gaps
224
218
  2. Creates plans 04, 05, etc. to close gaps
225
- 3. User runs `/gsd:execute-phase {Z}` again
219
+ 3. User runs /gsd:execute-phase {Z} again
226
220
  4. Execute-phase runs incomplete plans (04, 05...)
227
221
  5. Verifier runs again → loop until passed
228
222
  </offer_next>
@@ -842,10 +842,15 @@ Present completion with next steps:
842
842
 
843
843
  **Phase 1: [Phase Name]** — [Goal from ROADMAP.md]
844
844
 
845
- `/gsd:plan-phase 1`
845
+ `/gsd:discuss-phase 1` — gather context and clarify approach
846
846
 
847
847
  <sub>`/clear` first → fresh context window</sub>
848
848
 
849
+ ---
850
+
851
+ **Also available:**
852
+ - `/gsd:plan-phase 1` — skip discussion, plan directly
853
+
849
854
  ───────────────────────────────────────────────────────────────
850
855
  ```
851
856
 
@@ -887,7 +892,7 @@ Present completion with next steps:
887
892
  - [ ] STATE.md initialized
888
893
  - [ ] REQUIREMENTS.md traceability updated
889
894
  - [ ] Phase directories created → **committed**
890
- - [ ] User knows next step is `/gsd:plan-phase 1`
895
+ - [ ] User knows next step is `/gsd:discuss-phase 1`
891
896
 
892
897
  **Atomic commits:** Each phase commits its artifacts immediately. If context is lost, artifacts persist.
893
898
 
@@ -419,7 +419,13 @@ Wait for user response.
419
419
 
420
420
  ## 13. Present Final Status
421
421
 
422
- ```
422
+ Route to `<offer_next>`.
423
+
424
+ </process>
425
+
426
+ <offer_next>
427
+ Output this markdown directly (not as a code block):
428
+
423
429
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
424
430
  GSD ► PHASE {X} PLANNED ✓
425
431
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -440,20 +446,18 @@ Verification: {Passed | Passed with override | Skipped}
440
446
 
441
447
  **Execute Phase {X}** — run all {N} plans
442
448
 
443
- `/gsd:execute-phase {X}`
449
+ /gsd:execute-phase {X}
444
450
 
445
- <sub>`/clear` first → fresh context window</sub>
451
+ <sub>/clear first → fresh context window</sub>
446
452
 
447
453
  ───────────────────────────────────────────────────────────────
448
454
 
449
455
  **Also available:**
450
- - `cat .planning/phases/{phase-dir}/*-PLAN.md` — review plans
451
- - `/gsd:plan-phase {X} --research` — re-research first
456
+ - cat .planning/phases/{phase-dir}/*-PLAN.md — review plans
457
+ - /gsd:plan-phase {X} --research — re-research first
452
458
 
453
459
  ───────────────────────────────────────────────────────────────
454
- ```
455
-
456
- </process>
460
+ </offer_next>
457
461
 
458
462
  <success_criteria>
459
463
  - [ ] .planning/ directory validated
@@ -193,14 +193,14 @@ Check if `{phase}-CONTEXT.md` exists in phase directory.
193
193
 
194
194
  **Phase {N}: {Name}** — {Goal from ROADMAP.md}
195
195
 
196
- `/gsd:plan-phase {phase}`
196
+ `/gsd:discuss-phase {phase}` — gather context and clarify approach
197
197
 
198
198
  <sub>`/clear` first → fresh context window</sub>
199
199
 
200
200
  ---
201
201
 
202
202
  **Also available:**
203
- - `/gsd:discuss-phase {phase}` — gather context first
203
+ - `/gsd:plan-phase {phase}` — skip discussion, plan directly
204
204
  - `/gsd:list-phase-assumptions {phase}` — see Claude's assumptions
205
205
 
206
206
  ---
@@ -266,15 +266,15 @@ Read ROADMAP.md to get the next phase's name and goal.
266
266
 
267
267
  **Phase {Z+1}: {Name}** — {Goal from ROADMAP.md}
268
268
 
269
- `/gsd:plan-phase {Z+1}`
269
+ `/gsd:discuss-phase {Z+1}` — gather context and clarify approach
270
270
 
271
271
  <sub>`/clear` first → fresh context window</sub>
272
272
 
273
273
  ---
274
274
 
275
275
  **Also available:**
276
+ - `/gsd:plan-phase {Z+1}` — skip discussion, plan directly
276
277
  - `/gsd:verify-work {Z}` — user acceptance test before continuing
277
- - `/gsd:discuss-phase {Z+1}` — gather context first
278
278
 
279
279
  ---
280
280
  ```
@@ -9,14 +9,15 @@ allowed-tools:
9
9
  - Grep
10
10
  - Edit
11
11
  - Write
12
+ - Task
12
13
  ---
13
14
 
14
15
  <objective>
15
16
  Validate built features through conversational testing with persistent state.
16
17
 
17
- Purpose: Confirm what Claude built actually works from user's perspective. One test at a time, plain text responses, no interrogation.
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.
18
19
 
19
- Output: {phase}-UAT.md tracking all test results, gaps logged for /gsd:plan-phase --gaps
20
+ Output: {phase}-UAT.md tracking all test results. If issues found: diagnosed gaps, verified fix plans ready for /gsd:execute-phase
20
21
  </objective>
21
22
 
22
23
  <execution_context>
@@ -43,7 +44,13 @@ Phase: $ARGUMENTS (optional)
43
44
  - Wait for plain text response
44
45
  - "yes/y/next" = pass, anything else = issue (severity inferred)
45
46
  6. Update UAT.md after each response
46
- 7. On completion: commit, present summary, offer next steps
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`
47
54
  </process>
48
55
 
49
56
  <anti_patterns>
@@ -51,7 +58,7 @@ Phase: $ARGUMENTS (optional)
51
58
  - Don't ask severity — infer from description
52
59
  - Don't present full checklist upfront — one test at a time
53
60
  - Don't run automated tests — this is manual user validation
54
- - Don't fix issues during testing — log as gaps for /gsd:plan-phase --gaps
61
+ - Don't fix issues during testing — log as gaps, diagnose after all tests complete
55
62
  </anti_patterns>
56
63
 
57
64
  <success_criteria>
@@ -61,5 +68,8 @@ Phase: $ARGUMENTS (optional)
61
68
  - [ ] Severity inferred, never asked
62
69
  - [ ] Batched writes: on issue, every 5 passes, or completion
63
70
  - [ ] Committed on completion
64
- - [ ] Clear next steps based on results
71
+ - [ ] If issues: parallel debug agents diagnose root causes
72
+ - [ ] If issues: gsd-planner creates fix plans from diagnosed gaps
73
+ - [ ] If issues: gsd-plan-checker verifies fix plans (max 3 iterations)
74
+ - [ ] Ready for `/gsd:execute-phase` when complete
65
75
  </success_criteria>
@@ -577,14 +577,14 @@ Project initialized:
577
577
 
578
578
  **Phase 1: [Name]** — [Goal from ROADMAP.md]
579
579
 
580
- `/gsd:plan-phase 1`
580
+ `/gsd:discuss-phase 1` — gather context and clarify approach
581
581
 
582
582
  <sub>`/clear` first → fresh context window</sub>
583
583
 
584
584
  ---
585
585
 
586
586
  **Also available:**
587
- - `/gsd:discuss-phase 1` — gather context first
587
+ - `/gsd:plan-phase 1` — skip discussion, plan directly
588
588
  - Review roadmap
589
589
 
590
590
  ---
@@ -164,10 +164,13 @@ git commit -m "docs({phase}): add root causes from diagnosis"
164
164
  </step>
165
165
 
166
166
  <step name="report_results">
167
- **Report diagnosis results:**
167
+ **Report diagnosis results and hand off:**
168
168
 
169
+ Display:
169
170
  ```
170
- ## Diagnosis Complete
171
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
172
+ GSD ► DIAGNOSIS COMPLETE
173
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
171
174
 
172
175
  | Gap (Truth) | Root Cause | Files |
173
176
  |-------------|------------|-------|
@@ -175,26 +178,13 @@ git commit -m "docs({phase}): add root causes from diagnosis"
175
178
  | Reply button positioned correctly | CSS flex order incorrect | ReplyButton.tsx |
176
179
  | Delete removes comment | API missing auth header | api/comments.ts |
177
180
 
178
- Debug sessions saved to ${DEBUG_DIR}/
181
+ Debug sessions: ${DEBUG_DIR}/
179
182
 
180
- ---
181
-
182
- Next steps:
183
- - `/gsd:plan-phase {phase} --gaps` — Create fix plans from diagnosed gaps
184
- - Review debug sessions for details
183
+ Proceeding to plan fixes...
185
184
  ```
186
- </step>
187
185
 
188
- <step name="offer_next">
189
- **Offer gap closure:**
190
-
191
- ```
192
- Root causes identified. Ready to plan fixes?
193
-
194
- `/gsd:plan-phase {phase} --gaps`
195
-
196
- The fix plans will use diagnosed root causes for targeted fixes.
197
- ```
186
+ Return to verify-work orchestrator for automatic planning.
187
+ Do NOT offer manual next steps - verify-work handles the rest.
198
188
  </step>
199
189
 
200
190
  </process>
@@ -239,5 +229,5 @@ The fix plans will use diagnosed root causes for targeted fixes.
239
229
  - [ ] Root causes collected from all agents
240
230
  - [ ] UAT.md gaps updated with artifacts and missing
241
231
  - [ ] Debug sessions saved to ${DEBUG_DIR}/
242
- - [ ] User knows next steps (plan-phase --gaps)
232
+ - [ ] Hand off to verify-work for automatic planning
243
233
  </success_criteria>
@@ -334,28 +334,180 @@ Spawning parallel debug agents to investigate each issue.
334
334
  - Spawn parallel debug agents for each issue
335
335
  - Collect root causes
336
336
  - Update UAT.md with root causes
337
- - Proceed to `offer_gap_closure`
337
+ - Proceed to `plan_gap_closure`
338
338
 
339
339
  Diagnosis runs automatically - no user prompt. Parallel agents investigate simultaneously, so overhead is minimal and fixes are more accurate.
340
340
  </step>
341
341
 
342
- <step name="offer_gap_closure">
343
- **Offer next steps after diagnosis:**
342
+ <step name="plan_gap_closure">
343
+ **Auto-plan fixes from diagnosed gaps:**
344
344
 
345
+ Display:
346
+ ```
347
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
348
+ GSD ► PLANNING FIXES
349
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
350
+
351
+ ◆ Spawning planner for gap closure...
345
352
  ```
346
- ---
347
353
 
348
- ## Diagnosis Complete
354
+ Spawn gsd-planner in --gaps mode:
349
355
 
350
- | Gap | Root Cause |
351
- |-----|------------|
352
- | {truth 1} | {root_cause} |
353
- | {truth 2} | {root_cause} |
354
- ...
356
+ ```
357
+ Task(
358
+ prompt="""
359
+ <planning_context>
360
+
361
+ **Phase:** {phase_number}
362
+ **Mode:** gap_closure
363
+
364
+ **UAT with diagnoses:**
365
+ @.planning/phases/{phase_dir}/{phase}-UAT.md
366
+
367
+ **Project State:**
368
+ @.planning/STATE.md
369
+
370
+ **Roadmap:**
371
+ @.planning/ROADMAP.md
372
+
373
+ </planning_context>
374
+
375
+ <downstream_consumer>
376
+ Output consumed by /gsd:execute-phase
377
+ Plans must be executable prompts.
378
+ </downstream_consumer>
379
+ """,
380
+ subagent_type="gsd-planner",
381
+ description="Plan gap fixes for Phase {phase}"
382
+ )
383
+ ```
384
+
385
+ On return:
386
+ - **PLANNING COMPLETE:** Proceed to `verify_gap_plans`
387
+ - **PLANNING INCONCLUSIVE:** Report and offer manual intervention
388
+ </step>
389
+
390
+ <step name="verify_gap_plans">
391
+ **Verify fix plans with checker:**
392
+
393
+ Display:
394
+ ```
395
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
396
+ GSD ► VERIFYING FIX PLANS
397
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
398
+
399
+ ◆ Spawning plan checker...
400
+ ```
401
+
402
+ Initialize: `iteration_count = 1`
403
+
404
+ Spawn gsd-plan-checker:
405
+
406
+ ```
407
+ Task(
408
+ prompt="""
409
+ <verification_context>
410
+
411
+ **Phase:** {phase_number}
412
+ **Phase Goal:** Close diagnosed gaps from UAT
413
+
414
+ **Plans to verify:**
415
+ @.planning/phases/{phase_dir}/*-PLAN.md
416
+
417
+ </verification_context>
418
+
419
+ <expected_output>
420
+ Return one of:
421
+ - ## VERIFICATION PASSED — all checks pass
422
+ - ## ISSUES FOUND — structured issue list
423
+ </expected_output>
424
+ """,
425
+ subagent_type="gsd-plan-checker",
426
+ description="Verify Phase {phase} fix plans"
427
+ )
428
+ ```
429
+
430
+ On return:
431
+ - **VERIFICATION PASSED:** Proceed to `present_ready`
432
+ - **ISSUES FOUND:** Proceed to `revision_loop`
433
+ </step>
434
+
435
+ <step name="revision_loop">
436
+ **Iterate planner ↔ checker until plans pass (max 3):**
437
+
438
+ **If iteration_count < 3:**
439
+
440
+ Display: `Sending back to planner for revision... (iteration {N}/3)`
441
+
442
+ Spawn gsd-planner with revision context:
443
+
444
+ ```
445
+ Task(
446
+ prompt="""
447
+ <revision_context>
448
+
449
+ **Phase:** {phase_number}
450
+ **Mode:** revision
451
+
452
+ **Existing plans:**
453
+ @.planning/phases/{phase_dir}/*-PLAN.md
454
+
455
+ **Checker issues:**
456
+ {structured_issues_from_checker}
457
+
458
+ </revision_context>
459
+
460
+ <instructions>
461
+ Read existing PLAN.md files. Make targeted updates to address checker issues.
462
+ Do NOT replan from scratch unless issues are fundamental.
463
+ </instructions>
464
+ """,
465
+ subagent_type="gsd-planner",
466
+ description="Revise Phase {phase} plans"
467
+ )
468
+ ```
469
+
470
+ After planner returns → spawn checker again (verify_gap_plans logic)
471
+ Increment iteration_count
472
+
473
+ **If iteration_count >= 3:**
474
+
475
+ Display: `Max iterations reached. {N} issues remain.`
476
+
477
+ Offer options:
478
+ 1. Force proceed (execute despite issues)
479
+ 2. Provide guidance (user gives direction, retry)
480
+ 3. Abandon (exit, user runs /gsd:plan-phase manually)
481
+
482
+ Wait for user response.
483
+ </step>
484
+
485
+ <step name="present_ready">
486
+ **Present completion and next steps:**
487
+
488
+ ```
489
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
490
+ GSD ► FIXES READY ✓
491
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
492
+
493
+ **Phase {X}: {Name}** — {N} gap(s) diagnosed, {M} fix plan(s) created
494
+
495
+ | Gap | Root Cause | Fix Plan |
496
+ |-----|------------|----------|
497
+ | {truth 1} | {root_cause} | {phase}-04 |
498
+ | {truth 2} | {root_cause} | {phase}-04 |
499
+
500
+ Plans verified and ready for execution.
501
+
502
+ ───────────────────────────────────────────────────────────────
503
+
504
+ ## ▶ Next Up
505
+
506
+ **Execute fixes** — run fix plans
507
+
508
+ `/clear` then `/gsd:execute-phase {phase}`
355
509
 
356
- Next steps:
357
- - `/gsd:plan-phase {phase} --gaps` — Create fix plans from diagnosed gaps
358
- - `/gsd:verify-work {phase}` — Re-test after fixes
510
+ ───────────────────────────────────────────────────────────────
359
511
  ```
360
512
  </step>
361
513
 
@@ -403,5 +555,9 @@ Default to **major** if unclear. User can correct if needed.
403
555
  - [ ] Severity inferred from description (never asked)
404
556
  - [ ] Batched writes: on issue, every 5 passes, or completion
405
557
  - [ ] Committed on completion
406
- - [ ] Clear next steps based on results (plan-phase --gaps if issues)
558
+ - [ ] If issues: parallel debug agents diagnose root causes
559
+ - [ ] If issues: gsd-planner creates fix plans (gap_closure mode)
560
+ - [ ] If issues: gsd-plan-checker verifies fix plans
561
+ - [ ] If issues: revision loop until plans pass (max 3 iterations)
562
+ - [ ] Ready for `/gsd:execute-phase` when complete
407
563
  </success_criteria>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-shit-done-cc",
3
- "version": "1.5.29",
3
+ "version": "1.5.30",
4
4
  "description": "A meta-prompting, context engineering and spec-driven development system for Claude Code by TÂCHES.",
5
5
  "bin": {
6
6
  "get-shit-done-cc": "bin/install.js"