get-shit-done-cc 1.5.30 → 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.
@@ -6,23 +6,40 @@ allowed-tools:
6
6
  - Read
7
7
  - Write
8
8
  - Bash
9
+ - Task
9
10
  - AskUserQuestion
11
+ - Glob
10
12
  ---
11
13
 
12
14
  <objective>
13
- Start a new milestone by updating PROJECT.md with new goals, then routing to the requirements → roadmap cycle.
14
15
 
15
- This is the brownfield equivalent of new-project. The project exists, PROJECT.md has history. This command gathers "what's next" and updates PROJECT.md to reflect the new milestone's goals.
16
+ Start a new milestone through unified flow: questioning research (optional) requirements roadmap.
17
+
18
+ This is the brownfield equivalent of new-project. The project exists, PROJECT.md has history. This command gathers "what's next" and takes you through the full cycle.
19
+
20
+ **Creates/Updates:**
21
+ - `.planning/PROJECT.md` — updated with new milestone goals
22
+ - `.planning/research/` — domain research (optional)
23
+ - `.planning/REQUIREMENTS.md` — scoped requirements
24
+ - `.planning/ROADMAP.md` — phase structure
25
+ - `.planning/STATE.md` — updated project memory
26
+ - `.planning/phases/` — phase directories
27
+
28
+ **After this command:** Run `/gsd:plan-phase [N]` to start execution.
16
29
 
17
- Output: Updated PROJECT.md, routes to research-project or define-requirements
18
30
  </objective>
19
31
 
20
32
  <execution_context>
33
+
21
34
  @~/.claude/get-shit-done/references/questioning.md
35
+ @~/.claude/get-shit-done/references/ui-brand.md
22
36
  @~/.claude/get-shit-done/templates/project.md
37
+ @~/.claude/get-shit-done/templates/requirements.md
38
+
23
39
  </execution_context>
24
40
 
25
41
  <context>
42
+
26
43
  Milestone name: $ARGUMENTS (optional - will prompt if not provided)
27
44
 
28
45
  **Load project context:**
@@ -31,111 +48,672 @@ Milestone name: $ARGUMENTS (optional - will prompt if not provided)
31
48
  @.planning/MILESTONES.md
32
49
  @.planning/config.json
33
50
 
34
- **Load milestone context (if exists, from /gsd:discuss-milestone):**
35
- @.planning/MILESTONE-CONTEXT.md
36
51
  </context>
37
52
 
38
53
  <process>
39
54
 
40
- 1. **Load context:**
41
- - Read PROJECT.md (existing project, Validated requirements, decisions)
42
- - Read MILESTONES.md (what shipped previously)
43
- - Read STATE.md (pending todos, blockers)
44
- - Check for MILESTONE-CONTEXT.md (from /gsd:discuss-milestone)
55
+ ## Phase 1: Validate
45
56
 
46
- 2. **Gather milestone goals:**
57
+ **MANDATORY FIRST STEP — Execute these checks before ANY user interaction:**
47
58
 
48
- **If MILESTONE-CONTEXT.md exists:**
49
- - Use features and scope from discuss-milestone
50
- - Present summary for confirmation
59
+ 1. **Verify project exists:**
60
+ ```bash
61
+ [ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md. Run /gsd:new-project first."; exit 1; }
62
+ ```
51
63
 
52
- **If no context file:**
53
- - Present what shipped in last milestone
54
- - Ask: "What do you want to build next?"
55
- - Use AskUserQuestion to explore features
56
- - Probe for priorities, constraints, scope
64
+ 2. **Check for active milestone (ROADMAP.md exists):**
65
+ ```bash
66
+ [ -f .planning/ROADMAP.md ] && echo "ACTIVE_MILESTONE" || echo "READY_FOR_NEW"
67
+ ```
57
68
 
