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