gsd-opencode 1.5.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 (108) hide show
  1. package/agents/gsd-codebase-mapper.md +743 -0
  2. package/agents/gsd-debugger.md +1191 -0
  3. package/agents/gsd-executor.md +759 -0
  4. package/agents/gsd-integration-checker.md +427 -0
  5. package/agents/gsd-phase-researcher.md +637 -0
  6. package/agents/gsd-plan-checker.md +749 -0
  7. package/agents/gsd-planner.md +1373 -0
  8. package/agents/gsd-project-researcher.md +877 -0
  9. package/agents/gsd-research-synthesizer.md +250 -0
  10. package/agents/gsd-roadmapper.md +610 -0
  11. package/agents/gsd-verifier.md +782 -0
  12. package/bin/install.js +11 -1
  13. package/command/gsd/add-phase.md +5 -7
  14. package/command/gsd/add-todo.md +4 -6
  15. package/command/gsd/audit-milestone.md +257 -0
  16. package/command/gsd/check-todos.md +2 -4
  17. package/command/gsd/complete-milestone.md +53 -23
  18. package/command/gsd/debug.md +120 -30
  19. package/command/gsd/discuss-phase.md +51 -30
  20. package/command/gsd/execute-phase.md +192 -26
  21. package/command/gsd/help.md +66 -75
  22. package/command/gsd/insert-phase.md +6 -6
  23. package/command/gsd/list-phase-assumptions.md +1 -1
  24. package/command/gsd/map-codebase.md +15 -28
  25. package/command/gsd/new-milestone.md +693 -36
  26. package/command/gsd/new-project.md +668 -108
  27. package/command/gsd/pause-work.md +2 -2
  28. package/command/gsd/plan-milestone-gaps.md +284 -0
  29. package/command/gsd/plan-phase.md +449 -42
  30. package/command/gsd/progress.md +66 -36
  31. package/command/gsd/remove-phase.md +17 -19
  32. package/command/gsd/research-phase.md +155 -67
  33. package/command/gsd/resume-work.md +3 -3
  34. package/command/gsd/update.md +172 -0
  35. package/command/gsd/verify-work.md +186 -38
  36. package/command/gsd/whats-new.md +124 -0
  37. package/get-shit-done/references/checkpoints.md +599 -98
  38. package/get-shit-done/references/continuation-format.md +5 -11
  39. package/get-shit-done/references/questioning.md +87 -108
  40. package/get-shit-done/references/tdd.md +3 -3
  41. package/get-shit-done/references/ui-brand.md +160 -0
  42. package/get-shit-done/references/verification-patterns.md +595 -0
  43. package/get-shit-done/templates/DEBUG.md +3 -3
  44. package/get-shit-done/templates/UAT.md +247 -0
  45. package/get-shit-done/templates/codebase/architecture.md +5 -5
  46. package/get-shit-done/templates/codebase/concerns.md +1 -1
  47. package/get-shit-done/templates/codebase/conventions.md +1 -1
  48. package/get-shit-done/templates/codebase/structure.md +8 -8
  49. package/get-shit-done/templates/codebase/testing.md +2 -2
  50. package/get-shit-done/templates/context.md +221 -70
  51. package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
  52. package/get-shit-done/templates/discovery.md +5 -5
  53. package/get-shit-done/templates/phase-prompt.md +115 -2
  54. package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
  55. package/get-shit-done/templates/requirements.md +231 -0
  56. package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
  57. package/get-shit-done/templates/research-project/FEATURES.md +147 -0
  58. package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
  59. package/get-shit-done/templates/research-project/STACK.md +120 -0
  60. package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
  61. package/get-shit-done/templates/research.md +2 -2
  62. package/get-shit-done/templates/roadmap.md +26 -20
  63. package/get-shit-done/templates/state.md +2 -17
  64. package/get-shit-done/templates/summary.md +13 -17
  65. package/get-shit-done/templates/user-setup.md +323 -0
  66. package/get-shit-done/templates/verification-report.md +322 -0
  67. package/get-shit-done/workflows/complete-milestone.md +152 -45
  68. package/get-shit-done/workflows/diagnose-issues.md +233 -0
  69. package/get-shit-done/workflows/discovery-phase.md +12 -17
  70. package/get-shit-done/workflows/discuss-phase.md +309 -124
  71. package/get-shit-done/workflows/execute-phase.md +177 -18
  72. package/get-shit-done/workflows/execute-plan.md +163 -145
  73. package/get-shit-done/workflows/map-codebase.md +86 -231
  74. package/get-shit-done/workflows/resume-project.md +18 -20
  75. package/get-shit-done/workflows/transition.md +7 -23
  76. package/get-shit-done/workflows/verify-phase.md +629 -0
  77. package/get-shit-done/workflows/verify-work.md +495 -134
  78. package/package.json +2 -1
  79. package/command/gsd/consider-issues.md +0 -201
  80. package/command/gsd/create-roadmap.md +0 -115
  81. package/command/gsd/discuss-milestone.md +0 -47
  82. package/command/gsd/execute-plan.md +0 -103
  83. package/command/gsd/plan-fix.md +0 -205
  84. package/command/gsd/status.md +0 -127
  85. package/get-shit-done/references/debugging/debugging-mindset.md +0 -253
  86. package/get-shit-done/references/debugging/hypothesis-testing.md +0 -373
  87. package/get-shit-done/references/debugging/investigation-techniques.md +0 -337
  88. package/get-shit-done/references/debugging/verification-patterns.md +0 -425
  89. package/get-shit-done/references/debugging/when-to-research.md +0 -361
  90. package/get-shit-done/references/plan-format.md +0 -475
  91. package/get-shit-done/references/principles.md +0 -157
  92. package/get-shit-done/references/research-pitfalls.md +0 -215
  93. package/get-shit-done/references/scope-estimation.md +0 -256
  94. package/get-shit-done/templates/agent-history.md +0 -263
  95. package/get-shit-done/templates/checkpoint-return.md +0 -204
  96. package/get-shit-done/templates/config.json +0 -26
  97. package/get-shit-done/templates/continuation-prompt.md +0 -235
  98. package/get-shit-done/templates/issues.md +0 -32
  99. package/get-shit-done/templates/milestone-context.md +0 -93
  100. package/get-shit-done/templates/subagent-task-prompt.md +0 -95
  101. package/get-shit-done/templates/uat-issues.md +0 -143
  102. package/get-shit-done/workflows/_archive/execute-phase.md +0 -899
  103. package/get-shit-done/workflows/create-milestone.md +0 -416
  104. package/get-shit-done/workflows/create-roadmap.md +0 -481
  105. package/get-shit-done/workflows/debug.md +0 -426
  106. package/get-shit-done/workflows/discuss-milestone.md +0 -236
  107. package/get-shit-done/workflows/plan-phase.md +0 -701
  108. package/get-shit-done/workflows/research-phase.md +0 -436
