gsd-opencode 1.5.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/gsd-codebase-mapper.md +743 -0
- package/agents/gsd-debugger.md +1191 -0
- package/agents/gsd-executor.md +759 -0
- package/agents/gsd-integration-checker.md +427 -0
- package/agents/gsd-phase-researcher.md +637 -0
- package/agents/gsd-plan-checker.md +749 -0
- package/agents/gsd-planner.md +1373 -0
- package/agents/gsd-project-researcher.md +877 -0
- package/agents/gsd-research-synthesizer.md +250 -0
- package/agents/gsd-roadmapper.md +610 -0
- package/agents/gsd-verifier.md +782 -0
- package/bin/install.js +11 -1
- package/command/gsd/add-phase.md +5 -7
- package/command/gsd/add-todo.md +4 -6
- package/command/gsd/audit-milestone.md +257 -0
- package/command/gsd/check-todos.md +2 -4
- package/command/gsd/complete-milestone.md +53 -23
- package/command/gsd/debug.md +120 -30
- package/command/gsd/discuss-phase.md +51 -30
- package/command/gsd/execute-phase.md +192 -26
- package/command/gsd/help.md +66 -75
- package/command/gsd/insert-phase.md +6 -6
- package/command/gsd/list-phase-assumptions.md +1 -1
- package/command/gsd/map-codebase.md +15 -28
- package/command/gsd/new-milestone.md +693 -36
- package/command/gsd/new-project.md +668 -108
- package/command/gsd/pause-work.md +2 -2
- package/command/gsd/plan-milestone-gaps.md +284 -0
- package/command/gsd/plan-phase.md +449 -42
- package/command/gsd/progress.md +66 -36
- package/command/gsd/remove-phase.md +17 -19
- package/command/gsd/research-phase.md +155 -67
- package/command/gsd/resume-work.md +3 -3
- package/command/gsd/update.md +172 -0
- package/command/gsd/verify-work.md +186 -38
- package/command/gsd/whats-new.md +124 -0
- package/get-shit-done/references/checkpoints.md +599 -98
- package/get-shit-done/references/continuation-format.md +5 -11
- package/get-shit-done/references/questioning.md +87 -108
- package/get-shit-done/references/tdd.md +3 -3
- package/get-shit-done/references/ui-brand.md +160 -0
- package/get-shit-done/references/verification-patterns.md +595 -0
- package/get-shit-done/templates/DEBUG.md +3 -3
- package/get-shit-done/templates/UAT.md +247 -0
- package/get-shit-done/templates/codebase/architecture.md +5 -5
- package/get-shit-done/templates/codebase/concerns.md +1 -1
- package/get-shit-done/templates/codebase/conventions.md +1 -1
- package/get-shit-done/templates/codebase/structure.md +8 -8
- package/get-shit-done/templates/codebase/testing.md +2 -2
- package/get-shit-done/templates/context.md +221 -70
- package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
- package/get-shit-done/templates/discovery.md +5 -5
- package/get-shit-done/templates/phase-prompt.md +115 -2
- package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
- package/get-shit-done/templates/requirements.md +231 -0
- package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
- package/get-shit-done/templates/research-project/FEATURES.md +147 -0
- package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
- package/get-shit-done/templates/research-project/STACK.md +120 -0
- package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
- package/get-shit-done/templates/research.md +2 -2
- package/get-shit-done/templates/roadmap.md +26 -20
- package/get-shit-done/templates/state.md +2 -17
- package/get-shit-done/templates/summary.md +13 -17
- package/get-shit-done/templates/user-setup.md +323 -0
- package/get-shit-done/templates/verification-report.md +322 -0
- package/get-shit-done/workflows/complete-milestone.md +152 -45
- package/get-shit-done/workflows/diagnose-issues.md +233 -0
- package/get-shit-done/workflows/discovery-phase.md +12 -17
- package/get-shit-done/workflows/discuss-phase.md +309 -124
- package/get-shit-done/workflows/execute-phase.md +177 -18
- package/get-shit-done/workflows/execute-plan.md +163 -145
- package/get-shit-done/workflows/map-codebase.md +86 -231
- package/get-shit-done/workflows/resume-project.md +18 -20
- package/get-shit-done/workflows/transition.md +7 -23
- package/get-shit-done/workflows/verify-phase.md +629 -0
- package/get-shit-done/workflows/verify-work.md +495 -134
- package/package.json +2 -1
- package/command/gsd/consider-issues.md +0 -201
- package/command/gsd/create-roadmap.md +0 -115
- package/command/gsd/discuss-milestone.md +0 -47
- package/command/gsd/execute-plan.md +0 -103
- package/command/gsd/plan-fix.md +0 -205
- package/command/gsd/status.md +0 -127
- package/get-shit-done/references/debugging/debugging-mindset.md +0 -253
- package/get-shit-done/references/debugging/hypothesis-testing.md +0 -373
- package/get-shit-done/references/debugging/investigation-techniques.md +0 -337
- package/get-shit-done/references/debugging/verification-patterns.md +0 -425
- package/get-shit-done/references/debugging/when-to-research.md +0 -361
- package/get-shit-done/references/plan-format.md +0 -475
- package/get-shit-done/references/principles.md +0 -157
- package/get-shit-done/references/research-pitfalls.md +0 -215
- package/get-shit-done/references/scope-estimation.md +0 -256
- package/get-shit-done/templates/agent-history.md +0 -263
- package/get-shit-done/templates/checkpoint-return.md +0 -204
- package/get-shit-done/templates/config.json +0 -26
- package/get-shit-done/templates/continuation-prompt.md +0 -235
- package/get-shit-done/templates/issues.md +0 -32
- package/get-shit-done/templates/milestone-context.md +0 -93
- package/get-shit-done/templates/subagent-task-prompt.md +0 -95
- package/get-shit-done/templates/uat-issues.md +0 -143
- package/get-shit-done/workflows/_archive/execute-phase.md +0 -899
- package/get-shit-done/workflows/create-milestone.md +0 -416
- package/get-shit-done/workflows/create-roadmap.md +0 -481
- package/get-shit-done/workflows/debug.md +0 -426
- package/get-shit-done/workflows/discuss-milestone.md +0 -236
- package/get-shit-done/workflows/plan-phase.md +0 -701
- package/get-shit-done/workflows/research-phase.md +0 -436
|
@@ -1,426 +0,0 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
Systematic debugging with persistent state that survives context resets. The debug file IS the debugging brain - create it immediately and update it continuously.
|
|
3
|
-
|
|
4
|
-
You are the debugger. The user knows what's wrong (behavior), not why (root cause). Gather symptoms, then investigate autonomously.
|
|
5
|
-
</purpose>
|
|
6
|
-
|
|
7
|
-
<philosophy>
|
|
8
|
-
**User = reporter. OpenCode = investigator.**
|
|
9
|
-
|
|
10
|
-
The user knows:
|
|
11
|
-
- What they expected to happen
|
|
12
|
-
- What actually happened
|
|
13
|
-
- Any error messages they saw
|
|
14
|
-
- When it started / if it ever worked
|
|
15
|
-
|
|
16
|
-
The user does NOT know (and shouldn't be asked):
|
|
17
|
-
- What's causing the bug
|
|
18
|
-
- Which file has the problem
|
|
19
|
-
- What the fix should be
|
|
20
|
-
|
|
21
|
-
Ask about experience. Investigate the cause yourself.
|
|
22
|
-
</philosophy>
|
|
23
|
-
|
|
24
|
-
<references>
|
|
25
|
-
@~/.config/opencode/get-shit-done/references/debugging/debugging-mindset.md
|
|
26
|
-
@~/.config/opencode/get-shit-done/references/debugging/hypothesis-testing.md
|
|
27
|
-
@~/.config/opencode/get-shit-done/references/debugging/investigation-techniques.md
|
|
28
|
-
@~/.config/opencode/get-shit-done/references/debugging/verification-patterns.md
|
|
29
|
-
@~/.config/opencode/get-shit-done/references/debugging/when-to-research.md
|
|
30
|
-
</references>
|
|
31
|
-
|
|
32
|
-
<template>
|
|
33
|
-
@~/.config/opencode/get-shit-done/templates/DEBUG.md
|
|
34
|
-
</template>
|
|
35
|
-
|
|
36
|
-
<process>
|
|
37
|
-
|
|
38
|
-
<step name="check_active_session">
|
|
39
|
-
**First: Check for active debug sessions**
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
ls .planning/debug/*.md 2>/dev/null | grep -v resolved
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**If active sessions exist AND no $ARGUMENTS provided:**
|
|
46
|
-
|
|
47
|
-
Read each file's frontmatter (status, trigger) and Current Focus (hypothesis, next_action).
|
|
48
|
-
|
|
49
|
-
Display inline:
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
## Active Debug Sessions
|
|
53
|
-
|
|
54
|
-
| # | Slug | Status | Hypothesis | Next Action |
|
|
55
|
-
|---|------|--------|------------|-------------|
|
|
56
|
-
| 1 | auth-logout | investigating | Token refresh not called | Check console output |
|
|
57
|
-
| 2 | api-timeout | gathering | - | Gather symptoms |
|
|
58
|
-
| 3 | cart-bug | fixing | Null reference in context | Apply fix |
|
|
59
|
-
|
|
60
|
-
Reply with a number to resume, or describe a new issue to start fresh.
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Wait for user response.
|
|
64
|
-
|
|
65
|
-
- If user replies with number (1, 2, 3) → Load that file, go to `resume_from_file`
|
|
66
|
-
- If user replies with text → Treat as new issue trigger, go to `create_debug_file`
|
|
67
|
-
|
|
68
|
-
**If active sessions exist AND $ARGUMENTS provided:**
|
|
69
|
-
|
|
70
|
-
User wants to start a new debug session. Continue to `create_debug_file`.
|
|
71
|
-
|
|
72
|
-
**If no active sessions AND no $ARGUMENTS:**
|
|
73
|
-
|
|
74
|
-
```
|
|
75
|
-
No active debug sessions.
|
|
76
|
-
|
|
77
|
-
Describe the issue to start debugging.
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
Wait for user to describe the issue, then use their response as the trigger.
|
|
81
|
-
|
|
82
|
-
**If no active sessions AND $ARGUMENTS provided:**
|
|
83
|
-
|
|
84
|
-
Continue to `create_debug_file` with $ARGUMENTS as trigger.
|
|
85
|
-
</step>
|
|
86
|
-
|
|
87
|
-
<step name="create_debug_file">
|
|
88
|
-
**Create debug file IMMEDIATELY**
|
|
89
|
-
|
|
90
|
-
Generate slug from user input (lowercase, hyphens, max 30 chars).
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
mkdir -p .planning/debug
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
Create file with initial state:
|
|
97
|
-
|
|
98
|
-
```markdown
|
|
99
|
-
---
|
|
100
|
-
status: gathering
|
|
101
|
-
trigger: "[verbatim $ARGUMENTS]"
|
|
102
|
-
created: [ISO timestamp]
|
|
103
|
-
updated: [ISO timestamp]
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Current Focus
|
|
107
|
-
|
|
108
|
-
hypothesis: none yet
|
|
109
|
-
test: none
|
|
110
|
-
expecting: none
|
|
111
|
-
next_action: gather symptoms from user
|
|
112
|
-
|
|
113
|
-
## Symptoms
|
|
114
|
-
|
|
115
|
-
expected:
|
|
116
|
-
actual:
|
|
117
|
-
errors:
|
|
118
|
-
reproduction:
|
|
119
|
-
started:
|
|
120
|
-
|
|
121
|
-
## Eliminated
|
|
122
|
-
|
|
123
|
-
[none yet]
|
|
124
|
-
|
|
125
|
-
## Evidence
|
|
126
|
-
|
|
127
|
-
[none yet]
|
|
128
|
-
|
|
129
|
-
## Resolution
|
|
130
|
-
|
|
131
|
-
root_cause:
|
|
132
|
-
fix:
|
|
133
|
-
verification:
|
|
134
|
-
files_changed: []
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
Write to `.planning/debug/[slug].md`
|
|
138
|
-
|
|
139
|
-
Now proceed to `symptom_gathering`.
|
|
140
|
-
</step>
|
|
141
|
-
|
|
142
|
-
<step name="symptom_gathering">
|
|
143
|
-
**Gather symptoms through questioning - update file after EACH answer**
|
|
144
|
-
|
|
145
|
-
CRITICAL: Update the debug file after each piece of information gathered.
|
|
146
|
-
|
|
147
|
-
**1. Expected behavior:**
|
|
148
|
-
|
|
149
|
-
Use question:
|
|
150
|
-
- header: "Expected"
|
|
151
|
-
- question: "What should happen?"
|
|
152
|
-
- options: Contextual interpretations + "Let me describe"
|
|
153
|
-
|
|
154
|
-
After answer → Update Symptoms.expected in debug file
|
|
155
|
-
|
|
156
|
-
**2. Actual behavior:**
|
|
157
|
-
|
|
158
|
-
Use question:
|
|
159
|
-
- header: "Actual"
|
|
160
|
-
- question: "What actually happens instead?"
|
|
161
|
-
- options: Common failure modes + "Let me describe"
|
|
162
|
-
|
|
163
|
-
After answer → Update Symptoms.actual in debug file
|
|
164
|
-
|
|
165
|
-
**3. Error messages:**
|
|
166
|
-
|
|
167
|
-
Use question:
|
|
168
|
-
- header: "Errors"
|
|
169
|
-
- question: "Any error messages?"
|
|
170
|
-
- options:
|
|
171
|
-
- "Yes, I'll paste them"
|
|
172
|
-
- "Yes, but I don't have them handy"
|
|
173
|
-
- "No errors - fails silently"
|
|
174
|
-
- "Not sure"
|
|
175
|
-
|
|
176
|
-
After answer → Update Symptoms.errors in debug file
|
|
177
|
-
|
|
178
|
-
**4. When it started:**
|
|
179
|
-
|
|
180
|
-
Use question:
|
|
181
|
-
- header: "Timeline"
|
|
182
|
-
- question: "When did this start?"
|
|
183
|
-
- options:
|
|
184
|
-
- "Never worked"
|
|
185
|
-
- "After a change"
|
|
186
|
-
- "Intermittent"
|
|
187
|
-
- "Not sure"
|
|
188
|
-
|
|
189
|
-
After answer → Update Symptoms.started in debug file
|
|
190
|
-
|
|
191
|
-
**5. Reproduction:**
|
|
192
|
-
|
|
193
|
-
Use question:
|
|
194
|
-
- header: "Reproduce"
|
|
195
|
-
- question: "How do you trigger this?"
|
|
196
|
-
- options:
|
|
197
|
-
- "Specific steps" - I can describe them
|
|
198
|
-
- "Random" - Happens unpredictably
|
|
199
|
-
- "Always" - Every time I try
|
|
200
|
-
- "Not sure"
|
|
201
|
-
|
|
202
|
-
After answer → Update Symptoms.reproduction in debug file
|
|
203
|
-
|
|
204
|
-
**6. Ready check:**
|
|
205
|
-
|
|
206
|
-
Use question:
|
|
207
|
-
- header: "Ready?"
|
|
208
|
-
- question: "Enough context to investigate?"
|
|
209
|
-
- options:
|
|
210
|
-
- "Start investigating"
|
|
211
|
-
- "I have more context"
|
|
212
|
-
|
|
213
|
-
If "I have more context" → receive it, update relevant field, ask again
|
|
214
|
-
If "Start investigating" → Update status to "investigating", proceed to `investigation_loop`
|
|
215
|
-
</step>
|
|
216
|
-
|
|
217
|
-
<step name="investigation_loop">
|
|
218
|
-
**Autonomous investigation - update file continuously**
|
|
219
|
-
|
|
220
|
-
CRITICAL: Before EVERY action, update Current Focus. After EVERY finding, append to Evidence.
|
|
221
|
-
|
|
222
|
-
**Phase 1: Initial evidence gathering**
|
|
223
|
-
|
|
224
|
-
Update Current Focus:
|
|
225
|
-
```
|
|
226
|
-
hypothesis: gathering initial evidence
|
|
227
|
-
test: examining error context and relevant code
|
|
228
|
-
expecting: clues about failure point
|
|
229
|
-
next_action: [specific next action]
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
1. If errors exist in Symptoms → search codebase for error text
|
|
233
|
-
2. Identify relevant code area from symptoms
|
|
234
|
-
3. Read relevant files COMPLETELY
|
|
235
|
-
4. Run app/tests to observe behavior firsthand
|
|
236
|
-
|
|
237
|
-
After EACH finding → Append to Evidence:
|
|
238
|
-
```
|
|
239
|
-
- timestamp: [now]
|
|
240
|
-
checked: [what]
|
|
241
|
-
found: [what]
|
|
242
|
-
implication: [what this means]
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
**Phase 2: Form hypothesis**
|
|
246
|
-
|
|
247
|
-
Based on evidence, form SPECIFIC, FALSIFIABLE hypothesis.
|
|
248
|
-
|
|
249
|
-
Update Current Focus:
|
|
250
|
-
```
|
|
251
|
-
hypothesis: [specific theory]
|
|
252
|
-
test: [how you'll test it]
|
|
253
|
-
expecting: [what proves/disproves it]
|
|
254
|
-
next_action: [immediate next step]
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
**Phase 3: Test hypothesis**
|
|
258
|
-
|
|
259
|
-
Execute the test. ONE hypothesis at a time.
|
|
260
|
-
|
|
261
|
-
Append result to Evidence.
|
|
262
|
-
|
|
263
|
-
**Phase 4: Evaluate**
|
|
264
|
-
|
|
265
|
-
If CONFIRMED:
|
|
266
|
-
- Update Resolution.root_cause with evidence
|
|
267
|
-
- Update status to "fixing"
|
|
268
|
-
- Proceed to `fix_and_verify`
|
|
269
|
-
|
|
270
|
-
If ELIMINATED:
|
|
271
|
-
- Append to Eliminated section:
|
|
272
|
-
```
|
|
273
|
-
- hypothesis: [what was wrong]
|
|
274
|
-
evidence: [what disproved it]
|
|
275
|
-
timestamp: [now]
|
|
276
|
-
```
|
|
277
|
-
- Form new hypothesis based on evidence
|
|
278
|
-
- Return to Phase 2
|
|
279
|
-
|
|
280
|
-
**Context management:**
|
|
281
|
-
|
|
282
|
-
After significant investigation (5+ evidence entries), check if context is heavy.
|
|
283
|
-
If so, ensure Current Focus is fully updated and suggest:
|
|
284
|
-
"Context filling up. Safe to /new - run /gsd-debug to resume."
|
|
285
|
-
</step>
|
|
286
|
-
|
|
287
|
-
<step name="resume_from_file">
|
|
288
|
-
**Resume investigation from debug file**
|
|
289
|
-
|
|
290
|
-
Read the full debug file.
|
|
291
|
-
|
|
292
|
-
Announce:
|
|
293
|
-
```
|
|
294
|
-
Resuming: [slug]
|
|
295
|
-
Status: [status]
|
|
296
|
-
Current hypothesis: [from Current Focus]
|
|
297
|
-
Evidence gathered: [count]
|
|
298
|
-
Eliminated: [count] hypotheses
|
|
299
|
-
|
|
300
|
-
Continuing from: [next_action]
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
Based on status:
|
|
304
|
-
- "gathering" → Continue `symptom_gathering` from where left off
|
|
305
|
-
- "investigating" → Continue `investigation_loop` from Current Focus
|
|
306
|
-
- "fixing" → Continue `fix_and_verify`
|
|
307
|
-
- "verifying" → Continue verification
|
|
308
|
-
|
|
309
|
-
The file tells you exactly where you were.
|
|
310
|
-
</step>
|
|
311
|
-
|
|
312
|
-
<step name="fix_and_verify">
|
|
313
|
-
**Apply fix and verify**
|
|
314
|
-
|
|
315
|
-
Update status to "fixing".
|
|
316
|
-
|
|
317
|
-
**1. Implement minimal fix**
|
|
318
|
-
|
|
319
|
-
Update Current Focus:
|
|
320
|
-
```
|
|
321
|
-
hypothesis: [confirmed root cause]
|
|
322
|
-
test: applying fix
|
|
323
|
-
expecting: symptoms resolved
|
|
324
|
-
next_action: implement fix in [files]
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
Make the SMALLEST change that addresses root cause.
|
|
328
|
-
|
|
329
|
-
Update Resolution.fix with what was changed and why.
|
|
330
|
-
Update Resolution.files_changed with modified files.
|
|
331
|
-
|
|
332
|
-
**2. Verify**
|
|
333
|
-
|
|
334
|
-
Update status to "verifying".
|
|
335
|
-
|
|
336
|
-
Update Current Focus:
|
|
337
|
-
```
|
|
338
|
-
hypothesis: fix resolves issue
|
|
339
|
-
test: reproducing original symptoms
|
|
340
|
-
expecting: symptoms no longer occur
|
|
341
|
-
next_action: verify fix
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
Test against original Symptoms:
|
|
345
|
-
- Does expected behavior now occur?
|
|
346
|
-
- Are errors gone?
|
|
347
|
-
- Does reproduction no longer trigger issue?
|
|
348
|
-
|
|
349
|
-
If verification FAILS:
|
|
350
|
-
- Append finding to Evidence
|
|
351
|
-
- Update status back to "investigating"
|
|
352
|
-
- Root cause was wrong or incomplete
|
|
353
|
-
- Return to `investigation_loop`
|
|
354
|
-
|
|
355
|
-
If verification PASSES:
|
|
356
|
-
- Update Resolution.verification with how verified
|
|
357
|
-
- Proceed to `archive_session`
|
|
358
|
-
</step>
|
|
359
|
-
|
|
360
|
-
<step name="archive_session">
|
|
361
|
-
**Archive resolved debug session**
|
|
362
|
-
|
|
363
|
-
Update status to "resolved".
|
|
364
|
-
|
|
365
|
-
```bash
|
|
366
|
-
mkdir -p .planning/debug/resolved
|
|
367
|
-
mv .planning/debug/[slug].md .planning/debug/resolved/
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
Commit:
|
|
371
|
-
```bash
|
|
372
|
-
git add -A
|
|
373
|
-
git commit -m "fix: [brief description from Resolution.fix]
|
|
374
|
-
|
|
375
|
-
Root cause: [from Resolution.root_cause]
|
|
376
|
-
Debug session: .planning/debug/resolved/[slug].md"
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
Report:
|
|
380
|
-
```
|
|
381
|
-
Debug complete.
|
|
382
|
-
|
|
383
|
-
Root cause: [root_cause]
|
|
384
|
-
Fix: [fix]
|
|
385
|
-
Files: [files_changed]
|
|
386
|
-
|
|
387
|
-
Session archived: .planning/debug/resolved/[slug].md
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
Use question:
|
|
391
|
-
- header: "Next"
|
|
392
|
-
- question: "What now?"
|
|
393
|
-
- options:
|
|
394
|
-
- "Continue working" - Back to /gsd-progress
|
|
395
|
-
- "Test more" - Verify related functionality
|
|
396
|
-
- "Done" - End session
|
|
397
|
-
</step>
|
|
398
|
-
|
|
399
|
-
</process>
|
|
400
|
-
|
|
401
|
-
<update_rules>
|
|
402
|
-
**Section update rules (from template):**
|
|
403
|
-
|
|
404
|
-
| Section | Rule | When |
|
|
405
|
-
|---------|------|------|
|
|
406
|
-
| Frontmatter.status | OVERWRITE | Each phase transition |
|
|
407
|
-
| Frontmatter.updated | OVERWRITE | Every file update |
|
|
408
|
-
| Current Focus | OVERWRITE | Before every action |
|
|
409
|
-
| Symptoms | IMMUTABLE | After gathering complete |
|
|
410
|
-
| Eliminated | APPEND | When hypothesis disproved |
|
|
411
|
-
| Evidence | APPEND | After each finding |
|
|
412
|
-
| Resolution | OVERWRITE | As understanding evolves |
|
|
413
|
-
|
|
414
|
-
**CRITICAL:** Update the file BEFORE taking action, not after. If context resets mid-action, the file shows what was about to happen.
|
|
415
|
-
</update_rules>
|
|
416
|
-
|
|
417
|
-
<success_criteria>
|
|
418
|
-
- [ ] Debug file created IMMEDIATELY on command
|
|
419
|
-
- [ ] File updated after EACH piece of information
|
|
420
|
-
- [ ] Current Focus always reflects NOW
|
|
421
|
-
- [ ] Evidence appended for every finding
|
|
422
|
-
- [ ] Eliminated prevents re-investigation
|
|
423
|
-
- [ ] Can resume perfectly from any /new
|
|
424
|
-
- [ ] Root cause confirmed with evidence before fixing
|
|
425
|
-
- [ ] Fix verified against original symptoms
|
|
426
|
-
</success_criteria>
|
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
Help the user figure out what they want to build in the next milestone through collaborative thinking.
|
|
3
|
-
|
|
4
|
-
You're a thinking partner helping them crystallize their vision for what's next. Features first — everything else (scope, phases) derives from what they want to build.
|
|
5
|
-
</purpose>
|
|
6
|
-
|
|
7
|
-
<process>
|
|
8
|
-
|
|
9
|
-
<step name="check_state" priority="first">
|
|
10
|
-
Load project state:
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
cat .planning/STATE.md
|
|
14
|
-
cat .planning/ROADMAP.md
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
**If no active milestone (expected state after completing previous):**
|
|
18
|
-
Continue to milestone_context.
|
|
19
|
-
|
|
20
|
-
**If active milestone exists:**
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
Current milestone in progress: v[X.Y] [Name]
|
|
24
|
-
Phases [N]-[M], [P]% complete
|
|
25
|
-
|
|
26
|
-
Did you want to:
|
|
27
|
-
1. Complete current milestone first (/gsd-complete-milestone)
|
|
28
|
-
2. Add phases to current milestone (/gsd-add-phase)
|
|
29
|
-
3. Continue anyway - discuss next milestone scope
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Wait for user response. If "Continue anyway", proceed to milestone_context.
|
|
34
|
-
</step>
|
|
35
|
-
|
|
36
|
-
<step name="milestone_context">
|
|
37
|
-
Present context from previous milestone:
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
Last completed: v[X.Y] [Name] (shipped [DATE])
|
|
41
|
-
Key accomplishments:
|
|
42
|
-
- [From MILESTONES.md or STATE.md]
|
|
43
|
-
|
|
44
|
-
Total phases delivered: [N]
|
|
45
|
-
Next phase number: [N+1]
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Continue to intake_gate.
|
|
49
|
-
</step>
|
|
50
|
-
|
|
51
|
-
<step name="intake_gate">
|
|
52
|
-
**CRITICAL: ALL questions use question. Never ask inline text questions.**
|
|
53
|
-
|
|
54
|
-
The primary question is: **What do you want to build/add/fix?**
|
|
55
|
-
|
|
56
|
-
Everything else (scope, priority, constraints) is secondary and derived from features.
|
|
57
|
-
|
|
58
|
-
Check for inputs:
|
|
59
|
-
- Deferred issues from STATE.md (potential features)
|
|
60
|
-
- Known gaps or pain points from usage
|
|
61
|
-
- User's ideas for what's next
|
|
62
|
-
|
|
63
|
-
**1. Open:**
|
|
64
|
-
|
|
65
|
-
Use question:
|
|
66
|
-
- header: "Next"
|
|
67
|
-
- question: "What do you want to add, improve, or fix in this milestone?"
|
|
68
|
-
- options: [Deferred issues from STATE.md if any] + ["New features", "Improvements to existing", "Bug fixes", "Let me describe"]
|
|
69
|
-
|
|
70
|
-
**2. Explore features:**
|
|
71
|
-
|
|
72
|
-
Based on their response, use question:
|
|
73
|
-
|
|
74
|
-
If they named specific features:
|
|
75
|
-
- header: "Feature Details"
|
|
76
|
-
- question: "Tell me more about [feature] - what should it do?"
|
|
77
|
-
- options: [Contextual options based on feature type + "Let me describe it"]
|
|
78
|
-
|
|
79
|
-
If they described a general direction:
|
|
80
|
-
- header: "Breaking It Down"
|
|
81
|
-
- question: "That could involve [A], [B], [C] - which matter most?"
|
|
82
|
-
- options: [Specific sub-features + "All of them" + "Something else"]
|
|
83
|
-
|
|
84
|
-
If they're not sure:
|
|
85
|
-
- header: "Starting Points"
|
|
86
|
-
- question: "What's been frustrating or missing?"
|
|
87
|
-
- options: [Deferred issues from STATE.md + pain point categories + "Let me think about it"]
|
|
88
|
-
|
|
89
|
-
**3. Prioritize:**
|
|
90
|
-
|
|
91
|
-
Use question:
|
|
92
|
-
- header: "Priority"
|
|
93
|
-
- question: "Which of these matters most?"
|
|
94
|
-
- options: [Features they mentioned + "All equally important" + "Let me prioritize"]
|
|
95
|
-
|
|
96
|
-
After gathering features, synthesize:
|
|
97
|
-
|
|
98
|
-
```
|
|
99
|
-
Based on what you described:
|
|
100
|
-
|
|
101
|
-
**Features:**
|
|
102
|
-
- [Feature 1]: [brief description]
|
|
103
|
-
- [Feature 2]: [brief description]
|
|
104
|
-
- [Feature 3]: [brief description]
|
|
105
|
-
|
|
106
|
-
**Estimated scope:** [N] phases
|
|
107
|
-
**Theme suggestion:** v[X.Y] [Name]
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
**4. Decision gate:**
|
|
111
|
-
|
|
112
|
-
Use question:
|
|
113
|
-
- header: "Ready?"
|
|
114
|
-
- question: "Ready to create the milestone, or explore more?"
|
|
115
|
-
- options (ALL THREE REQUIRED):
|
|
116
|
-
- "Create milestone" - Proceed to /gsd-new-milestone
|
|
117
|
-
- "Ask more questions" - Help me think through this more
|
|
118
|
-
- "Let me add context" - I have more to share
|
|
119
|
-
|
|
120
|
-
If "Ask more questions" → return to step 2 with new probes.
|
|
121
|
-
If "Let me add context" → receive input → return to step 2.
|
|
122
|
-
Loop until "Create milestone" selected.
|
|
123
|
-
</step>
|
|
124
|
-
|
|
125
|
-
<step name="write_context">
|
|
126
|
-
Write milestone context to file for handoff.
|
|
127
|
-
|
|
128
|
-
**File:** `.planning/MILESTONE-CONTEXT.md`
|
|
129
|
-
|
|
130
|
-
Use template from ~/.config/opencode/get-shit-done/templates/milestone-context.md
|
|
131
|
-
|
|
132
|
-
Populate with:
|
|
133
|
-
- Features identified during discussion
|
|
134
|
-
- Suggested milestone name and theme
|
|
135
|
-
- Estimated phase count
|
|
136
|
-
- How features map to phases
|
|
137
|
-
- Any constraints or scope boundaries mentioned
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
# Write the context file
|
|
141
|
-
cat > .planning/MILESTONE-CONTEXT.md << 'EOF'
|
|
142
|
-
# Milestone Context
|
|
143
|
-
|
|
144
|
-
**Generated:** [today's date]
|
|
145
|
-
**Status:** Ready for /gsd-new-milestone
|
|
146
|
-
|
|
147
|
-
<features>
|
|
148
|
-
## Features to Build
|
|
149
|
-
|
|
150
|
-
- **[Feature 1]**: [description]
|
|
151
|
-
- **[Feature 2]**: [description]
|
|
152
|
-
- **[Feature 3]**: [description]
|
|
153
|
-
|
|
154
|
-
</features>
|
|
155
|
-
|
|
156
|
-
<scope>
|
|
157
|
-
## Scope
|
|
158
|
-
|
|
159
|
-
**Suggested name:** v[X.Y] [Theme Name]
|
|
160
|
-
**Estimated phases:** [N]
|
|
161
|
-
**Focus:** [One sentence theme/focus]
|
|
162
|
-
|
|
163
|
-
</scope>
|
|
164
|
-
|
|
165
|
-
<phase_mapping>
|
|
166
|
-
## Phase Mapping
|
|
167
|
-
|
|
168
|
-
- Phase [N]: [Feature/goal]
|
|
169
|
-
- Phase [N+1]: [Feature/goal]
|
|
170
|
-
- Phase [N+2]: [Feature/goal]
|
|
171
|
-
|
|
172
|
-
</phase_mapping>
|
|
173
|
-
|
|
174
|
-
<constraints>
|
|
175
|
-
## Constraints
|
|
176
|
-
|
|
177
|
-
- [Any constraints mentioned]
|
|
178
|
-
|
|
179
|
-
</constraints>
|
|
180
|
-
|
|
181
|
-
<notes>
|
|
182
|
-
## Additional Context
|
|
183
|
-
|
|
184
|
-
[Anything else from discussion]
|
|
185
|
-
|
|
186
|
-
</notes>
|
|
187
|
-
|
|
188
|
-
---
|
|
189
|
-
|
|
190
|
-
*This file is temporary. It will be deleted after /gsd-new-milestone creates the milestone.*
|
|
191
|
-
EOF
|
|
192
|
-
```
|
|
193
|
-
</step>
|
|
194
|
-
|
|
195
|
-
<step name="handoff">
|
|
196
|
-
Present summary and hand off to create-milestone:
|
|
197
|
-
|
|
198
|
-
```
|
|
199
|
-
Milestone scope defined:
|
|
200
|
-
|
|
201
|
-
**Features:**
|
|
202
|
-
- [Feature 1]: [description]
|
|
203
|
-
- [Feature 2]: [description]
|
|
204
|
-
- [Feature 3]: [description]
|
|
205
|
-
|
|
206
|
-
**Suggested milestone:** v[X.Y] [Theme Name]
|
|
207
|
-
**Estimated phases:** [N]
|
|
208
|
-
|
|
209
|
-
Context saved to `.planning/MILESTONE-CONTEXT.md`
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
## ▶ Next Up
|
|
214
|
-
|
|
215
|
-
**Create Milestone v[X.Y]** — [Theme Name]
|
|
216
|
-
|
|
217
|
-
`/gsd-new-milestone`
|
|
218
|
-
|
|
219
|
-
*`/new` first → fresh context window*
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
```
|
|
223
|
-
</step>
|
|
224
|
-
|
|
225
|
-
</process>
|
|
226
|
-
|
|
227
|
-
<success_criteria>
|
|
228
|
-
|
|
229
|
-
- Project state loaded (STATE.md, ROADMAP.md)
|
|
230
|
-
- Previous milestone context presented
|
|
231
|
-
- **Features identified** - What to build/add/fix (the substance)
|
|
232
|
-
- Features explored with clarifying questions
|
|
233
|
-
- Scope synthesized from features (not asked abstractly)
|
|
234
|
-
- **MILESTONE-CONTEXT.md created** with features, scope, and phase mapping
|
|
235
|
-
- Context handed off to /gsd-new-milestone
|
|
236
|
-
</success_criteria>
|