gsd-opencode 1.22.0 → 1.30.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/agents/gsd-advisor-researcher.md +112 -0
  2. package/agents/gsd-assumptions-analyzer.md +110 -0
  3. package/agents/gsd-codebase-mapper.md +1 -2
  4. package/agents/gsd-debugger.md +119 -2
  5. package/agents/gsd-executor.md +25 -4
  6. package/agents/gsd-integration-checker.md +1 -2
  7. package/agents/gsd-nyquist-auditor.md +1 -2
  8. package/agents/gsd-phase-researcher.md +151 -5
  9. package/agents/gsd-plan-checker.md +71 -5
  10. package/agents/gsd-planner.md +50 -4
  11. package/agents/gsd-project-researcher.md +29 -3
  12. package/agents/gsd-research-synthesizer.md +1 -2
  13. package/agents/gsd-roadmapper.md +30 -2
  14. package/agents/gsd-ui-auditor.md +445 -0
  15. package/agents/gsd-ui-checker.md +305 -0
  16. package/agents/gsd-ui-researcher.md +368 -0
  17. package/agents/gsd-user-profiler.md +173 -0
  18. package/agents/gsd-verifier.md +124 -4
  19. package/commands/gsd/gsd-add-backlog.md +76 -0
  20. package/commands/gsd/gsd-audit-uat.md +24 -0
  21. package/commands/gsd/gsd-autonomous.md +41 -0
  22. package/commands/gsd/gsd-debug.md +5 -0
  23. package/commands/gsd/gsd-discuss-phase.md +10 -36
  24. package/commands/gsd/gsd-do.md +30 -0
  25. package/commands/gsd/gsd-execute-phase.md +20 -2
  26. package/commands/gsd/gsd-fast.md +30 -0
  27. package/commands/gsd/gsd-forensics.md +56 -0
  28. package/commands/gsd/gsd-list-workspaces.md +19 -0
  29. package/commands/gsd/gsd-manager.md +39 -0
  30. package/commands/gsd/gsd-milestone-summary.md +51 -0
  31. package/commands/gsd/gsd-new-workspace.md +44 -0
  32. package/commands/gsd/gsd-next.md +24 -0
  33. package/commands/gsd/gsd-note.md +34 -0
  34. package/commands/gsd/gsd-plan-phase.md +3 -1
  35. package/commands/gsd/gsd-plant-seed.md +28 -0
  36. package/commands/gsd/gsd-pr-branch.md +25 -0
  37. package/commands/gsd/gsd-profile-user.md +46 -0
  38. package/commands/gsd/gsd-quick.md +4 -2
  39. package/commands/gsd/gsd-reapply-patches.md +10 -6
  40. package/commands/gsd/gsd-remove-workspace.md +26 -0
  41. package/commands/gsd/gsd-research-phase.md +5 -0
  42. package/commands/gsd/gsd-resume-work.md +1 -1
  43. package/commands/gsd/gsd-review-backlog.md +61 -0
  44. package/commands/gsd/gsd-review.md +37 -0
  45. package/commands/gsd/gsd-session-report.md +19 -0
  46. package/commands/gsd/gsd-set-profile.md +24 -23
  47. package/commands/gsd/gsd-ship.md +23 -0
  48. package/commands/gsd/gsd-stats.md +18 -0
  49. package/commands/gsd/gsd-thread.md +127 -0
  50. package/commands/gsd/gsd-ui-phase.md +34 -0
  51. package/commands/gsd/gsd-ui-review.md +32 -0
  52. package/commands/gsd/gsd-workstreams.md +66 -0
  53. package/get-shit-done/bin/gsd-tools.cjs +410 -84
  54. package/get-shit-done/bin/lib/commands.cjs +429 -18
  55. package/get-shit-done/bin/lib/config.cjs +318 -45
  56. package/get-shit-done/bin/lib/core.cjs +822 -84
  57. package/get-shit-done/bin/lib/frontmatter.cjs +78 -41
  58. package/get-shit-done/bin/lib/init.cjs +836 -104
  59. package/get-shit-done/bin/lib/milestone.cjs +44 -33
  60. package/get-shit-done/bin/lib/model-profiles.cjs +68 -0
  61. package/get-shit-done/bin/lib/phase.cjs +293 -306
  62. package/get-shit-done/bin/lib/profile-output.cjs +952 -0
  63. package/get-shit-done/bin/lib/profile-pipeline.cjs +539 -0
  64. package/get-shit-done/bin/lib/roadmap.cjs +55 -24
  65. package/get-shit-done/bin/lib/security.cjs +382 -0
  66. package/get-shit-done/bin/lib/state.cjs +363 -53
  67. package/get-shit-done/bin/lib/template.cjs +2 -2
  68. package/get-shit-done/bin/lib/uat.cjs +282 -0
  69. package/get-shit-done/bin/lib/verify.cjs +104 -36
  70. package/get-shit-done/bin/lib/workstream.cjs +491 -0
  71. package/get-shit-done/references/checkpoints.md +12 -10
  72. package/get-shit-done/references/decimal-phase-calculation.md +2 -3
  73. package/get-shit-done/references/git-integration.md +47 -0
  74. package/get-shit-done/references/model-profile-resolution.md +2 -0
  75. package/get-shit-done/references/model-profiles.md +62 -16
  76. package/get-shit-done/references/phase-argument-parsing.md +2 -2
  77. package/get-shit-done/references/planning-config.md +3 -1
  78. package/get-shit-done/references/user-profiling.md +681 -0
  79. package/get-shit-done/references/workstream-flag.md +58 -0
  80. package/get-shit-done/templates/UAT.md +21 -3
  81. package/get-shit-done/templates/UI-SPEC.md +100 -0
  82. package/get-shit-done/templates/claude-md.md +122 -0
  83. package/get-shit-done/templates/config.json +10 -3
  84. package/get-shit-done/templates/context.md +61 -6
  85. package/get-shit-done/templates/dev-preferences.md +21 -0
  86. package/get-shit-done/templates/discussion-log.md +63 -0
  87. package/get-shit-done/templates/phase-prompt.md +46 -5
  88. package/get-shit-done/templates/project.md +2 -0
  89. package/get-shit-done/templates/state.md +2 -2
  90. package/get-shit-done/templates/user-profile.md +146 -0
  91. package/get-shit-done/workflows/add-phase.md +2 -2
  92. package/get-shit-done/workflows/add-tests.md +4 -4
  93. package/get-shit-done/workflows/add-todo.md +3 -3
  94. package/get-shit-done/workflows/audit-milestone.md +13 -5
  95. package/get-shit-done/workflows/audit-uat.md +109 -0
  96. package/get-shit-done/workflows/autonomous.md +891 -0
  97. package/get-shit-done/workflows/check-todos.md +2 -2
  98. package/get-shit-done/workflows/cleanup.md +4 -4
  99. package/get-shit-done/workflows/complete-milestone.md +9 -6
  100. package/get-shit-done/workflows/diagnose-issues.md +15 -3
  101. package/get-shit-done/workflows/discovery-phase.md +2 -2
  102. package/get-shit-done/workflows/discuss-phase-assumptions.md +653 -0
  103. package/get-shit-done/workflows/discuss-phase.md +411 -38
  104. package/get-shit-done/workflows/do.md +104 -0
  105. package/get-shit-done/workflows/execute-phase.md +405 -18
  106. package/get-shit-done/workflows/execute-plan.md +77 -12
  107. package/get-shit-done/workflows/fast.md +105 -0
  108. package/get-shit-done/workflows/forensics.md +265 -0
  109. package/get-shit-done/workflows/health.md +28 -6
  110. package/get-shit-done/workflows/help.md +124 -7
  111. package/get-shit-done/workflows/insert-phase.md +2 -2
  112. package/get-shit-done/workflows/list-phase-assumptions.md +2 -2
  113. package/get-shit-done/workflows/list-workspaces.md +56 -0
  114. package/get-shit-done/workflows/manager.md +362 -0
  115. package/get-shit-done/workflows/map-codebase.md +74 -13
  116. package/get-shit-done/workflows/milestone-summary.md +223 -0
  117. package/get-shit-done/workflows/new-milestone.md +120 -18
  118. package/get-shit-done/workflows/new-project.md +178 -39
  119. package/get-shit-done/workflows/new-workspace.md +237 -0
  120. package/get-shit-done/workflows/next.md +97 -0
  121. package/get-shit-done/workflows/node-repair.md +92 -0
  122. package/get-shit-done/workflows/note.md +156 -0
  123. package/get-shit-done/workflows/pause-work.md +62 -8
  124. package/get-shit-done/workflows/plan-milestone-gaps.md +4 -5
  125. package/get-shit-done/workflows/plan-phase.md +332 -33
  126. package/get-shit-done/workflows/plant-seed.md +169 -0
  127. package/get-shit-done/workflows/pr-branch.md +129 -0
  128. package/get-shit-done/workflows/profile-user.md +450 -0
  129. package/get-shit-done/workflows/progress.md +145 -20
  130. package/get-shit-done/workflows/quick.md +205 -49
  131. package/get-shit-done/workflows/remove-phase.md +2 -2
  132. package/get-shit-done/workflows/remove-workspace.md +90 -0
  133. package/get-shit-done/workflows/research-phase.md +11 -3
  134. package/get-shit-done/workflows/resume-project.md +35 -16
  135. package/get-shit-done/workflows/review.md +228 -0
  136. package/get-shit-done/workflows/session-report.md +146 -0
  137. package/get-shit-done/workflows/set-profile.md +2 -2
  138. package/get-shit-done/workflows/settings.md +80 -11
  139. package/get-shit-done/workflows/ship.md +228 -0
  140. package/get-shit-done/workflows/stats.md +60 -0
  141. package/get-shit-done/workflows/transition.md +147 -20
  142. package/get-shit-done/workflows/ui-phase.md +302 -0
  143. package/get-shit-done/workflows/ui-review.md +165 -0
  144. package/get-shit-done/workflows/update.md +108 -25
  145. package/get-shit-done/workflows/validate-phase.md +15 -8
  146. package/get-shit-done/workflows/verify-phase.md +16 -5
  147. package/get-shit-done/workflows/verify-work.md +72 -18
  148. package/package.json +1 -1
  149. package/skills/gsd-audit-milestone/SKILL.md +29 -0
  150. package/skills/gsd-cleanup/SKILL.md +19 -0
  151. package/skills/gsd-complete-milestone/SKILL.md +131 -0
  152. package/skills/gsd-discuss-phase/SKILL.md +54 -0
  153. package/skills/gsd-execute-phase/SKILL.md +49 -0
  154. package/skills/gsd-plan-phase/SKILL.md +37 -0
  155. package/skills/gsd-ui-phase/SKILL.md +24 -0
  156. package/skills/gsd-ui-review/SKILL.md +24 -0
  157. package/skills/gsd-verify-work/SKILL.md +30 -0