58
- 3. **Determine milestone version:**
59
- - Parse last version from MILESTONES.md
60
- - Suggest next version (v1.0 → v1.1, or v2.0 for major)
61
- - Confirm with user
69
+ **If ACTIVE_MILESTONE:**
70
+ Use AskUserQuestion:
71
+ - header: "Active Milestone"
72
+ - question: "A milestone is in progress. What would you like to do?"
73
+ - options:
74
+ - "Complete current first" — Run /gsd:complete-milestone
75
+ - "Continue anyway" — Start new milestone (will archive current)
62
76
 
63
- 4. **Update PROJECT.md:**
77
+ If "Complete current first": Exit with routing to `/gsd:complete-milestone`
78
+ If "Continue anyway": Continue to Phase 2
64
79
 
65
- Add/update these sections:
80
+ 3. **Load previous milestone context:**
81
+ ```bash
82
+ cat .planning/MILESTONES.md 2>/dev/null || echo "NO_MILESTONES"
83
+ cat .planning/STATE.md
84
+ ```
66
85
 
67
- ```markdown
68
- ## Current Milestone: v[X.Y] [Name]
86
+ ## Phase 2: Present Context
69
87
 
70
- **Goal:** [One sentence describing milestone focus]
88
+ **Display stage banner:**
71
89
 
72
- **Target features:**
73
- - [Feature 1]
74
- - [Feature 2]
75
- - [Feature 3]
76
- ```
90
+ ```
91
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
92
+ GSD ► NEW MILESTONE
93
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
94
+ ```
77
95
 
78
- Update Active requirements section with new goals.
96
+ **Present what shipped:**
79
97
 
80
- Update "Last updated" footer.
98
+ ```
99
+ Last milestone: v[X.Y] [Name] (shipped [DATE])
81
100
 
82
- 5. **Update STATE.md:**
101
+ Key accomplishments:
102
+ - [From MILESTONES.md]
103
+ - [From MILESTONES.md]
104
+ - [From MILESTONES.md]
83
105
 
84
- ```markdown
85
- ## Current Position
106
+ Validated requirements:
107
+ - [From PROJECT.md Validated section]
86
108
 
87
- Phase: Not started (run /gsd:create-roadmap)
88
- Plan:
89
- Status: Defining requirements
90
- Last activity: [today] — Milestone v[X.Y] started
91
- ```
109
+ Pending todos:
110
+ - [From STATE.md if any]
111
+ ```
92
112
 
93
- Keep Accumulated Context section (decisions, blockers) from previous milestone.
113
+ ## Phase 3: Deep Questioning
94
114
 
95
- 6. **Cleanup:**
96
- - Delete MILESTONE-CONTEXT.md if exists (consumed)
115
+ **Display stage banner:**
97
116
 
98
- 7. **Git commit:**
99
- ```bash
100
- git add .planning/PROJECT.md .planning/STATE.md
101
- git commit -m "docs: start milestone v[X.Y] [Name]"
102
- ```
117
+ ```
118
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
119
+ GSD QUESTIONING
120
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
121
+ ```
103
122
 
104
- 8. **Route to next step:**
123
+ **Open the conversation:**
105
124
 
