get-shit-done-cc 1.0.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/LICENSE +21 -0
- package/README.md +192 -0
- package/bin/install.js +53 -0
- package/commands/gsd/add-phase.md +201 -0
- package/commands/gsd/complete-milestone.md +105 -0
- package/commands/gsd/discuss-milestone.md +45 -0
- package/commands/gsd/discuss-phase.md +47 -0
- package/commands/gsd/execute-plan.md +108 -0
- package/commands/gsd/help.md +252 -0
- package/commands/gsd/insert-phase.md +218 -0
- package/commands/gsd/list-phase-assumptions.md +49 -0
- package/commands/gsd/new-milestone.md +58 -0
- package/commands/gsd/new-project.md +177 -0
- package/commands/gsd/pause-work.md +123 -0
- package/commands/gsd/plan-phase.md +60 -0
- package/commands/gsd/progress.md +182 -0
- package/commands/gsd/resume-work.md +50 -0
- package/get-shit-done/references/checkpoints.md +594 -0
- package/get-shit-done/references/cli-automation.md +527 -0
- package/get-shit-done/references/git-integration.md +126 -0
- package/get-shit-done/references/plan-format.md +397 -0
- package/get-shit-done/references/principles.md +97 -0
- package/get-shit-done/references/questioning.md +138 -0
- package/get-shit-done/references/research-pitfalls.md +215 -0
- package/get-shit-done/references/scope-estimation.md +451 -0
- package/get-shit-done/templates/config.json +17 -0
- package/get-shit-done/templates/context.md +385 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/issues.md +32 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +290 -0
- package/get-shit-done/templates/project.md +207 -0
- package/get-shit-done/templates/research-prompt.md +133 -0
- package/get-shit-done/templates/roadmap.md +196 -0
- package/get-shit-done/templates/state.md +226 -0
- package/get-shit-done/templates/summary.md +200 -0
- package/get-shit-done/workflows/complete-milestone.md +490 -0
- package/get-shit-done/workflows/create-milestone.md +379 -0
- package/get-shit-done/workflows/create-roadmap.md +443 -0
- package/get-shit-done/workflows/discuss-milestone.md +144 -0
- package/get-shit-done/workflows/discuss-phase.md +254 -0
- package/get-shit-done/workflows/execute-phase.md +1261 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/plan-phase.md +783 -0
- package/get-shit-done/workflows/research-phase.md +293 -0
- package/get-shit-done/workflows/resume-project.md +248 -0
- package/get-shit-done/workflows/transition.md +488 -0
- package/package.json +30 -0
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Define the phases of implementation. Each phase is a coherent chunk of work
|
|
3
|
+
that delivers value. The roadmap provides structure, not detailed tasks.
|
|
4
|
+
</purpose>
|
|
5
|
+
|
|
6
|
+
<required_reading>
|
|
7
|
+
**Read these files NOW:**
|
|
8
|
+
|
|
9
|
+
1. ~/.claude/get-shit-done/templates/roadmap.md
|
|
10
|
+
2. ~/.claude/get-shit-done/templates/state.md
|
|
11
|
+
3. Read `.planning/PROJECT.md` if it exists
|
|
12
|
+
</required_reading>
|
|
13
|
+
|
|
14
|
+
<process>
|
|
15
|
+
|
|
16
|
+
<step name="check_brief">
|
|
17
|
+
```bash
|
|
18
|
+
cat .planning/PROJECT.md 2>/dev/null || echo "No brief found"
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**If no brief exists:**
|
|
22
|
+
Ask: "No brief found. Want to create one first, or proceed with roadmap?"
|
|
23
|
+
|
|
24
|
+
If proceeding without brief, gather quick context:
|
|
25
|
+
|
|
26
|
+
- What are we building?
|
|
27
|
+
- What's the rough scope?
|
|
28
|
+
</step>
|
|
29
|
+
|
|
30
|
+
<step name="detect_domain">
|
|
31
|
+
Scan for available domain expertise:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
ls ~/.claude/skills/expertise/ 2>/dev/null
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Inference:** Based on the brief/user request, infer applicable domains:
|
|
38
|
+
|
|
39
|
+
| Keywords | Domain |
|
|
40
|
+
| ---------------------------------------- | ------------------------ |
|
|
41
|
+
| "macOS", "Mac app", "menu bar", "AppKit" | expertise/macos-apps |
|
|
42
|
+
| "iPhone", "iOS", "iPad", "mobile app" | expertise/iphone-apps |
|
|
43
|
+
| "Unity", "game", "C#", "3D game" | expertise/unity-games |
|
|
44
|
+
| "MIDI", "sequencer", "music app" | expertise/midi |
|
|
45
|
+
| "ISF", "shader", "GLSL", "visual effect" | expertise/isf-shaders |
|
|
46
|
+
| "UI", "design", "frontend", "Tailwind" | expertise/ui-design |
|
|
47
|
+
| "Agent SDK", "Claude SDK", "agentic" | expertise/with-agent-sdk |
|
|
48
|
+
|
|
49
|
+
**If domain inferred:**
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Detected: [domain] project → expertise/[name]
|
|
53
|
+
Include this domain expertise? (Y / see options / none)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**If multiple domains apply** (e.g., ISF shaders for a macOS app):
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Detected multiple domains:
|
|
60
|
+
- expertise/isf-shaders (shader development)
|
|
61
|
+
- expertise/macos-apps (native app)
|
|
62
|
+
|
|
63
|
+
Include both? (Y / select one / none)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**If no domain obvious:**
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
Available domain expertise:
|
|
70
|
+
1. macos-apps
|
|
71
|
+
2. iphone-apps
|
|
72
|
+
[... others found ...]
|
|
73
|
+
|
|
74
|
+
N. None - proceed without domain expertise
|
|
75
|
+
|
|
76
|
+
Select (comma-separate for multiple):
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Store selected paths** for inclusion in ROADMAP.md.
|
|
80
|
+
</step>
|
|
81
|
+
|
|
82
|
+
<step name="identify_phases">
|
|
83
|
+
Based on the brief/context, identify 3-6 phases.
|
|
84
|
+
|
|
85
|
+
**Phase Numbering System:**
|
|
86
|
+
|
|
87
|
+
Use integer phases (1, 2, 3) for planned milestone work.
|
|
88
|
+
|
|
89
|
+
Use decimal phases (2.1, 2.2) for urgent insertions:
|
|
90
|
+
|
|
91
|
+
- Decimal phases inserted between integers (2.1 between 2 and 3)
|
|
92
|
+
- Mark with "(INSERTED)" in phase title
|
|
93
|
+
- Created when urgent work discovered after planning
|
|
94
|
+
- Examples: bugfixes, hotfixes, critical patches
|
|
95
|
+
|
|
96
|
+
**When to use decimals:**
|
|
97
|
+
|
|
98
|
+
- Urgent work that can't wait for next milestone
|
|
99
|
+
- Critical bugs blocking progress
|
|
100
|
+
- Security patches needing immediate attention
|
|
101
|
+
- NOT for scope creep or "nice to haves" (those go in ISSUES.md)
|
|
102
|
+
|
|
103
|
+
**Phase execution order:**
|
|
104
|
+
Numeric sort: 1 → 1.1 → 1.2 → 2 → 2.1 → 3
|
|
105
|
+
|
|
106
|
+
Good phases are:
|
|
107
|
+
|
|
108
|
+
- **Coherent**: Each delivers something complete
|
|
109
|
+
- **Sequential**: Later phases build on earlier
|
|
110
|
+
- **Sized right**: 1-3 days of work each (for solo + Claude)
|
|
111
|
+
|
|
112
|
+
Common phase patterns:
|
|
113
|
+
|
|
114
|
+
- Foundation → Core Feature → Enhancement → Polish
|
|
115
|
+
- Setup → MVP → Iteration → Launch
|
|
116
|
+
- Infrastructure → Backend → Frontend → Integration
|
|
117
|
+
</step>
|
|
118
|
+
|
|
119
|
+
<step name="detect_research_needs">
|
|
120
|
+
**For each phase, determine if research is likely needed.**
|
|
121
|
+
|
|
122
|
+
Scan the brief and phase descriptions for research triggers:
|
|
123
|
+
|
|
124
|
+
<research_triggers>
|
|
125
|
+
**Likely (flag the phase):**
|
|
126
|
+
|
|
127
|
+
| Trigger Pattern | Why Research Needed |
|
|
128
|
+
| ----------------------------------------------------- | --------------------------------------- |
|
|
129
|
+
| "integrate [service]", "connect to [API]" | External API - need current docs |
|
|
130
|
+
| "authentication", "auth", "login", "JWT" | Architectural decision + library choice |
|
|
131
|
+
| "payment", "billing", "Stripe", "subscription" | External API + compliance patterns |
|
|
132
|
+
| "email", "SMS", "notifications", "SendGrid", "Twilio" | External service integration |
|
|
133
|
+
| "database", "Postgres", "MongoDB", "Supabase" | If new to project - setup patterns |
|
|
134
|
+
| "real-time", "websocket", "sync", "live updates" | Architectural decision |
|
|
135
|
+
| "deploy", "Vercel", "Railway", "hosting" | If first deployment - config patterns |
|
|
136
|
+
| "choose between", "select", "evaluate", "which" | Explicit decision needed |
|
|
137
|
+
| "AI", "OpenAI", "Claude", "LLM", "embeddings" | Fast-moving APIs - need current docs |
|
|
138
|
+
| Any technology not already in codebase | New integration |
|
|
139
|
+
| Explicit questions in brief | Unknowns flagged by user |
|
|
140
|
+
|
|
141
|
+
**Unlikely (no flag needed):**
|
|
142
|
+
|
|
143
|
+
| Pattern | Why No Research |
|
|
144
|
+
| ------------------------------------------- | ----------------------- |
|
|
145
|
+
| "add button", "create form", "update UI" | Internal patterns |
|
|
146
|
+
| "CRUD operations", "list/detail views" | Standard patterns |
|
|
147
|
+
| "refactor", "reorganize", "clean up" | Internal work |
|
|
148
|
+
| "following existing patterns" | Conventions established |
|
|
149
|
+
| Technology already in package.json/codebase | Patterns exist |
|
|
150
|
+
|
|
151
|
+
</research_triggers>
|
|
152
|
+
|
|
153
|
+
**For each phase, assign:**
|
|
154
|
+
|
|
155
|
+
- `Research: Likely ([reason])` + `Research topics: [what to investigate]`
|
|
156
|
+
- `Research: Unlikely ([reason])`
|
|
157
|
+
|
|
158
|
+
**Important:** These are hints, not mandates. The mandatory_discovery step during phase planning will validate.
|
|
159
|
+
|
|
160
|
+
Present research assessment:
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
Research needs detected:
|
|
164
|
+
|
|
165
|
+
Phase 1: Foundation
|
|
166
|
+
Research: Unlikely (project setup, established patterns)
|
|
167
|
+
|
|
168
|
+
Phase 2: Authentication
|
|
169
|
+
Research: Likely (new system, technology choice)
|
|
170
|
+
Topics: JWT library for [stack], session strategy, auth provider options
|
|
171
|
+
|
|
172
|
+
Phase 3: Stripe Integration
|
|
173
|
+
Research: Likely (external API)
|
|
174
|
+
Topics: Current Stripe API, webhook patterns, checkout flow
|
|
175
|
+
|
|
176
|
+
Phase 4: Dashboard
|
|
177
|
+
Research: Unlikely (internal UI using patterns from earlier phases)
|
|
178
|
+
|
|
179
|
+
Does this look right? (yes / adjust)
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
</step>
|
|
183
|
+
|
|
184
|
+
<step name="confirm_phases">
|
|
185
|
+
**Check workflow config for gate behavior:**
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
cat .planning/config.json 2>/dev/null
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**Note:** Config may not exist yet (this is project initialization). If missing, default to interactive mode.
|
|
192
|
+
|
|
193
|
+
Parse the config (if exists):
|
|
194
|
+
|
|
195
|
+
- If `mode: "yolo"` → auto-approve
|
|
196
|
+
- If `mode: "interactive"` or missing → prompt user
|
|
197
|
+
- If `mode: "custom"` → check `gates.confirm_phases`
|
|
198
|
+
|
|
199
|
+
**If auto-approved:**
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
⚡ Auto-approved: Phase breakdown ([N] phases)
|
|
203
|
+
|
|
204
|
+
1. [Phase name] - [goal]
|
|
205
|
+
2. [Phase name] - [goal]
|
|
206
|
+
3. [Phase name] - [goal]
|
|
207
|
+
|
|
208
|
+
Proceeding to research detection...
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Proceed directly to detect_research_needs.
|
|
212
|
+
|
|
213
|
+
**If prompting:**
|
|
214
|
+
|
|
215
|
+
Present the phase breakdown inline:
|
|
216
|
+
|
|
217
|
+
"Here's how I'd break this down:
|
|
218
|
+
|
|
219
|
+
1. [Phase name] - [goal]
|
|
220
|
+
2. [Phase name] - [goal]
|
|
221
|
+
3. [Phase name] - [goal]
|
|
222
|
+
...
|
|
223
|
+
|
|
224
|
+
Does this feel right? (yes / adjust)"
|
|
225
|
+
|
|
226
|
+
If "adjust": Ask what to change, revise, present again.
|
|
227
|
+
</step>
|
|
228
|
+
|
|
229
|
+
<step name="decision_gate">
|
|
230
|
+
After phases confirmed (or auto-approved):
|
|
231
|
+
|
|
232
|
+
**Check workflow config for gate behavior:**
|
|
233
|
+
|
|
234
|
+
Read config from previous step (already parsed, or default to interactive if missing).
|
|
235
|
+
|
|
236
|
+
- If `mode: "yolo"` → auto-approve
|
|
237
|
+
- If `mode: "interactive"` or missing → prompt user
|
|
238
|
+
- If `mode: "custom"` → check `gates.confirm_roadmap`
|
|
239
|
+
|
|
240
|
+
**If auto-approved:**
|
|
241
|
+
|
|
242
|
+
```
|
|
243
|
+
⚡ Auto-approved: Create roadmap with [N] phases
|
|
244
|
+
|
|
245
|
+
Proceeding to create .planning/ROADMAP.md...
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Proceed directly to create_structure.
|
|
249
|
+
|
|
250
|
+
**If prompting:**
|
|
251
|
+
|
|
252
|
+
Use AskUserQuestion:
|
|
253
|
+
|
|
254
|
+
- header: "Ready"
|
|
255
|
+
- question: "Ready to create the roadmap, or would you like me to ask more questions?"
|
|
256
|
+
- options:
|
|
257
|
+
- "Create roadmap" - I have enough context
|
|
258
|
+
- "Ask more questions" - There are details to clarify
|
|
259
|
+
- "Let me add context" - I want to provide more information
|
|
260
|
+
|
|
261
|
+
Loop until "Create roadmap" selected.
|
|
262
|
+
</step>
|
|
263
|
+
|
|
264
|
+
<step name="create_structure">
|
|
265
|
+
```bash
|
|
266
|
+
mkdir -p .planning/phases
|
|
267
|
+
```
|
|
268
|
+
</step>
|
|
269
|
+
|
|
270
|
+
<step name="write_roadmap">
|
|
271
|
+
Use template from `~/.claude/get-shit-done/templates/roadmap.md`.
|
|
272
|
+
|
|
273
|
+
Initial roadmaps use integer phases (1, 2, 3...).
|
|
274
|
+
Decimal phases added later via /gsd:insert-phase command (if it exists).
|
|
275
|
+
|
|
276
|
+
Write to `.planning/ROADMAP.md` with:
|
|
277
|
+
|
|
278
|
+
- Domain Expertise section (paths from detect_domain step, or "None" if skipped)
|
|
279
|
+
- Phase list with names and one-line descriptions
|
|
280
|
+
- Dependencies (what must complete before what)
|
|
281
|
+
- **Research flags** (from detect_research_needs step):
|
|
282
|
+
- `Research: Likely ([reason])` with `Research topics:` for flagged phases
|
|
283
|
+
- `Research: Unlikely ([reason])` for unflagged phases
|
|
284
|
+
- Status tracking (all start as "not started")
|
|
285
|
+
|
|
286
|
+
Create phase directories:
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
mkdir -p .planning/phases/01-{phase-name}
|
|
290
|
+
mkdir -p .planning/phases/02-{phase-name}
|
|
291
|
+
# etc.
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
</step>
|
|
295
|
+
|
|
296
|
+
<step name="initialize_project_state">
|
|
297
|
+
Create STATE.md - the project's living memory.
|
|
298
|
+
|
|
299
|
+
Use template from `~/.claude/get-shit-done/templates/state.md`.
|
|
300
|
+
|
|
301
|
+
Write to `.planning/STATE.md`:
|
|
302
|
+
|
|
303
|
+
```markdown
|
|
304
|
+
# Project State
|
|
305
|
+
|
|
306
|
+
## Brief Summary
|
|
307
|
+
|
|
308
|
+
**Building:** [Copy one-liner from PROJECT.md]
|
|
309
|
+
|
|
310
|
+
**Core requirements:**
|
|
311
|
+
[Copy 3-5 key requirements from PROJECT.md]
|
|
312
|
+
|
|
313
|
+
**Constraints:**
|
|
314
|
+
[Copy key constraints from PROJECT.md]
|
|
315
|
+
|
|
316
|
+
## Current Position
|
|
317
|
+
|
|
318
|
+
Phase: 1 of [N] ([First phase name])
|
|
319
|
+
Plan: Not started
|
|
320
|
+
Status: Ready to plan
|
|
321
|
+
Last activity: [today's date] - Project initialized
|
|
322
|
+
|
|
323
|
+
Progress: ░░░░░░░░░░ 0%
|
|
324
|
+
|
|
325
|
+
## Accumulated Context
|
|
326
|
+
|
|
327
|
+
### Decisions Made
|
|
328
|
+
|
|
329
|
+
| Phase | Decision | Rationale |
|
|
330
|
+
| ----- | -------- | --------- |
|
|
331
|
+
|
|
332
|
+
### Deferred Issues
|
|
333
|
+
|
|
334
|
+
None yet.
|
|
335
|
+
|
|
336
|
+
### Blockers/Concerns Carried Forward
|
|
337
|
+
|
|
338
|
+
None yet.
|
|
339
|
+
|
|
340
|
+
## Brief Alignment
|
|
341
|
+
|
|
342
|
+
Last checked: Project start
|
|
343
|
+
Status: ✓ Aligned
|
|
344
|
+
Assessment: No work done yet - baseline alignment.
|
|
345
|
+
Drift notes: None
|
|
346
|
+
|
|
347
|
+
## Session Continuity
|
|
348
|
+
|
|
349
|
+
Last session: [today's date and time]
|
|
350
|
+
Stopped at: Project initialization complete
|
|
351
|
+
Resume file: None
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
**Key points:**
|
|
355
|
+
|
|
356
|
+
- Brief Summary section is IMMUTABLE after creation - never edit it
|
|
357
|
+
- Copy verbatim from PROJECT.md to ensure fidelity
|
|
358
|
+
- This file will be read first in every future operation
|
|
359
|
+
- This file will be updated after every execution
|
|
360
|
+
</step>
|
|
361
|
+
|
|
362
|
+
<step name="git_commit_initialization">
|
|
363
|
+
Commit project initialization (brief + roadmap + state together):
|
|
364
|
+
|
|
365
|
+
```bash
|
|
366
|
+
git add .planning/PROJECT.md .planning/ROADMAP.md .planning/STATE.md
|
|
367
|
+
git add .planning/phases/
|
|
368
|
+
# config.json if exists
|
|
369
|
+
git add .planning/config.json 2>/dev/null
|
|
370
|
+
git commit -m "$(cat <<'EOF'
|
|
371
|
+
docs: initialize [project-name] ([N] phases)
|
|
372
|
+
|
|
373
|
+
[One-liner from PROJECT.md]
|
|
374
|
+
|
|
375
|
+
Phases:
|
|
376
|
+
1. [phase-name]: [goal]
|
|
377
|
+
2. [phase-name]: [goal]
|
|
378
|
+
3. [phase-name]: [goal]
|
|
379
|
+
EOF
|
|
380
|
+
)"
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
Confirm: "Committed: docs: initialize [project] ([N] phases)"
|
|
384
|
+
</step>
|
|
385
|
+
|
|
386
|
+
<step name="offer_next">
|
|
387
|
+
```
|
|
388
|
+
Project initialized:
|
|
389
|
+
- Brief: .planning/PROJECT.md
|
|
390
|
+
- Roadmap: .planning/ROADMAP.md
|
|
391
|
+
- State: .planning/STATE.md
|
|
392
|
+
- Committed as: docs: initialize [project] ([N] phases)
|
|
393
|
+
|
|
394
|
+
What's next?
|
|
395
|
+
|
|
396
|
+
1. Discuss Phase 1 context (/gsd:discuss-phase 1)
|
|
397
|
+
2. Plan Phase 1 in detail (/gsd:plan-phase 1)
|
|
398
|
+
3. Review/adjust phases
|
|
399
|
+
4. Done for now
|
|
400
|
+
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
**If user selects "Discuss Phase 1 context":**
|
|
404
|
+
Exit and invoke SlashCommand("/gsd:discuss-phase 1")
|
|
405
|
+
|
|
406
|
+
**If user selects "Plan Phase 1 in detail":**
|
|
407
|
+
Exit and invoke SlashCommand("/gsd:plan-phase 1")
|
|
408
|
+
</step>
|
|
409
|
+
|
|
410
|
+
</process>
|
|
411
|
+
|
|
412
|
+
<phase_naming>
|
|
413
|
+
Use `XX-kebab-case-name` format:
|
|
414
|
+
- `01-foundation`
|
|
415
|
+
- `02-authentication`
|
|
416
|
+
- `03-core-features`
|
|
417
|
+
- `04-polish`
|
|
418
|
+
|
|
419
|
+
Numbers ensure ordering. Names describe content.
|
|
420
|
+
</phase_naming>
|
|
421
|
+
|
|
422
|
+
<anti_patterns>
|
|
423
|
+
- Don't add time estimates
|
|
424
|
+
- Don't create Gantt charts
|
|
425
|
+
- Don't add resource allocation
|
|
426
|
+
- Don't include risk matrices
|
|
427
|
+
- Don't plan more than 6 phases (scope creep)
|
|
428
|
+
|
|
429
|
+
Phases are buckets of work, not project management artifacts.
|
|
430
|
+
</anti_patterns>
|
|
431
|
+
|
|
432
|
+
<success_criteria>
|
|
433
|
+
Roadmap is complete when:
|
|
434
|
+
- [ ] `.planning/ROADMAP.md` exists
|
|
435
|
+
- [ ] `.planning/STATE.md` exists (project memory initialized)
|
|
436
|
+
- [ ] 3-6 phases defined with clear names
|
|
437
|
+
- [ ] **Research flags assigned** (Likely/Unlikely for each phase)
|
|
438
|
+
- [ ] **Research topics listed** for Likely phases
|
|
439
|
+
- [ ] Phase directories created
|
|
440
|
+
- [ ] Dependencies noted if any
|
|
441
|
+
- [ ] Status tracking in place
|
|
442
|
+
</success_criteria>
|
|
443
|
+
```
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Gather milestone context through adaptive questioning before creating a new milestone, using intake & decision gate pattern to build comprehensive understanding of goals, scope, lessons learned, and success criteria.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<process>
|
|
6
|
+
|
|
7
|
+
<step name="check_state" priority="first">
|
|
8
|
+
Load project state:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
cat .planning/STATE.md
|
|
12
|
+
cat .planning/ROADMAP.md
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**If no active milestone (expected state after completing previous):**
|
|
16
|
+
Continue to milestone_context.
|
|
17
|
+
|
|
18
|
+
**If active milestone exists:**
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Current milestone in progress: v[X.Y] [Name]
|
|
22
|
+
Phases [N]-[M], [P]% complete
|
|
23
|
+
|
|
24
|
+
Did you want to:
|
|
25
|
+
1. Complete current milestone first (/gsd:complete-milestone)
|
|
26
|
+
2. Add phases to current milestone (/gsd:add-phase)
|
|
27
|
+
3. Continue anyway - discuss next milestone scope
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Wait for user response. If "Continue anyway", proceed to milestone_context.
|
|
32
|
+
</step>
|
|
33
|
+
|
|
34
|
+
<step name="milestone_context">
|
|
35
|
+
Present context from previous milestone:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
Last completed: v[X.Y] [Name] (shipped [DATE])
|
|
39
|
+
Key accomplishments:
|
|
40
|
+
- [From MILESTONES.md or STATE.md]
|
|
41
|
+
|
|
42
|
+
Total phases delivered: [N]
|
|
43
|
+
Next phase number: [N+1]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Continue to intake_gate.
|
|
47
|
+
</step>
|
|
48
|
+
|
|
49
|
+
<step name="intake_gate">
|
|
50
|
+
The primary question is: **What do you want to build/add/fix?**
|
|
51
|
+
|
|
52
|
+
Everything else (scope, priority, constraints) is secondary and derived from features.
|
|
53
|
+
|
|
54
|
+
Check for inputs:
|
|
55
|
+
- Deferred issues from STATE.md (potential features)
|
|
56
|
+
- Known gaps or pain points from usage
|
|
57
|
+
- User's ideas for what's next
|
|
58
|
+
|
|
59
|
+
Start: "What do you want to add, improve, or fix in this milestone?"
|
|
60
|
+
|
|
61
|
+
Then use AskUserQuestion to explore features. After each response, dig deeper with follow-up questions about specifics.
|
|
62
|
+
|
|
63
|
+
**Feature exploration questions (use as needed):**
|
|
64
|
+
|
|
65
|
+
If they named specific features:
|
|
66
|
+
- header: "Feature Details"
|
|
67
|
+
- question: "Tell me more about [feature] - what should it do?"
|
|
68
|
+
- options: [Contextual options based on feature type + "Let me describe it"]
|
|
69
|
+
|
|
70
|
+
If they described a general direction:
|
|
71
|
+
- header: "Breaking It Down"
|
|
72
|
+
- question: "That could involve [A], [B], [C] - which matter most?"
|
|
73
|
+
- options: [Specific sub-features + "All of them" + "Something else"]
|
|
74
|
+
|
|
75
|
+
If they're not sure:
|
|
76
|
+
- header: "Starting Points"
|
|
77
|
+
- question: "What's been frustrating or missing?"
|
|
78
|
+
- options: [Deferred issues from STATE.md + pain point categories + "Let me think about it"]
|
|
79
|
+
|
|
80
|
+
After gathering features, synthesize:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
Based on what you described:
|
|
84
|
+
|
|
85
|
+
**Features:**
|
|
86
|
+
- [Feature 1]: [brief description]
|
|
87
|
+
- [Feature 2]: [brief description]
|
|
88
|
+
- [Feature 3]: [brief description]
|
|
89
|
+
|
|
90
|
+
**Estimated scope:** [N] phases
|
|
91
|
+
**Theme suggestion:** v[X.Y] [Name]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Decision gate (MUST have all 3 options):**
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
Header: "Ready?"
|
|
98
|
+
Options:
|
|
99
|
+
1. "Create milestone" - Proceed to /gsd:new-milestone
|
|
100
|
+
2. "Ask more questions" - Explore features or constraints further
|
|
101
|
+
3. "Let me add context" - I have more to share
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
If "Ask more questions" → generate 2-3 contextual follow-ups → return to gate.
|
|
105
|
+
If "Let me add context" → receive input, update synthesis → return to gate.
|
|
106
|
+
Loop until "Create milestone" selected.
|
|
107
|
+
</step>
|
|
108
|
+
|
|
109
|
+
<step name="handoff">
|
|
110
|
+
Present summary and hand off to create-milestone:
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
Milestone scope defined:
|
|
114
|
+
|
|
115
|
+
**Features:**
|
|
116
|
+
- [Feature 1]: [description]
|
|
117
|
+
- [Feature 2]: [description]
|
|
118
|
+
- [Feature 3]: [description]
|
|
119
|
+
|
|
120
|
+
**Suggested milestone:** v[X.Y] [Theme Name]
|
|
121
|
+
**Estimated phases:** [N]
|
|
122
|
+
|
|
123
|
+
Ready to create the milestone structure.
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Invoke:** SlashCommand("/gsd:new-milestone")
|
|
127
|
+
|
|
128
|
+
Pass context forward by summarizing:
|
|
129
|
+
- Features to build (the substance)
|
|
130
|
+
- Suggested milestone name
|
|
131
|
+
- How features map to phases
|
|
132
|
+
</step>
|
|
133
|
+
|
|
134
|
+
</process>
|
|
135
|
+
|
|
136
|
+
<success_criteria>
|
|
137
|
+
|
|
138
|
+
- Project state loaded (STATE.md, ROADMAP.md)
|
|
139
|
+
- Previous milestone context presented
|
|
140
|
+
- **Features identified** - What to build/add/fix (the substance)
|
|
141
|
+
- Features explored with clarifying questions
|
|
142
|
+
- Scope synthesized from features (not asked abstractly)
|
|
143
|
+
- Context handed off to /gsd:new-milestone with feature list
|
|
144
|
+
</success_criteria>
|