@@ -1,6 +1,6 @@
1
- <purpose>
1
+ <objective>
2
2
  Check project progress, summarize recent work and what's ahead, then intelligently route to the next action — either executing an existing plan or creating the next one. Provides situational awareness before continuing work.
3
- </purpose>
3
+ </objective>
4
4
 
5
5
  <required_reading>
6
6
  read all files referenced by the invoking prompt's execution_context before starting.
@@ -18,6 +18,10 @@ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
18
18
 
19
19
  Extract from init JSON: `project_exists`, `roadmap_exists`, `state_exists`, `phases`, `current_phase`, `next_phase`, `milestone_version`, `completed_count`, `phase_count`, `paused_at`, `state_path`, `roadmap_path`, `project_path`, `config_path`.
20
20
 
21
+ ```bash
22
+ DISCUSS_MODE=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" config-get workflow.discuss_mode 2>/dev/null || echo "discuss")
23
+ ```
24
+
21
25
  If `project_exists` is false (no `.planning/` directory):
22
26
 
23
27
  ```
@@ -81,7 +85,7 @@ Use this instead of manually reading/parsing ROADMAP.md.
81
85
  - Use `current_phase` and `next_phase` from `$ROADMAP`
82
86
  - Note `paused_at` if work was paused (from `$STATE`)
83
87
  - Count pending todos: use `init todos` or `list-todos`
84
- - Check for active debug sessions: `ls .planning/debug/*.md 2>/dev/null | grep -v resolved | wc -l`
88
+ - Check for active debug sessions: `(ls .planning/debug/*.md 2>/dev/null || true) | grep -v resolved | wc -l`
85
89
  </step>
86
90
 
87
91
  <step name="report">
@@ -98,7 +102,8 @@ Present:
98
102
  # [Project Name]
99
103
 
100
104
  **Progress:** {PROGRESS_BAR}
101
- **Profile:** [simple/smart/genius]
105
+ **Profile:** [simple/smart/genius/inherit]
106
+ **Discuss mode:** {DISCUSS_MODE}
102
107
 
103
108
  ## Recent Work
104
109
  - [Phase X, Plan Y]: [what was accomplished - 1 line from summary-extract]
@@ -138,9 +143,9 @@ CONTEXT: [✓ if has_context | - if not]
138
143
  List files in the current phase directory:
139
144
 
140
145
  ```bash
141
- ls -1 .planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null | wc -l
142
- ls -1 .planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null | wc -l
143
- ls -1 .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null | wc -l
146
+ (ls -1 .planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null || true) | wc -l
147
+ (ls -1 .planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null || true) | wc -l
148
+ (ls -1 .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null || true) | wc -l
144
149
  ```
145
150
 
146
151
  State: "This phase has {X} plans, {Y} summaries."
@@ -150,17 +155,47 @@ State: "This phase has {X} plans, {Y} summaries."
150
155
  Check for UAT.md files with status "diagnosed" (has gaps needing fixes).
151
156
 
152
157
  ```bash
153
- # Check for diagnosed UAT with gaps
154
- grep -l "status: diagnosed" .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null
158
+ # Check for diagnosed UAT with gaps or partial (incomplete) testing
159
+ grep -l "status: diagnosed\|status: partial" .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null || true
155
160
  ```
156
161
 
157
162
  Track:
158
163
  - `uat_with_gaps`: UAT.md files with status "diagnosed" (gaps need fixing)
164
+ - `uat_partial`: UAT.md files with status "partial" (incomplete testing)
165
+
166
+ **Step 1.6: Cross-phase health check**
167
+
168
+ Scan ALL phases in the current milestone for outstanding verification debt using the CLI (which respects milestone boundaries via `getMilestonePhaseFilter`):
169
+
170
+ ```bash
171
+ DEBT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" audit-uat --raw 2>/dev/null)
172
+ ```
173
+
174
+ Parse JSON for `summary.total_items` and `summary.total_files`.
175
+
176
+ Track: `outstanding_debt` — `summary.total_items` from the audit.
177
+
178
+ **If outstanding_debt > 0:** Add a warning section to the progress report output (in the `report` step), placed between "## What's Next" and the route suggestion:
179
+
180
+ ```markdown
181
+ ## Verification Debt ({N} files across prior phases)
182
+
183
+ | Phase | File | Issue |
184
+ |-------|------|-------|
185
+ | {phase} | {filename} | {pending_count} pending, {skipped_count} skipped, {blocked_count} blocked |
186
+ | {phase} | {filename} | human_needed — {count} items |
187
+
188
+ Review: `/gsd-audit-uat ${GSD_WS}` — full cross-phase audit
189
+ Resume testing: `/gsd-verify-work {phase} ${GSD_WS}` — retest specific phase
190
+ ```
191
+
192
+ This is a WARNING, not a blocker — routing proceeds normally. The debt is visible so the user can make an informed choice.
159
193
 
160
194
  **Step 2: Route based on counts**
161
195
 
162
196
  | Condition | Meaning | Action |
163
197
  |-----------|---------|--------|
198
+ | uat_partial > 0 | UAT testing incomplete | Go to **Route E.2** |
164
199
  | uat_with_gaps > 0 | UAT gaps need fix plans | Go to **Route E** |
165
200
  | summaries < plans | Unexecuted plans exist | Go to **Route A** |
166
201
  | summaries = plans AND plans > 0 | Phase complete | Go to Step 3 |
@@ -180,7 +215,7 @@ read its `<objective>` section.
180
215
 
181
216
  **{phase}-{plan}: [Plan Name]** — [objective summary from PLAN.md]
182
217
 
183
- `/gsd-execute-phase {phase}`
218
+ `/gsd-execute-phase {phase} ${GSD_WS}`
184
219
 
185
220
  *`/new` first → fresh context window*
186
221
 
@@ -193,6 +228,13 @@ read its `<objective>` section.
193
228
 
194
229
  Check if `{phase_num}-CONTEXT.md` exists in phase directory.
195
230
 
231
+ Check if current phase has UI indicators:
232
+
233
+ ```bash
234
+ PHASE_SECTION=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "${CURRENT_PHASE}" 2>/dev/null)
235
+ PHASE_HAS_UI=$(echo "$PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false")
236
+ ```
237
+
196
238
  **If CONTEXT.md exists:**
197
239
 
198
240
  ```
@@ -203,14 +245,14 @@ Check if `{phase_num}-CONTEXT.md` exists in phase directory.
203
245
  **Phase {N}: {Name}** — {Goal from ROADMAP.md}
204
246
  *✓ Context gathered, ready to plan*
205
247
 
206
- `/gsd-plan-phase {phase-number}`
248
+ `/gsd-plan-phase {phase-number} ${GSD_WS}`
207
249
 
208
250
  *`/new` first → fresh context window*
209
251
 
210
252
  ---
211
253
  ```
212
254
 
213
- **If CONTEXT.md does NOT exist:**
255
+ **If CONTEXT.md does NOT exist AND phase has UI (`PHASE_HAS_UI` is `true`):**
214
256
 
215
257
  ```
216
258
  ---
@@ -226,12 +268,35 @@ Check if `{phase_num}-CONTEXT.md` exists in phase directory.
226
268
  ---
227
269
 
228
270
  **Also available:**
271
+ - `/gsd-ui-phase {phase}` — generate UI design contract (recommended for frontend phases)
229
272
  - `/gsd-plan-phase {phase}` — skip discussion, plan directly
230
273
  - `/gsd-list-phase-assumptions {phase}` — see OpenCode's assumptions
231
274
 
232
275
  ---
233
276
  ```
234
277
 
278
+ **If CONTEXT.md does NOT exist AND phase has no UI:**
279
+
280
+ ```
281
+ ---
282
+
283
+ ## ▶ Next Up
284
+
285
+ **Phase {N}: {Name}** — {Goal from ROADMAP.md}
286
+
287
+ `/gsd-discuss-phase {phase} ${GSD_WS}` — gather context and clarify approach
288
+
289
+ *`/new` first → fresh context window*
290
+
291
+ ---
292
+
293
+ **Also available:**
294
+ - `/gsd-plan-phase {phase} ${GSD_WS}` — skip discussion, plan directly
295
+ - `/gsd-list-phase-assumptions {phase} ${GSD_WS}` — see OpenCode's assumptions
296
+
297
+ ---
298
+ ```
299
+
235
300
  ---
236
301
 
237
302
  **Route E: UAT gaps need fix plans**
@@ -245,15 +310,41 @@ UAT.md exists with gaps (diagnosed issues). User needs to plan fixes.
245
310
 
246
311
  **{phase_num}-UAT.md** has {N} gaps requiring fixes.
247
312
 
248
- `/gsd-plan-phase {phase} --gaps`
313
+ `/gsd-plan-phase {phase} --gaps ${GSD_WS}`
314
+
315
+ *`/new` first → fresh context window*
316
+
317
+ ---
318
+
319
+ **Also available:**
320
+ - `/gsd-execute-phase {phase} ${GSD_WS}` — execute phase plans
321
+ - `/gsd-verify-work {phase} ${GSD_WS}` — run more UAT testing
322
+
323
+ ---
324
+ ```
325
+
326
+ ---
327
+
328
+ **Route E.2: UAT testing incomplete (partial)**
329
+
330
+ UAT.md exists with `status: partial` — testing session ended before all items resolved.
331
+
332
+ ```
333
+ ---
334
+
335
+ ## Incomplete UAT Testing
336
+
337
+ **{phase_num}-UAT.md** has {N} unresolved tests (pending, blocked, or skipped).
338
+
339
+ `/gsd-verify-work {phase} ${GSD_WS}` — resume testing from where you left off
249
340
 
250
341
  *`/new` first → fresh context window*
251
342
 
252
343
  ---
253
344
 
254
345
  **Also available:**
255
- - `/gsd-execute-phase {phase}` — execute phase plans
256
- - `/gsd-verify-work {phase}` — run more UAT testing
346
+ - `/gsd-audit-uat ${GSD_WS}` — full cross-phase UAT audit
347
+ - `/gsd-execute-phase {phase} ${GSD_WS}` — execute phase plans
257
348
 
258
349
  ---
259
350
  ```
@@ -283,6 +374,15 @@ State: "Current phase is {X}. Milestone has {N} phases (highest: {Y})."
283
374
 
284
375
  read ROADMAP.md to get the next phase's name and goal.
285
376
 
377
+ Check if next phase has UI indicators:
378
+
379
+ ```bash
380
+ NEXT_PHASE_SECTION=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "$((Z+1))" 2>/dev/null)
381
+ NEXT_HAS_UI=$(echo "$NEXT_PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false")
382
+ ```
383
+
384
+ **If next phase has UI (`NEXT_HAS_UI` is `true`):**
385
+
286
386
  ```
287
387
  ---
288
388
 
@@ -299,12 +399,37 @@ read ROADMAP.md to get the next phase's name and goal.
299
399
  ---
300
400
 
301
401
  **Also available:**
402
+ - `/gsd-ui-phase {Z+1}` — generate UI design contract (recommended for frontend phases)
302
403
  - `/gsd-plan-phase {Z+1}` — skip discussion, plan directly
303
404
  - `/gsd-verify-work {Z}` — user acceptance test before continuing
304
405
 
305
406
  ---
306
407
  ```
307
408
 
409
+ **If next phase has no UI:**
410
+
411
+ ```
412
+ ---
413
+
414
+ ## ✓ Phase {Z} Complete
415
+
416
+ ## ▶ Next Up
417
+
418
+ **Phase {Z+1}: {Name}** — {Goal from ROADMAP.md}
419
+
420
+ `/gsd-discuss-phase {Z+1} ${GSD_WS}` — gather context and clarify approach
421
+
422
+ *`/new` first → fresh context window*
423
+
424
+ ---
425
+
426
+ **Also available:**
427
+ - `/gsd-plan-phase {Z+1} ${GSD_WS}` — skip discussion, plan directly
428
+ - `/gsd-verify-work {Z} ${GSD_WS}` — user acceptance test before continuing
429
+
430
+ ---
431
+ ```
432
+
308
433
  ---
309
434
 
310
435
  **Route D: Milestone complete**
@@ -320,14 +445,14 @@ All {N} phases finished!
320
445
 
321
446
  **Complete Milestone** — archive and prepare for next
322
447
 
323
- `/gsd-complete-milestone`
448
+ `/gsd-complete-milestone ${GSD_WS}`
324
449
 
325
450
  *`/new` first → fresh context window*
326
451
 
327
452
  ---
328
453
 
329
454
  **Also available:**
330
- - `/gsd-verify-work` — user acceptance test before completing milestone
455
+ - `/gsd-verify-work ${GSD_WS}` — user acceptance test before completing milestone
331
456
 
332
457
  ---
333
458
  ```
@@ -351,7 +476,7 @@ Ready to plan the next milestone.
351
476
 
352
477
  **Start Next Milestone** — questioning → research → requirements → roadmap
353
478
 
354
- `/gsd-new-milestone`
479
+ `/gsd-new-milestone ${GSD_WS}`
355
480
 
356
481
  *`/new` first → fresh context window*
357
482
 
@@ -363,10 +488,10 @@ Ready to plan the next milestone.
363
488
  <step name="edge_cases">
364
489
  **Handle edge cases:**
365
490
 
366
- - Phase complete but next phase not planned → offer `/gsd-plan-phase [next]`
491
+ - Phase complete but next phase not planned → offer `/gsd-plan-phase [next] ${GSD_WS}`
367
492
  - All work complete → offer milestone completion
368
493
  - Blockers present → highlight before offering to continue
369
- - Handoff file exists → mention it, offer `/gsd-resume-work`
494
+ - Handoff file exists → mention it, offer `/gsd-resume-work ${GSD_WS}`
370
495
  </step>
371
496
 
372
497
  </process>