@@ -1,67 +1,474 @@
1
1
  ---
2
2
  name: gsd-plan-phase
3
- description: Create detailed execution plan for a phase (PLAN.md)
4
- argument-hint: "[phase]"
5
- allowed-tools:
3
+ description: Create detailed execution plan for a phase (PLAN.md) with verification loop
4
+ argument-hint: "[phase] [--research] [--skip-research] [--gaps] [--skip-verify]"
5
+ agent: gsd-planner
6
+ tools:
6
7
  - read
7
- - bash
8
8
  - write
9
+ - bash
9
10
  - glob
10
11
  - grep
11
- - question
12
12
  - webfetch
13
- - mcp__context7__*
13
+ - (optional MCP tool)
14
14
  ---
15
15
 
16
+ <execution_context>
17
+ @~/.config/opencode/get-shit-done/references/ui-brand.md
18
+ </execution_context>
19
+
16
20
  <objective>
17
- Create executable phase prompt with discovery, context injection, and task breakdown.
21
+ Create executable phase prompts (PLAN.md files) for a roadmap phase with integrated research and verification.
18
22
 
19
- Purpose: Break down roadmap phases into concrete, executable PLAN.md files that OpenCode can execute.
20
- Output: One or more PLAN.md files in the phase directory (.planning/phases/XX-name/{phase}-{plan}-PLAN.md)
21
- </objective>
23
+ **Default flow:** Research (if needed) Plan Verify Done
22
24
 