106
- ```
107
- Milestone v[X.Y] [Name] initialized.
125
+ Ask inline (freeform, NOT AskUserQuestion):
108
126
 
109
- PROJECT.md updated with new goals.
127
+ "What do you want to build next?"
110
128
 
111
- ---
129
+ Wait for their response. This gives you the context needed to ask intelligent follow-up questions.
112
130
 
113
- ## Next Up
131
+ **Follow the thread:**
114
132
 
115
- Choose your path:
133
+ Based on what they said, ask follow-up questions that dig into their response. Use AskUserQuestion with options that probe what they mentioned — interpretations, clarifications, concrete examples.
116
134
 
117
- **Option A: Research first** (new domains/capabilities)
118
- Research ecosystem before scoping. Discovers patterns, expected features, architecture approaches.
135
+ Keep following threads. Each answer opens new threads to explore. Ask about:
136
+ - What excited them
137
+ - What problem sparked this
138
+ - What they mean by vague terms
139
+ - What it would actually look like
140
+ - What's already decided
119
141
 
120
- `/gsd:research-project`
142
+ Consult `questioning.md` for techniques:
143
+ - Challenge vagueness
144
+ - Make abstract concrete
145
+ - Surface assumptions
146
+ - Find edges
147
+ - Reveal motivation
121
148
 
122
- **Option B: Define requirements directly** (familiar territory)
123
- Skip research, define requirements from what you know.
149
+ **Decision gate:**
124
150
 
125
- `/gsd:define-requirements`
151
+ When you could update PROJECT.md with clear new goals, use AskUserQuestion:
126
152
 
127
- <sub>`/clear` first → fresh context window</sub>
153
+ - header: "Ready?"
154
+ - question: "I think I understand what you're after. Ready to update PROJECT.md?"
155
+ - options:
156
+ - "Update PROJECT.md" — Let's move forward
157
+ - "Keep exploring" — I want to share more / ask me more
128
158
 
129
- ---
130
- ```
159
+ If "Keep exploring" — ask what they want to add, or identify gaps and probe naturally.
160
+
161
+ Loop until "Update PROJECT.md" selected.
162
+
163
+ ## Phase 4: Determine Milestone Version
164
+
165
+ Parse last version from MILESTONES.md and suggest next:
166
+
167
+ Use AskUserQuestion:
168
+ - header: "Version"
169
+ - question: "What version is this milestone?"
170
+ - options:
171
+ - "v[X.Y+0.1] (patch)" — Minor update: [suggested name]
172
+ - "v[X+1].0 (major)" — Major release
173
+ - "Custom" — I'll specify
174
+
175
+ ## Phase 5: Update PROJECT.md
176
+
177
+ Update `.planning/PROJECT.md` with new milestone section:
178
+
179
+ ```markdown
180
+ ## Current Milestone: v[X.Y] [Name]
181
+
182
+ **Goal:** [One sentence describing milestone focus]
183
+
184
+ **Target features:**
185
+ - [Feature 1]
186
+ - [Feature 2]
187
+ - [Feature 3]
188
+ ```
189
+
190
+ Update Active requirements section with new goals (keep Validated section intact).
191
+
192
+ Update "Last updated" footer.
193
+
194
+ **Commit PROJECT.md:**
195
+
196
+ ```bash
197
+ git add .planning/PROJECT.md
198
+ git commit -m "$(cat <<'EOF'
199
+ docs: start milestone v[X.Y] [Name]
200
+
201
+ [One-liner describing milestone focus]
202
+ EOF
203
+ )"
204
+ ```
205
+
206
+ ## Phase 6: Research Decision
207
+
208
+ Use AskUserQuestion:
209
+ - header: "Research"
210
+ - question: "Research the domain ecosystem before defining requirements?"
211
+ - options:
212
+ - "Research first (Recommended)" — Discover patterns, expected features, architecture
213
+ - "Skip research" — I know this domain well, go straight to requirements
214
+
215
+ **If "Research first":**
216
+
217
+ Display stage banner:
218
+ ```
219
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
220
+ GSD ► RESEARCHING
221
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
222
+
223
+ Researching [domain] ecosystem...
224
+ ```
225
+
226
+ Create research directory:
227
+ ```bash
228
+ mkdir -p .planning/research
229
+ ```
230
+
231
+ **Milestone context is "subsequent"** — Research focuses on new features, not re-researching validated requirements.
232
+
233
+ Display spawning indicator:
234
+ ```
235
+ ◆ Spawning 4 researchers in parallel...
236
+ → Stack research
237
+ → Features research
238
+ → Architecture research
239
+ → Pitfalls research
240
+ ```
241
+
242
+ Spawn 4 parallel gsd-project-researcher agents with context:
243
+
244
+ ```
245
+ Task(prompt="
246
+ <research_type>
247
+ Project Research — Stack dimension for [domain].
248
+ </research_type>
249
+
250
+ <milestone_context>
251
+ Subsequent milestone (v[X.Y]).
252
+
253
+ Research what's needed to add [target features] to an existing [domain] app. Don't re-research the existing system.
254
+ </milestone_context>
255
+
256
+ <question>
257
+ What's needed to add [target features] to [domain]?
258
+ </question>
259
+
260
+ <project_context>
261
+ [PROJECT.md summary - core value, validated requirements, new goals]
262
+ </project_context>
263
+
264
+ <downstream_consumer>
265
+ Your STACK.md feeds into roadmap creation. Be prescriptive:
266
+ - Specific libraries with versions
267
+ - Clear rationale for each choice
268
+ - What NOT to use and why
269
+ </downstream_consumer>
270
+
271
+ <output>
272
+ Write to: .planning/research/STACK.md
273
+ Use template: ~/.claude/get-shit-done/templates/research-project/STACK.md
274
+ </output>
275
+ ", subagent_type="gsd-project-researcher", description="Stack research")
276
+
277
+ Task(prompt="
278
+ <research_type>
279
+ Project Research — Features dimension for [domain].
280
+ </research_type>
281
+
282
+ <milestone_context>
283
+ Subsequent milestone (v[X.Y]).
284
+
285
+ How do [target features] typically work? What's expected behavior?
286
+ </milestone_context>
287
+
288
+ <question>
289
+ What features are expected for [target features]?
290
+ </question>
291
+
292
+ <project_context>
293
+ [PROJECT.md summary]
294
+ </project_context>
295
+
296
+ <downstream_consumer>
297
+ Your FEATURES.md feeds into requirements definition. Categorize clearly:
298
+ - Table stakes (must have)
299
+ - Differentiators (competitive advantage)
300
+ - Anti-features (things to deliberately NOT build)
301
+ </downstream_consumer>
302
+
303
+ <output>
304
+ Write to: .planning/research/FEATURES.md
305
+ Use template: ~/.claude/get-shit-done/templates/research-project/FEATURES.md
306
+ </output>
307
+ ", subagent_type="gsd-project-researcher", description="Features research")
308
+
309
+ Task(prompt="
310
+ <research_type>
311
+ Project Research — Architecture dimension for [domain].
312
+ </research_type>
313
+
314
+ <milestone_context>
315
+ Subsequent milestone (v[X.Y]).
316
+
317
+ How do [target features] integrate with existing [domain] architecture?
318
+ </milestone_context>
319
+
320
+ <question>
321
+ How should [target features] integrate with the existing system?
322
+ </question>
323
+
324
+ <project_context>
325
+ [PROJECT.md summary]
326
+ </project_context>
327
+
328
+ <downstream_consumer>
329
+ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
330
+ - Component boundaries (what talks to what)
331
+ - Data flow (how information moves)
332
+ - Suggested build order (dependencies between components)
333
+ </downstream_consumer>
334
+
335
+ <output>
336
+ Write to: .planning/research/ARCHITECTURE.md
337
+ Use template: ~/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md
338
+ </output>
339
+ ", subagent_type="gsd-project-researcher", description="Architecture research")
340
+
341
+ Task(prompt="
342
+ <research_type>
343
+ Project Research — Pitfalls dimension for [domain].
344
+ </research_type>
345
+
346
+ <milestone_context>
347
+ Subsequent milestone (v[X.Y]).
348
+
349
+ What are common mistakes when adding [target features] to [domain]?
350
+ </milestone_context>
351
+
352
+ <question>
353
+ What pitfalls should we avoid when adding [target features]?
354
+ </question>
355
+
356
+ <project_context>
357
+ [PROJECT.md summary]
358
+ </project_context>
359
+
360
+ <downstream_consumer>
361
+ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
362
+ - Warning signs (how to detect early)
363
+ - Prevention strategy (how to avoid)
364
+ - Which phase should address it
365
+ </downstream_consumer>
366
+
367
+ <output>
368
+ Write to: .planning/research/PITFALLS.md
369
+ Use template: ~/.claude/get-shit-done/templates/research-project/PITFALLS.md
370
+ </output>
371
+ ", subagent_type="gsd-project-researcher", description="Pitfalls research")
372
+ ```
373
+
374
+ After all 4 agents complete, spawn synthesizer:
375
+
376
+ ```
377
+ Task(prompt="
378
+ <task>
379
+ Synthesize research outputs into SUMMARY.md.
380
+ </task>
381
+
382
+ <research_files>
383
+ Read these files:
384
+ - .planning/research/STACK.md
385
+ - .planning/research/FEATURES.md
386
+ - .planning/research/ARCHITECTURE.md
387
+ - .planning/research/PITFALLS.md
388
+ </research_files>
389
+
390
+ <output>
391
+ Write to: .planning/research/SUMMARY.md
392
+ Use template: ~/.claude/get-shit-done/templates/research-project/SUMMARY.md
393
+ Commit after writing.
394
+ </output>
395
+ ", subagent_type="gsd-research-synthesizer", description="Synthesize research")
396
+ ```
397
+
398
+ Display research complete:
399
+ ```
400
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
401
+ GSD ► RESEARCH COMPLETE ✓
402
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
403
+
404
+ ## Key Findings
405
+
406
+ **Stack:** [from SUMMARY.md]
407
+ **Table Stakes:** [from SUMMARY.md]
408
+ **Watch Out For:** [from SUMMARY.md]
409
+
410
+ Files: `.planning/research/`
411
+ ```
412
+
413
+ **If "Skip research":** Continue to Phase 7.
414
+
415
+ ## Phase 7: Define Requirements
416
+
417
+ Display stage banner:
418
+ ```
419
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
420
+ GSD ► DEFINING REQUIREMENTS
421
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
422
+ ```
423
+
424
+ **Load context:**
425
+
426
+ Read PROJECT.md and extract:
427
+ - Core value (the ONE thing that must work)
428
+ - New milestone goals
429
+ - Validated requirements (what already works)
430
+ - Stated constraints
431
+
432
+ **If research exists:** Read research/FEATURES.md and extract feature categories.
433
+
434
+ **Present features by category:**
435
+
436
+ ```
437
+ Here are the features for [milestone focus]:
438
+
439
+ ## [Category 1]
440
+ **Table stakes:**
441
+ - [Feature]
442
+ - [Feature]
443
+
444
+ **Differentiators:**
445
+ - [Feature]
446
+
447
+ **Research notes:** [any relevant notes]
448
+
449
+ ---
450
+
451
+ ## [Next Category]
452
+ ...
453
+ ```
454
+
455
+ **If no research:** Gather requirements through conversation instead.
456
+
457
+ Ask: "What are the main things users need to be able to do in this milestone?"
458
+
459
+ For each capability mentioned:
460
+ - Ask clarifying questions to make it specific
461
+ - Probe for related capabilities
462
+ - Group into categories
463
+
464
+ **Scope each category:**
465
+
466
+ For each category, use AskUserQuestion:
467
+
468
+ - header: "[Category name]"
469
+ - question: "Which [category] features are in this milestone?"
470
+ - multiSelect: true
471
+ - options:
472
+ - "[Feature 1]" — [brief description]
473
+ - "[Feature 2]" — [brief description]
474
+ - "None for this milestone" — Defer
475
+
476
+ Track responses:
477
+ - Selected features → v1 requirements
478
+ - Unselected table stakes → v2 (users expect these)
479
+ - Unselected differentiators → out of scope
480
+
481
+ **Identify gaps:**
482
+
483
+ Use AskUserQuestion:
484
+ - header: "Additions"
485
+ - question: "Any requirements research missed? (Features specific to your vision)"
486
+ - options:
487
+ - "No, research covered it" — Proceed
488
+ - "Yes, let me add some" — Capture additions
489
+
490
+ **Validate core value:**
491
+
492
+ Cross-check requirements against Core Value from PROJECT.md. If gaps detected, surface them.
493
+
494
+ **Generate REQUIREMENTS.md:**
495
+
496
+ Create `.planning/REQUIREMENTS.md` with:
497
+ - v1 Requirements grouped by category (checkboxes, REQ-IDs)
498
+ - v2 Requirements (deferred)
499
+ - Out of Scope (explicit exclusions with reasoning)
500
+ - Traceability section (empty, filled by roadmap)
501
+
502
+ **REQ-ID format:** `[CATEGORY]-[NUMBER]` (AUTH-01, CONTENT-02)
503
+
504
+ **Requirement quality criteria:**
505
+
506
+ Good requirements are:
507
+ - **Specific and testable:** "User can reset password via email link" (not "Handle password reset")
508
+ - **User-centric:** "User can X" (not "System does Y")
509
+ - **Atomic:** One capability per requirement
510
+ - **Independent:** Minimal dependencies on other requirements
511
+
512
+ **Present full requirements list for confirmation:**
513
+
514
+ Show every requirement (not counts) for user confirmation:
515
+
516
+ ```
517
+ ## v1 Requirements
518
+
519
+ ### [Category]
520
+ - [ ] **[CAT]-01**: [Requirement description]
521
+ - [ ] **[CAT]-02**: [Requirement description]
522
+
523
+ [... full list ...]
524
+
525
+ ---
526
+
527
+ Does this capture what you're building? (yes / adjust)
528
+ ```
529
+
530
+ If "adjust": Return to scoping.
531
+
532
+ **Commit requirements:**
533
+
534
+ ```bash
535
+ git add .planning/REQUIREMENTS.md
536
+ git commit -m "$(cat <<'EOF'
537
+ docs: define v[X.Y] requirements
538
+
539
+ [X] requirements across [N] categories
540
+ [Y] requirements deferred to v2
541
+ EOF
542
+ )"
543
+ ```
544
+
545
+ ## Phase 8: Create Roadmap
546
+
547
+ Display stage banner:
548
+ ```
549
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
550
+ GSD ► CREATING ROADMAP
551
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
552
+
553
+ ◆ Spawning roadmapper...
554
+ ```
555
+
556
+ **Calculate starting phase number:**
557
+
558
+ ```bash
559
+ # Find highest existing phase number
560
+ ls -d .planning/phases/[0-9]*-* 2>/dev/null | sort -V | tail -1 | grep -oE '[0-9]+' | head -1
561
+ ```
562
+
563
+ If phases exist: New phases start at last + 1
564
+ If no phases: Start at Phase 1
565
+
566
+ Spawn gsd-roadmapper agent with context:
567
+
568
+ ```
569
+ Task(prompt="
570
+ <planning_context>
571
+
572
+ **Project:**
573
+ @.planning/PROJECT.md
574
+
575
+ **Requirements:**
576
+ @.planning/REQUIREMENTS.md
577
+
578
+ **Research (if exists):**
579
+ @.planning/research/SUMMARY.md
580
+
581
+ **Config:**
582
+ @.planning/config.json
583
+
584
+ **Starting phase number:** [N]
585
+
586
+ </planning_context>
587
+
588
+ <instructions>
589
+ Create roadmap:
590
+ 1. Derive phases from requirements (don't impose structure)
591
+ 2. Map every v1 requirement to exactly one phase
592
+ 3. Derive 2-5 success criteria per phase (observable user behaviors)
593
+ 4. Validate 100% coverage
594
+ 5. Write files immediately (ROADMAP.md, STATE.md, phase directories, update REQUIREMENTS.md traceability)
595
+ 6. Return ROADMAP CREATED with summary
596
+
597
+ Write files first, then return.
598
+ </instructions>
599
+ ", subagent_type="gsd-roadmapper", description="Create roadmap")
600
+ ```
601
+
602
+ **Handle roadmapper return:**
603
+
604
+ **If `## ROADMAP BLOCKED`:**
605
+ - Present blocker information
606
+ - Work with user to resolve
607
+ - Re-spawn when resolved
608
+
609
+ **If `## ROADMAP CREATED`:**
610
+
611
+ Read the created ROADMAP.md and present it inline.
612
+
613
+ **Ask for approval:**
614
+
615
+ Use AskUserQuestion:
616
+ - header: "Roadmap"
617
+ - question: "Does this roadmap structure work for you?"
618
+ - options:
619
+ - "Approve" — Commit and continue
620
+ - "Adjust phases" — Tell me what to change
621
+ - "Review full file" — Show raw ROADMAP.md
622
+
623
+ **If "Approve":** Continue to commit.
624
+
625
+ **If "Adjust phases":**
626
+ - Get user's adjustment notes
627
+ - Re-spawn roadmapper with revision context
628
+ - Loop until approved
629
+
630
+ **Commit roadmap:**
631
+
632
+ ```bash
633
+ git add .planning/ROADMAP.md .planning/STATE.md .planning/REQUIREMENTS.md .planning/phases/
634
+ git commit -m "$(cat <<'EOF'
635
+ docs: create v[X.Y] roadmap ([N] phases)
636
+
637
+ Phases:
638
+ 1. [phase-name]: [requirements covered]
639
+ 2. [phase-name]: [requirements covered]
640
+ ...
641
+
642
+ All v1 requirements mapped to phases.
643
+ EOF
644
+ )"
645
+ ```
646
+
647
+ ## Phase 9: Done
648
+
649
+ Present completion with next steps:
650
+
651
+ ```
652
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
653
+ GSD ► MILESTONE INITIALIZED ✓
654
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
655
+
656
+ **v[X.Y] [Name]**
657
+
658
+ | Artifact | Location |
659
+ |----------------|-----------------------------
660
+ | Project | `.planning/PROJECT.md` |
661
+ | Research | `.planning/research/` |
662
+ | Requirements | `.planning/REQUIREMENTS.md` |
663
+ | Roadmap | `.planning/ROADMAP.md` |
664
+
665
+ **[N] phases** | **[X] requirements** | Ready to build ✓
666
+
667
+ ───────────────────────────────────────────────────────────────
668
+
669
+ ## ▶ Next Up
670
+
671
+ **Phase [N]: [Phase Name]** — [Goal from ROADMAP.md]
672
+
673
+ `/gsd:discuss-phase [N]` — gather context and clarify approach
674
+
675
+ <sub>`/clear` first → fresh context window</sub>
676
+
677
+ ---
678
+
679
+ **Also available:**
680
+ - `/gsd:plan-phase [N]` — skip discussion, plan directly
681
+
682
+ ───────────────────────────────────────────────────────────────
683
+ ```
131
684
 