23
- <execution_context>
24
- @~/.config/opencode/get-shit-done/workflows/plan-phase.md
25
- @~/.config/opencode/get-shit-done/templates/phase-prompt.md
26
- @~/.config/opencode/get-shit-done/references/plan-format.md
27
- @~/.config/opencode/get-shit-done/references/scope-estimation.md
28
- @~/.config/opencode/get-shit-done/references/checkpoints.md
29
- @~/.config/opencode/get-shit-done/references/tdd.md
30
- </execution_context>
25
+ **Orchestrator role:** Parse arguments, validate phase, research domain (unless skipped or exists), spawn gsd-planner agent, verify plans with gsd-plan-checker, iterate until plans pass or max iterations reached, present results.
26
+
27
+ **Why subagents:** Research and planning burn context fast. Verification uses fresh context. User sees the flow between agents in main context.
28
+ </objective>
31
29
 
32
30
  <context>
33
31
  Phase number: $ARGUMENTS (optional - auto-detects next unplanned phase if not provided)
34
32
 
35
- **Load project state first:**
33
+ **Flags:**
34
+ - `--research` — Force re-research even if RESEARCH.md exists
35
+ - `--skip-research` — Skip research entirely, go straight to planning
36
+ - `--gaps` — Gap closure mode (reads VERIFICATION.md, skips research)
37
+ - `--skip-verify` — Skip planner → checker verification loop
38
+
39
+ Normalize phase input in step 2 before any directory lookups.
40
+ </context>
41
+
42
+ <process>
43
+
44
+ ## 1. Validate Environment
45
+
46
+ ```bash
47
+ ls .planning/ 2>/dev/null
48
+ ```
49
+
50
+ **If not found:** Error - user should run `/gsd-new-project` first.
51
+
52
+ ## 2. Parse and Normalize Arguments
53
+
54
+ Extract from $ARGUMENTS:
55
+
56
+ - Phase number (integer or decimal like `2.1`)
57
+ - `--research` flag to force re-research
58
+ - `--skip-research` flag to skip research
59
+ - `--gaps` flag for gap closure mode
60
+ - `--skip-verify` flag to bypass verification loop
61
+
62
+ **If no phase number:** Detect next unplanned phase from roadmap.
63
+
64
+ **Normalize phase to zero-padded format:**
65
+
66
+ ```bash
67
+ # Normalize phase number (8 → 08, but preserve decimals like 2.1 → 02.1)
68
+ if [[ "$PHASE" =~ ^[0-9]+$ ]]; then
69
+ PHASE=$(printf "%02d" "$PHASE")
70
+ elif [[ "$PHASE" =~ ^([0-9]+)\.([0-9]+)$ ]]; then
71
+ PHASE=$(printf "%02d.%s" "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}")
72
+ fi
73
+ ```
74
+
75
+ **Check for existing research and plans:**
76
+
77
+ ```bash
78
+ ls .planning/phases/${PHASE}-*/*-RESEARCH.md 2>/dev/null
79
+ ls .planning/phases/${PHASE}-*/*-PLAN.md 2>/dev/null
80
+ ```
81
+
82
+ ## 3. Validate Phase
83
+
84
+ ```bash
85
+ grep -A5 "Phase ${PHASE}:" .planning/ROADMAP.md 2>/dev/null
86
+ ```
87
+
88
+ **If not found:** Error with available phases. **If found:** Extract phase number, name, description.
89
+
90
+ ## 4. Ensure Phase Directory Exists
91
+
92
+ ```bash
93
+ # PHASE is already normalized (08, 02.1, etc.) from step 2
94
+ PHASE_DIR=$(ls -d .planning/phases/${PHASE}-* 2>/dev/null | head -1)
95
+ if [ -z "$PHASE_DIR" ]; then
96
+ # Create phase directory from roadmap name
97
+ PHASE_NAME=$(grep "Phase ${PHASE}:" .planning/ROADMAP.md | sed 's/.*Phase [0-9]*: //' | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
98
+ mkdir -p ".planning/phases/${PHASE}-${PHASE_NAME}"
99
+ PHASE_DIR=".planning/phases/${PHASE}-${PHASE_NAME}"
100
+ fi
101
+ ```
102
+
103
+ ## 5. Handle Research
104
+
105
+ **If `--gaps` flag:** Skip research (gap closure uses VERIFICATION.md instead).
106
+
107
+ **If `--skip-research` flag:** Skip to step 6.
108
+
109
+ **Otherwise:**
110
+
111
+ Check for existing research:
112
+
113
+ ```bash
114
+ ls "${PHASE_DIR}"/*-RESEARCH.md 2>/dev/null
115
+ ```
116
+
117
+ **If RESEARCH.md exists AND `--research` flag NOT set:**
118
+ - Display: `Using existing research: ${PHASE_DIR}/${PHASE}-RESEARCH.md`
119
+ - Skip to step 6
120
+
121
+ **If RESEARCH.md missing OR `--research` flag set:**
122
+
123
+ Display stage banner:
124
+ ```
125
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
126
+ GSD ► RESEARCHING PHASE {X}
127
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
128
+
129
+ ◆ Spawning researcher...
130
+ ```
131
+
132
+ Proceed to spawn researcher
133
+
134
+ ### Spawn gsd-phase-researcher
135
+
136
+ Gather context for research prompt:
137
+
138
+ ```bash
139
+ # Get phase description from roadmap
140
+ PHASE_DESC=$(grep -A3 "Phase ${PHASE}:" .planning/ROADMAP.md)
141
+
142
+ # Get requirements if they exist
143
+ REQUIREMENTS=$(cat .planning/REQUIREMENTS.md 2>/dev/null | grep -A100 "## Requirements" | head -50)
144
+
145
+ # Get prior decisions from STATE.md
146
+ DECISIONS=$(grep -A20 "### Decisions Made" .planning/STATE.md 2>/dev/null)
147
+
148
+ # Get phase context if exists
149
+ PHASE_CONTEXT=$(cat "${PHASE_DIR}/${PHASE}-CONTEXT.md" 2>/dev/null)
150
+ ```
151
+
152
+ Fill research prompt and spawn:
153
+
154
+ ```markdown
155
+ <objective>
156
+ Research how to implement Phase {phase_number}: {phase_name}
157
+
158
+ Answer: "What do I need to know to PLAN this phase well?"
159
+ </objective>
160
+
161
+ <context>
162
+ **Phase description:**
163
+ {phase_description}
164
+
165
+ **Requirements (if any):**
166
+ {requirements}
167
+
168
+ **Prior decisions:**
169
+ {decisions}
170
+
171
+ **Phase context (if any):**
172
+ {phase_context}
173
+ </context>
174
+
175
+ <output>
176
+ write research findings to: {phase_dir}/{phase}-RESEARCH.md
177
+ </output>
178
+ ```
179
+
180
+ ```
181
+ Task(
182
+ prompt=research_prompt,
183
+ subagent_type="gsd-phase-researcher",
184
+ description="Research Phase {phase}"
185
+ )
186
+ ```
187
+
188
+ ### Handle Researcher Return
189
+
190
+ **`## RESEARCH COMPLETE`:**
191
+ - Display: `Research complete. Proceeding to planning...`
192
+ - Continue to step 6
193
+
194
+ **`## RESEARCH BLOCKED`:**
195
+ - Display blocker information
196
+ - Offer: 1) Provide more context, 2) Skip research and plan anyway, 3) Abort
197
+ - Wait for user response
198
+
199
+ ## 6. Check Existing Plans
200
+
201
+ ```bash
202
+ ls "${PHASE_DIR}"/*-PLAN.md 2>/dev/null
203
+ ```
204
+
205
+ **If exists:** Offer: 1) Continue planning (add more plans), 2) View existing, 3) Replan from scratch. Wait for response.
206
+
207
+ ## 7. Gather Context Paths
208
+
209
+ Identify context files for the planner agent:
210
+
211
+ ```bash
212
+ # Required
213
+ STATE=.planning/STATE.md
214
+ ROADMAP=.planning/ROADMAP.md
215
+ REQUIREMENTS=.planning/REQUIREMENTS.md
216
+
217
+ # Optional (created by earlier steps or commands)
218
+ CONTEXT="${PHASE_DIR}/${PHASE}-CONTEXT.md"
219
+ RESEARCH="${PHASE_DIR}/${PHASE}-RESEARCH.md"
220
+ VERIFICATION="${PHASE_DIR}/${PHASE}-VERIFICATION.md"
221
+ UAT="${PHASE_DIR}/${PHASE}-UAT.md"
222
+ ```
223
+
224
+ ## 8. Spawn gsd-planner Agent
225
+
226
+ Display stage banner:
227
+ ```
228
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
229
+ GSD ► PLANNING PHASE {X}
230
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
231
+
232
+ ◆ Spawning planner...
233
+ ```
234
+
235
+ Fill prompt and spawn:
236
+
237
+ ```markdown
238
+ <planning_context>
239
+
240
+ **Phase:** {phase_number}
241
+ **Mode:** {standard | gap_closure}
242
+
243
+ **Project State:**
36
244
  @.planning/STATE.md
37
245
 
38
- **Load roadmap:**
246
+ **Roadmap:**
39
247
  @.planning/ROADMAP.md
40
248
 
41
- **Load phase context if exists (created by /gsd-discuss-phase):**
42
- Check for and read `.planning/phases/XX-name/{phase}-CONTEXT.md` - contains research findings, clarifications, and decisions from phase discussion.
249
+ **Requirements (if exists):**
250
+ @.planning/REQUIREMENTS.md
43
251
 
44
- **Load codebase context if exists:**
45
- Check for `.planning/codebase/` and load relevant documents based on phase type.
46
- </context>
252
+ **Phase Context (if exists):**
253
+ @.planning/phases/{phase_dir}/{phase}-CONTEXT.md
254
+
255
+ **Research (if exists):**
256
+ @.planning/phases/{phase_dir}/{phase}-RESEARCH.md
257
+
258
+ **Gap Closure (if --gaps mode):**
259
+ @.planning/phases/{phase_dir}/{phase}-VERIFICATION.md
260
+ @.planning/phases/{phase_dir}/{phase}-UAT.md
261
+
262
+ </planning_context>
263
+
264
+ <downstream_consumer>
265
+ Output consumed by /gsd-execute-phase
266
+ Plans must be executable prompts with:
267
+
268
+ - Frontmatter (wave, depends_on, files_modified, autonomous)
269
+ - Tasks in XML format
270
+ - Verification criteria
271
+ - must_haves for goal-backward verification
272
+ </downstream_consumer>
273
+
274
+ <quality_gate>
275
+ Before returning PLANNING COMPLETE:
276
+
277
+ - [ ] PLAN.md files created in phase directory
278
+ - [ ] Each plan has valid frontmatter
279
+ - [ ] Tasks are specific and actionable
280
+ - [ ] Dependencies correctly identified
281
+ - [ ] Waves assigned for parallel execution
282
+ - [ ] must_haves derived from phase goal
283
+ </quality_gate>
284
+ ```
285
+
286
+ ```
287
+ Task(
288
+ prompt=filled_prompt,
289
+ subagent_type="gsd-planner",
290
+ description="Plan Phase {phase}"
291
+ )
292
+ ```
293
+
294
+ ## 9. Handle Planner Return
295
+
296
+ Parse planner output:
297
+
298
+ **`## PLANNING COMPLETE`:**
299
+ - Display: `Planner created {N} plan(s). Files on disk.`
300
+ - If `--skip-verify`: Skip to step 13
301
+ - Otherwise: Proceed to step 10
302
+
303
+ **`## CHECKPOINT REACHED`:**
304
+ - Present to user, get response, spawn continuation (see step 12)
305
+
306
+ **`## PLANNING INCONCLUSIVE`:**
307
+ - Show what was attempted
308
+ - Offer: Add context, Retry, Manual
309
+ - Wait for user response
310
+
311
+ ## 10. Spawn gsd-plan-checker Agent
312
+
313
+ Display:
314
+ ```
315
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
316
+ GSD ► VERIFYING PLANS
317
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
318
+
319
+ ◆ Spawning plan checker...
320
+ ```
321
+
322
+ Fill checker prompt and spawn:
323
+
324
+ ```markdown
325
+ <verification_context>
326
+
327
+ **Phase:** {phase_number}
328
+ **Phase Goal:** {goal from ROADMAP}
329
+
330
+ **Plans to verify:**
331
+ @.planning/phases/{phase_dir}/*-PLAN.md
332
+
333
+ **Requirements (if exists):**
334
+ @.planning/REQUIREMENTS.md
335
+
336
+ </verification_context>
337
+
338
+ <expected_output>
339
+ Return one of:
340
+ - ## VERIFICATION PASSED — all checks pass
341
+ - ## ISSUES FOUND — structured issue list
342
+ </expected_output>
343
+ ```
344
+
345
+ ```
346
+ Task(
347
+ prompt=checker_prompt,
348
+ subagent_type="gsd-plan-checker",
349
+ description="Verify Phase {phase} plans"
350
+ )
351
+ ```
352
+
353
+ ## 11. Handle Checker Return
354
+
355
+ **If `## VERIFICATION PASSED`:**
356
+ - Display: `Plans verified. Ready for execution.`
357
+ - Proceed to step 13
358
+
359
+ **If `## ISSUES FOUND`:**
360
+ - Display: `Checker found issues:`
361
+ - List issues from checker output
362
+ - Check iteration count
363
+ - Proceed to step 12
364
+
365
+ ## 12. Revision Loop (Max 3 Iterations)
366
+
367
+ Track: `iteration_count` (starts at 1 after initial plan + check)
368
+
369
+ **If iteration_count < 3:**
370
+
371
+ Display: `Sending back to planner for revision... (iteration {N}/3)`
372
+
373
+ Spawn gsd-planner with revision prompt:
374
+
375
+ ```markdown
376
+ <revision_context>
377
+
378
+ **Phase:** {phase_number}
379
+ **Mode:** revision
380
+
381
+ **Existing plans:**
382
+ @.planning/phases/{phase_dir}/*-PLAN.md
383
+
384
+ **Checker issues:**
385
+ {structured_issues_from_checker}
386
+
387
+ </revision_context>
388
+
389
+ <instructions>
390
+ read existing PLAN.md files. Make targeted updates to address checker issues.
391
+ Do NOT replan from scratch unless issues are fundamental.
392
+ Return what changed.
393
+ </instructions>
394
+ ```
395
+
396
+ ```
397
+ Task(
398
+ prompt=revision_prompt,
399
+ subagent_type="gsd-planner",
400
+ description="Revise Phase {phase} plans"
401
+ )
402
+ ```
403
+
404
+ - After planner returns → spawn checker again (step 10)
405
+ - Increment iteration_count
406
+
407
+ **If iteration_count >= 3:**
408
+
409
+ Display: `Max iterations reached. {N} issues remain:`
410
+ - List remaining issues
411
+
412
+ Offer options:
413
+ 1. Force proceed (execute despite issues)
414
+ 2. Provide guidance (user gives direction, retry)
415
+ 3. Abandon (exit planning)
416
+
417
+ Wait for user response.
418
+
419
+ ## 13. Present Final Status
420
+
421
+ Route to `<offer_next>`.
47
422
 
48
- <process>
49
- 1. Check .planning/ directory exists (error if not - user should run /gsd-new-project)
50
- 2. If phase number provided via `$ARGUMENTS`, validate it exists in roadmap
51
- 3. If no phase number, detect next unplanned phase from roadmap
52
- 4. Follow plan-phase.md workflow:
53
- - Load project state and accumulated decisions
54
- - Perform mandatory discovery (Level 0-3 as appropriate)
55
- - Read project history (prior decisions, issues, concerns)
56
- - Break phase into tasks
57
- - Estimate scope and split into multiple plans if needed
58
- - Create PLAN.md file(s) with executable structure
59
423
  </process>
60
424
 
61
- <success_criteria>
425
+ <offer_next>
426
+ Output this markdown directly (not as a code block):
427
+
428
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
429
+ GSD ► PHASE {X} PLANNED ✓
430
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
431
+
432
+ **Phase {X}: {Name}** — {N} plan(s) in {M} wave(s)
433
+
434
+ | Wave | Plans | What it builds |
435
+ |------|-------|----------------|
436
+ | 1 | 01, 02 | [objectives] |
437
+ | 2 | 03 | [objective] |
438
+
439
+ Research: {Completed | Used existing | Skipped}
440
+ Verification: {Passed | Passed with override | Skipped}
441
+
442
+ ───────────────────────────────────────────────────────────────
62
443
 