132
685
  </process>
133
686
 
687
+ <output>
688
+
689
+ - `.planning/PROJECT.md` (updated)
690
+ - `.planning/research/` (if research selected)
691
+ - `STACK.md`
692
+ - `FEATURES.md`
693
+ - `ARCHITECTURE.md`
694
+ - `PITFALLS.md`
695
+ - `SUMMARY.md`
696
+ - `.planning/REQUIREMENTS.md`
697
+ - `.planning/ROADMAP.md`
698
+ - `.planning/STATE.md`
699
+ - `.planning/phases/XX-name/` directories
700
+
701
+ </output>
702
+
134
703
  <success_criteria>
135
- - PROJECT.md updated with Current Milestone section
136
- - Active requirements reflect new milestone goals
137
- - STATE.md reset for new milestone
138
- - MILESTONE-CONTEXT.md consumed and deleted (if existed)
139
- - Git commit made
140
- - User routed to define-requirements (or research-project)
704
+
705
+ - [ ] Project validated (PROJECT.md exists)
706
+ - [ ] Previous milestone context presented
707
+ - [ ] Deep questioning completed (threads followed)
708
+ - [ ] Milestone version determined
709
+ - [ ] PROJECT.md updated with new milestone goals → **committed**
710
+ - [ ] Research completed (if selected) → **committed**
711
+ - [ ] Requirements gathered and scoped
712
+ - [ ] REQUIREMENTS.md created with REQ-IDs → **committed**
713
+ - [ ] gsd-roadmapper spawned with context
714
+ - [ ] Roadmap files written immediately
715
+ - [ ] User feedback incorporated (if any)
716
+ - [ ] ROADMAP.md, STATE.md, phase directories → **committed**
717
+ - [ ] User knows next step is `/gsd:plan-phase [N]`
718
+
141
719
  </success_criteria>