63
- - One or more PLAN.md files created in .planning/phases/XX-name/
64
- - Each plan has: objective, execution_context, context, tasks, verification, success_criteria, output
65
- - Tasks are specific enough for OpenCode to execute
66
- - User knows next steps (execute plan or review/adjust)
67
- </success_criteria>
444
+ ## Next Up
445
+
446
+ **Execute Phase {X}** run all {N} plans
447
+
448
+ /gsd-execute-phase {X}
449
+
450
+ */new first → fresh context window*
451
+
452
+ ───────────────────────────────────────────────────────────────
453
+
454
+ **Also available:**
455
+ - cat .planning/phases/{phase-dir}/*-PLAN.md — review plans
456
+ - /gsd-plan-phase {X} --research — re-research first
457
+
458
+ ───────────────────────────────────────────────────────────────
459
+ </offer_next>
460
+
461
+ <success_criteria>
462
+ - [ ] .planning/ directory validated
463
+ - [ ] Phase validated against roadmap
464
+ - [ ] Phase directory created if needed
465
+ - [ ] Research completed (unless --skip-research or --gaps or exists)
466
+ - [ ] gsd-phase-researcher spawned if research needed
467
+ - [ ] Existing plans checked
468
+ - [ ] gsd-planner spawned with context (including RESEARCH.md if available)
469
+ - [ ] Plans created (PLANNING COMPLETE or CHECKPOINT handled)
470
+ - [ ] gsd-plan-checker spawned (unless --skip-verify)
471
+ - [ ] Verification passed OR user override OR max iterations with user decision
472
+ - [ ] User sees status between agent spawns
473
+ - [ ] User knows next steps (execute or review)
474
+ </success_criteria>