gsd-opencode 1.5.0 → 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 +6 -8
- package/command/gsd/add-todo.md +6 -8
- 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 +68 -77
- package/command/gsd/insert-phase.md +7 -7
- 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 +670 -110
- package/command/gsd/pause-work.md +3 -3
- package/command/gsd/plan-milestone-gaps.md +284 -0
- package/command/gsd/plan-phase.md +449 -42
- package/command/gsd/progress.md +72 -42
- 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 +609 -108
- package/get-shit-done/references/continuation-format.md +16 -22
- package/get-shit-done/references/git-integration.md +4 -4
- 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 +9 -9
- package/get-shit-done/templates/UAT.md +247 -0
- package/get-shit-done/templates/codebase/architecture.md +6 -6
- package/get-shit-done/templates/codebase/concerns.md +2 -2
- package/get-shit-done/templates/codebase/conventions.md +2 -2
- 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/continue-here.md +1 -1
- 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 +118 -5
- package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
- package/get-shit-done/templates/project.md +1 -1
- 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 +4 -4
- package/get-shit-done/templates/roadmap.md +26 -20
- package/get-shit-done/templates/state.md +3 -18
- 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 +153 -46
- package/get-shit-done/workflows/diagnose-issues.md +233 -0
- package/get-shit-done/workflows/discovery-phase.md +13 -18
- package/get-shit-done/workflows/discuss-phase.md +311 -126
- package/get-shit-done/workflows/execute-phase.md +178 -19
- package/get-shit-done/workflows/execute-plan.md +169 -151
- package/get-shit-done/workflows/list-phase-assumptions.md +7 -7
- package/get-shit-done/workflows/map-codebase.md +87 -232
- package/get-shit-done/workflows/resume-project.md +20 -22
- package/get-shit-done/workflows/transition.md +9 -25
- 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
package/command/gsd/progress.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-progress
|
|
3
3
|
description: Check project progress, show context, and route to next action (execute or plan)
|
|
4
|
-
|
|
4
|
+
tools:
|
|
5
5
|
- read
|
|
6
6
|
- bash
|
|
7
7
|
- grep
|
|
@@ -30,15 +30,21 @@ Run /gsd-new-project to start a new project.
|
|
|
30
30
|
|
|
31
31
|
Exit.
|
|
32
32
|
|
|
33
|
-
If missing STATE.md
|
|
33
|
+
If missing STATE.md: suggest `/gsd-new-project`.
|
|
34
|
+
|
|
35
|
+
**If ROADMAP.md missing but PROJECT.md exists:**
|
|
36
|
+
|
|
37
|
+
This means a milestone was completed and archived. Go to **Route F** (between milestones).
|
|
38
|
+
|
|
39
|
+
If missing both ROADMAP.md and PROJECT.md: suggest `/gsd-new-project`.
|
|
34
40
|
</step>
|
|
35
41
|
|
|
36
42
|
<step name="load">
|
|
37
43
|
**Load full project context:**
|
|
38
44
|
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
45
|
+
- read `.planning/STATE.md` for living memory (position, decisions, issues)
|
|
46
|
+
- read `.planning/ROADMAP.md` for phase structure and objectives
|
|
47
|
+
- read `.planning/PROJECT.md` for current state (What This Is, Core Value, Requirements)
|
|
42
48
|
</step>
|
|
43
49
|
|
|
44
50
|
<step name="recent">
|
|
@@ -54,7 +60,7 @@ If missing STATE.md or ROADMAP.md: inform what's missing, suggest running `/gsd-
|
|
|
54
60
|
|
|
55
61
|
- From STATE.md: current phase, plan number, status
|
|
56
62
|
- Calculate: total plans, completed plans, remaining plans
|
|
57
|
-
- Note any blockers
|
|
63
|
+
- Note any blockers or concerns
|
|
58
64
|
- Check for CONTEXT.md: For phases without PLAN.md files, check if `{phase}-CONTEXT.md` exists in phase directory
|
|
59
65
|
- Count pending todos: `ls .planning/todos/pending/*.md 2>/dev/null | wc -l`
|
|
60
66
|
- Check for active debug sessions: `ls .planning/debug/*.md 2>/dev/null | grep -v resolved | wc -l`
|
|
@@ -81,8 +87,8 @@ CONTEXT: [✓ if CONTEXT.md exists | - if not]
|
|
|
81
87
|
- [decision 1 from STATE.md]
|
|
82
88
|
- [decision 2]
|
|
83
89
|
|
|
84
|
-
##
|
|
85
|
-
- [any
|
|
90
|
+
## Blockers/Concerns
|
|
91
|
+
- [any blockers or concerns from STATE.md]
|
|
86
92
|
|
|
87
93
|
## Pending Todos
|
|
88
94
|
- [count] pending — /gsd-check-todos to review
|
|
@@ -107,28 +113,28 @@ List files in the current phase directory:
|
|
|
107
113
|
```bash
|
|
108
114
|
ls -1 .planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null | wc -l
|
|
109
115
|
ls -1 .planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null | wc -l
|
|
110
|
-
ls -1 .planning/phases/[current-phase-dir]/*-
|
|
111
|
-
ls -1 .planning/phases/[current-phase-dir]/*-FIX.md 2>/dev/null | wc -l
|
|
112
|
-
ls -1 .planning/phases/[current-phase-dir]/*-FIX-SUMMARY.md 2>/dev/null | wc -l
|
|
116
|
+
ls -1 .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null | wc -l
|
|
113
117
|
```
|
|
114
118
|
|
|
115
|
-
State: "This phase has {X} plans, {Y} summaries
|
|
119
|
+
State: "This phase has {X} plans, {Y} summaries."
|
|
116
120
|
|
|
117
|
-
**Step 1.5: Check for unaddressed UAT
|
|
121
|
+
**Step 1.5: Check for unaddressed UAT gaps**
|
|
118
122
|
|
|
119
|
-
|
|
120
|
-
|
|
123
|
+
Check for UAT.md files with status "diagnosed" (has gaps needing fixes).
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Check for diagnosed UAT with gaps
|
|
127
|
+
grep -l "status: diagnosed" .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null
|
|
128
|
+
```
|
|
121
129
|
|
|
122
130
|
Track:
|
|
123
|
-
- `
|
|
124
|
-
- `fixes_without_summary`: FIX.md files without FIX-SUMMARY.md
|
|
131
|
+
- `uat_with_gaps`: UAT.md files with status "diagnosed" (gaps need fixing)
|
|
125
132
|
|
|
126
133
|
**Step 2: Route based on counts**
|
|
127
134
|
|
|
128
135
|
| Condition | Meaning | Action |
|
|
129
136
|
|-----------|---------|--------|
|
|
130
|
-
|
|
|
131
|
-
| issues_without_fix > 0 | UAT issues need fix plans | Go to **Route E** |
|
|
137
|
+
| uat_with_gaps > 0 | UAT gaps need fix plans | Go to **Route E** |
|
|
132
138
|
| summaries < plans | Unexecuted plans exist | Go to **Route A** |
|
|
133
139
|
| summaries = plans AND plans > 0 | Phase complete | Go to Step 3 |
|
|
134
140
|
| plans = 0 | Phase not yet planned | Go to **Route B** |
|
|
@@ -138,7 +144,7 @@ Track:
|
|
|
138
144
|
**Route A: Unexecuted plan exists**
|
|
139
145
|
|
|
140
146
|
Find the first PLAN.md without matching SUMMARY.md.
|
|
141
|
-
|
|
147
|
+
read its `<objective>` section.
|
|
142
148
|
|
|
143
149
|
```
|
|
144
150
|
---
|
|
@@ -147,9 +153,9 @@ Read its `<objective>` section.
|
|
|
147
153
|
|
|
148
154
|
**{phase}-{plan}: [Plan Name]** — [objective summary from PLAN.md]
|
|
149
155
|
|
|
150
|
-
`/gsd-execute-
|
|
156
|
+
`/gsd-execute-phase {phase}`
|
|
151
157
|
|
|
152
|
-
*`/
|
|
158
|
+
*`/new` first → fresh context window*
|
|
153
159
|
|
|
154
160
|
---
|
|
155
161
|
```
|
|
@@ -172,7 +178,7 @@ Check if `{phase}-CONTEXT.md` exists in phase directory.
|
|
|
172
178
|
|
|
173
179
|
`/gsd-plan-phase {phase-number}`
|
|
174
180
|
|
|
175
|
-
*`/
|
|
181
|
+
*`/new` first → fresh context window*
|
|
176
182
|
|
|
177
183
|
---
|
|
178
184
|
```
|
|
@@ -186,15 +192,14 @@ Check if `{phase}-CONTEXT.md` exists in phase directory.
|
|
|
186
192
|
|
|
187
193
|
**Phase {N}: {Name}** — {Goal from ROADMAP.md}
|
|
188
194
|
|
|
189
|
-
`/gsd-
|
|
195
|
+
`/gsd-discuss-phase {phase}` — gather context and clarify approach
|
|
190
196
|
|
|
191
|
-
*`/
|
|
197
|
+
*`/new` first → fresh context window*
|
|
192
198
|
|
|
193
199
|
---
|
|
194
200
|
|
|
195
201
|
**Also available:**
|
|
196
|
-
- `/gsd-
|
|
197
|
-
- `/gsd-research-phase {phase}` — investigate unknowns
|
|
202
|
+
- `/gsd-plan-phase {phase}` — skip discussion, plan directly
|
|
198
203
|
- `/gsd-list-phase-assumptions {phase}` — see OpenCode's assumptions
|
|
199
204
|
|
|
200
205
|
---
|
|
@@ -202,25 +207,25 @@ Check if `{phase}-CONTEXT.md` exists in phase directory.
|
|
|
202
207
|
|
|
203
208
|
---
|
|
204
209
|
|
|
205
|
-
**Route E: UAT
|
|
210
|
+
**Route E: UAT gaps need fix plans**
|
|
206
211
|
|
|
207
|
-
|
|
212
|
+
UAT.md exists with gaps (diagnosed issues). User needs to plan fixes.
|
|
208
213
|
|
|
209
214
|
```
|
|
210
215
|
---
|
|
211
216
|
|
|
212
|
-
## ⚠ UAT
|
|
217
|
+
## ⚠ UAT Gaps Found
|
|
213
218
|
|
|
214
|
-
**{
|
|
219
|
+
**{phase}-UAT.md** has {N} gaps requiring fixes.
|
|
215
220
|
|
|
216
|
-
`/gsd-plan-
|
|
221
|
+
`/gsd-plan-phase {phase} --gaps`
|
|
217
222
|
|
|
218
|
-
*`/
|
|
223
|
+
*`/new` first → fresh context window*
|
|
219
224
|
|
|
220
225
|
---
|
|
221
226
|
|
|
222
227
|
**Also available:**
|
|
223
|
-
- `/gsd-execute-
|
|
228
|
+
- `/gsd-execute-phase {phase}` — execute phase plans
|
|
224
229
|
- `/gsd-verify-work {phase}` — run more UAT testing
|
|
225
230
|
|
|
226
231
|
---
|
|
@@ -230,7 +235,7 @@ ISSUES.md exists without matching FIX.md. User needs to plan fixes.
|
|
|
230
235
|
|
|
231
236
|
**Step 3: Check milestone status (only when phase complete)**
|
|
232
237
|
|
|
233
|
-
|
|
238
|
+
read ROADMAP.md and identify:
|
|
234
239
|
1. Current phase number
|
|
235
240
|
2. All phase numbers in the current milestone section
|
|
236
241
|
|
|
@@ -249,7 +254,7 @@ State: "Current phase is {X}. Milestone has {N} phases (highest: {Y})."
|
|
|
249
254
|
|
|
250
255
|
**Route C: Phase complete, more phases remain**
|
|
251
256
|
|
|
252
|
-
|
|
257
|
+
read ROADMAP.md to get the next phase's name and goal.
|
|
253
258
|
|
|
254
259
|
```
|
|
255
260
|
---
|
|
@@ -260,16 +265,15 @@ Read ROADMAP.md to get the next phase's name and goal.
|
|
|
260
265
|
|
|
261
266
|
**Phase {Z+1}: {Name}** — {Goal from ROADMAP.md}
|
|
262
267
|
|
|
263
|
-
`/gsd-
|
|
268
|
+
`/gsd-discuss-phase {Z+1}` — gather context and clarify approach
|
|
264
269
|
|
|
265
|
-
*`/
|
|
270
|
+
*`/new` first → fresh context window*
|
|
266
271
|
|
|
267
272
|
---
|
|
268
273
|
|
|
269
274
|
**Also available:**
|
|
275
|
+
- `/gsd-plan-phase {Z+1}` — skip discussion, plan directly
|
|
270
276
|
- `/gsd-verify-work {Z}` — user acceptance test before continuing
|
|
271
|
-
- `/gsd-discuss-phase {Z+1}` — gather context first
|
|
272
|
-
- `/gsd-research-phase {Z+1}` — investigate unknowns
|
|
273
277
|
|
|
274
278
|
---
|
|
275
279
|
```
|
|
@@ -291,7 +295,7 @@ All {N} phases finished!
|
|
|
291
295
|
|
|
292
296
|
`/gsd-complete-milestone`
|
|
293
297
|
|
|
294
|
-
*`/
|
|
298
|
+
*`/new` first → fresh context window*
|
|
295
299
|
|
|
296
300
|
---
|
|
297
301
|
|
|
@@ -301,6 +305,32 @@ All {N} phases finished!
|
|
|
301
305
|
---
|
|
302
306
|
```
|
|
303
307
|
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
**Route F: Between milestones (ROADMAP.md missing, PROJECT.md exists)**
|
|
311
|
+
|
|
312
|
+
A milestone was completed and archived. Ready to start the next milestone cycle.
|
|
313
|
+
|
|
314
|
+
read MILESTONES.md to find the last completed milestone version.
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## ✓ Milestone v{X.Y} Complete
|
|
320
|
+
|
|
321
|
+
Ready to plan the next milestone.
|
|
322
|
+
|
|
323
|
+
## ▶ Next Up
|
|
324
|
+
|
|
325
|
+
**Start Next Milestone** — questioning → research → requirements → roadmap
|
|
326
|
+
|
|
327
|
+
`/gsd-new-milestone`
|
|
328
|
+
|
|
329
|
+
*`/new` first → fresh context window*
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
```
|
|
333
|
+
|
|
304
334
|
</step>
|
|
305
335
|
|
|
306
336
|
<step name="edge_cases">
|
|
@@ -319,7 +349,7 @@ All {N} phases finished!
|
|
|
319
349
|
- [ ] Rich context provided (recent work, decisions, issues)
|
|
320
350
|
- [ ] Current position clear with visual progress
|
|
321
351
|
- [ ] What's next clearly explained
|
|
322
|
-
- [ ] Smart routing: /gsd-execute-
|
|
352
|
+
- [ ] Smart routing: /gsd-execute-phase if plans exist, /gsd-plan-phase if not
|
|
323
353
|
- [ ] User confirms before any action
|
|
324
354
|
- [ ] Seamless handoff to appropriate gsd command
|
|
325
355
|
</success_criteria>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: gsd-remove-phase
|
|
3
3
|
description: Remove a future phase from roadmap and renumber subsequent phases
|
|
4
4
|
argument-hint: <phase-number>
|
|
5
|
-
|
|
5
|
+
tools:
|
|
6
6
|
- read
|
|
7
7
|
- write
|
|
8
8
|
- bash
|
|
@@ -19,8 +19,6 @@ Output: Phase deleted, all subsequent phases renumbered, git commit as historica
|
|
|
19
19
|
<execution_context>
|
|
20
20
|
@.planning/ROADMAP.md
|
|
21
21
|
@.planning/STATE.md
|
|
22
|
-
|
|
23
|
-
Phase number: $ARGUMENTS
|
|
24
22
|
</execution_context>
|
|
25
23
|
|
|
26
24
|
<process>
|
|
@@ -54,7 +52,7 @@ Parse current phase number from STATE.md "Current Position" section.
|
|
|
54
52
|
</step>
|
|
55
53
|
|
|
56
54
|
<step name="validate_phase_exists">
|
|
57
|
-
Verify
|
|
55
|
+
Verify the target phase exists in ROADMAP.md:
|
|
58
56
|
|
|
59
57
|
1. Search for `### Phase {target}:` heading
|
|
60
58
|
2. If not found:
|
|
@@ -68,7 +66,7 @@ Verify that target phase exists in ROADMAP.md:
|
|
|
68
66
|
</step>
|
|
69
67
|
|
|
70
68
|
<step name="validate_future_phase">
|
|
71
|
-
Verify
|
|
69
|
+
Verify the phase is a future phase (not started):
|
|
72
70
|
|
|
73
71
|
1. Compare target phase to current phase from STATE.md
|
|
74
72
|
2. Target must be > current phase number
|
|
@@ -108,7 +106,7 @@ Exit.
|
|
|
108
106
|
</step>
|
|
109
107
|
|
|
110
108
|
<step name="gather_phase_info">
|
|
111
|
-
Collect information about phase being removed:
|
|
109
|
+
Collect information about the phase being removed:
|
|
112
110
|
|
|
113
111
|
1. Extract phase name from ROADMAP.md heading: `### Phase {target}: {Name}`
|
|
114
112
|
2. Find phase directory: `.planning/phases/{target}-{slug}/`
|
|
@@ -149,7 +147,7 @@ Wait for confirmation.
|
|
|
149
147
|
</step>
|
|
150
148
|
|
|
151
149
|
<step name="delete_phase_directory">
|
|
152
|
-
Delete target phase directory if it exists:
|
|
150
|
+
Delete the target phase directory if it exists:
|
|
153
151
|
|
|
154
152
|
```bash
|
|
155
153
|
if [ -d ".planning/phases/{target}-{slug}" ]; then
|
|
@@ -181,7 +179,7 @@ Also rename decimal phase directories:
|
|
|
181
179
|
<step name="rename_files_in_directories">
|
|
182
180
|
Rename plan files inside renumbered directories:
|
|
183
181
|
|
|
184
|
-
For each renumbered directory, rename files that contain phase number:
|
|
182
|
+
For each renumbered directory, rename files that contain the phase number:
|
|
185
183
|
|
|
186
184
|
```bash
|
|
187
185
|
# Inside 17-dashboard (was 18-dashboard):
|
|
@@ -197,14 +195,14 @@ Also handle CONTEXT.md and DISCOVERY.md (these don't have phase prefixes, so no
|
|
|
197
195
|
<step name="update_roadmap">
|
|
198
196
|
Update ROADMAP.md:
|
|
199
197
|
|
|
200
|
-
1. **Remove phase section entirely:**
|
|
201
|
-
- Delete from `### Phase {target}:` to next phase heading (or section end)
|
|
198
|
+
1. **Remove the phase section entirely:**
|
|
199
|
+
- Delete from `### Phase {target}:` to the next phase heading (or section end)
|
|
202
200
|
|
|
203
201
|
2. **Remove from phase list:**
|
|
204
202
|
- Delete line `- [ ] **Phase {target}: {Name}**` or similar
|
|
205
203
|
|
|
206
204
|
3. **Remove from Progress table:**
|
|
207
|
-
- Delete row for Phase {target}
|
|
205
|
+
- Delete the row for Phase {target}
|
|
208
206
|
|
|
209
207
|
4. **Renumber all subsequent phases:**
|
|
210
208
|
- `### Phase 18:` → `### Phase 17:`
|
|
@@ -214,14 +212,14 @@ Update ROADMAP.md:
|
|
|
214
212
|
|
|
215
213
|
5. **Update dependency references:**
|
|
216
214
|
- `**Depends on:** Phase 18` → `**Depends on:** Phase 17`
|
|
217
|
-
- For phase that depended on removed phase:
|
|
215
|
+
- For the phase that depended on the removed phase:
|
|
218
216
|
- `**Depends on:** Phase 17` (removed) → `**Depends on:** Phase 16`
|
|
219
217
|
|
|
220
218
|
6. **Renumber decimal phases:**
|
|
221
219
|
- `### Phase 17.1:` → `### Phase 16.1:` (if integer 17 removed)
|
|
222
220
|
- Update all references consistently
|
|
223
221
|
|
|
224
|
-
|
|
222
|
+
write updated ROADMAP.md.
|
|
225
223
|
</step>
|
|
226
224
|
|
|
227
225
|
<step name="update_state">
|
|
@@ -233,16 +231,16 @@ Update STATE.md:
|
|
|
233
231
|
2. **Recalculate progress percentage:**
|
|
234
232
|
- New percentage based on completed plans / new total plans
|
|
235
233
|
|
|
236
|
-
Do NOT add a "Roadmap Evolution" note - git commit is record.
|
|
234
|
+
Do NOT add a "Roadmap Evolution" note - the git commit is the record.
|
|
237
235
|
|
|
238
|
-
|
|
236
|
+
write updated STATE.md.
|
|
239
237
|
</step>
|
|
240
238
|
|
|
241
239
|
<step name="update_file_contents">
|
|
242
240
|
Search for and update phase references inside plan files:
|
|
243
241
|
|
|
244
242
|
```bash
|
|
245
|
-
# Find files that reference
|
|
243
|
+
# Find files that reference the old phase numbers
|
|
246
244
|
grep -r "Phase 18" .planning/phases/17-*/ 2>/dev/null
|
|
247
245
|
grep -r "Phase 19" .planning/phases/18-*/ 2>/dev/null
|
|
248
246
|
# etc.
|
|
@@ -252,7 +250,7 @@ Update any internal references to reflect new numbering.
|
|
|
252
250
|
</step>
|
|
253
251
|
|
|
254
252
|
<step name="commit">
|
|
255
|
-
Stage and commit removal:
|
|
253
|
+
Stage and commit the removal:
|
|
256
254
|
|
|
257
255
|
```bash
|
|
258
256
|
git add .planning/
|
|
@@ -297,7 +295,7 @@ Would you like to:
|
|
|
297
295
|
- Don't remove completed phases (have SUMMARY.md files)
|
|
298
296
|
- Don't remove current or past phases
|
|
299
297
|
- Don't leave gaps in numbering - always renumber
|
|
300
|
-
- Don't add "removed phase" notes to STATE.md - git commit is record
|
|
298
|
+
- Don't add "removed phase" notes to STATE.md - git commit is the record
|
|
301
299
|
- Don't ask about each decimal phase - just renumber them
|
|
302
300
|
- Don't modify completed phase directories
|
|
303
301
|
</anti_patterns>
|
|
@@ -310,7 +308,7 @@ Would you like to:
|
|
|
310
308
|
- Simpler operation
|
|
311
309
|
|
|
312
310
|
**No subsequent phases to renumber:**
|
|
313
|
-
- Removing last phase (e.g., Phase 20 when that's the end)
|
|
311
|
+
- Removing the last phase (e.g., Phase 20 when that's the end)
|
|
314
312
|
- Just delete and update ROADMAP.md, no renumbering needed
|
|
315
313
|
|
|
316
314
|
**Phase directory doesn't exist:**
|
|
@@ -1,91 +1,179 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-research-phase
|
|
3
|
-
description: Research how to implement a phase
|
|
3
|
+
description: Research how to implement a phase (standalone - usually use /gsd-plan-phase instead)
|
|
4
4
|
argument-hint: "[phase]"
|
|
5
|
-
|
|
5
|
+
tools:
|
|
6
6
|
- read
|
|
7
7
|
- bash
|
|
8
|
-
- glob
|
|
9
|
-
- grep
|
|
10
|
-
- write
|
|
11
|
-
- webfetch
|
|
12
|
-
- websearch
|
|
13
|
-
- mcp__context7__*
|
|
14
8
|
---
|
|
15
9
|
|
|
16
10
|
<objective>
|
|
17
|
-
|
|
11
|
+
Research how to implement a phase. Spawns gsd-phase-researcher agent with phase context.
|
|
18
12
|
|
|
19
|
-
This is
|
|
20
|
-
- What libraries exist for this problem
|
|
21
|
-
- What architecture patterns experts use
|
|
22
|
-
- What standard stack looks like
|
|
23
|
-
- What problems people commonly hit
|
|
24
|
-
- What NOT to hand-roll (use existing solutions)
|
|
13
|
+
**Note:** This is a standalone research command. For most workflows, use `/gsd-plan-phase` which integrates research automatically.
|
|
25
14
|
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
**Use this command when:**
|
|
16
|
+
- You want to research without planning yet
|
|
17
|
+
- You want to re-research after planning is complete
|
|
18
|
+
- You need to investigate before deciding if a phase is feasible
|
|
19
|
+
|
|
20
|
+
**Orchestrator role:** Parse phase, validate against roadmap, check existing research, gather context, spawn researcher agent, present results.
|
|
28
21
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
@~/.config/opencode/get-shit-done/templates/research.md
|
|
32
|
-
@~/.config/opencode/get-shit-done/references/research-pitfalls.md
|
|
33
|
-
</execution_context>
|
|
22
|
+
**Why subagent:** Research burns context fast (webfetch, Context7 queries, source verification). Fresh 200k context for investigation. Main context stays lean for user interaction.
|
|
23
|
+
</objective>
|
|
34
24
|
|
|
35
25
|
<context>
|
|
36
26
|
Phase number: $ARGUMENTS (required)
|
|
37
27
|
|
|
38
|
-
|
|
39
|
-
|
|
28
|
+
Normalize phase input in step 1 before any directory lookups.
|
|
29
|
+
</context>
|
|
30
|
+
|
|
31
|
+
<process>
|
|
32
|
+
|
|
33
|
+
## 1. Normalize and Validate Phase
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Normalize phase number (8 → 08, but preserve decimals like 2.1 → 02.1)
|
|
37
|
+
if [[ "$ARGUMENTS" =~ ^[0-9]+$ ]]; then
|
|
38
|
+
PHASE=$(printf "%02d" "$ARGUMENTS")
|
|
39
|
+
elif [[ "$ARGUMENTS" =~ ^([0-9]+)\.([0-9]+)$ ]]; then
|
|
40
|
+
PHASE=$(printf "%02d.%s" "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}")
|
|
41
|
+
else
|
|
42
|
+
PHASE="$ARGUMENTS"
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
grep -A5 "Phase ${PHASE}:" .planning/ROADMAP.md 2>/dev/null
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**If not found:** Error and exit. **If found:** Extract phase number, name, description.
|
|
49
|
+
|
|
50
|
+
## 2. Check Existing Research
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**If exists:** Offer: 1) Update research, 2) View existing, 3) Skip. Wait for response.
|
|
57
|
+
|
|
58
|
+
**If doesn't exist:** Continue.
|
|
59
|
+
|
|
60
|
+
## 3. Gather Phase Context
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
grep -A20 "Phase ${PHASE}:" .planning/ROADMAP.md
|
|
64
|
+
cat .planning/REQUIREMENTS.md 2>/dev/null
|
|
65
|
+
cat .planning/phases/${PHASE}-*/${PHASE}-CONTEXT.md 2>/dev/null
|
|
66
|
+
grep -A30 "### Decisions Made" .planning/STATE.md 2>/dev/null
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Present summary with phase description, requirements, prior decisions.
|
|
70
|
+
|
|
71
|
+
## 4. Spawn gsd-researcher Agent
|
|
72
|
+
|
|
73
|
+
Research modes: ecosystem (default), feasibility, implementation, comparison.
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
<research_type>
|
|
77
|
+
Phase Research — investigating HOW to implement a specific phase well.
|
|
78
|
+
</research_type>
|
|
79
|
+
|
|
80
|
+
<key_insight>
|
|
81
|
+
The question is NOT "which library should I use?"
|
|
82
|
+
|
|
83
|
+
The question is: "What do I not know that I don't know?"
|
|
40
84
|
|
|
41
|
-
|
|
42
|
-
|
|
85
|
+
For this phase, discover:
|
|
86
|
+
- What's the established architecture pattern?
|
|
87
|
+
- What libraries form the standard stack?
|
|
88
|
+
- What problems do people commonly hit?
|
|
89
|
+
- What's SOTA vs what OpenCode's training thinks is SOTA?
|
|
90
|
+
- What should NOT be hand-rolled?
|
|
91
|
+
</key_insight>
|
|
43
92
|
|
|
44
|
-
|
|
45
|
-
|
|
93
|
+
<objective>
|
|
94
|
+
Research implementation approach for Phase {phase_number}: {phase_name}
|
|
95
|
+
Mode: ecosystem
|
|
96
|
+
</objective>
|
|
97
|
+
|
|
98
|
+
<context>
|
|
99
|
+
**Phase description:** {phase_description}
|
|
100
|
+
**Requirements:** {requirements_list}
|
|
101
|
+
**Prior decisions:** {decisions_if_any}
|
|
102
|
+
**Phase context:** {context_md_content}
|
|
46
103
|
</context>
|
|
47
104
|
|
|
48
|
-
<
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
105
|
+
<downstream_consumer>
|
|
106
|
+
Your RESEARCH.md will be loaded by `/gsd-plan-phase` which uses specific sections:
|
|
107
|
+
- `## Standard Stack` → Plans use these libraries
|
|
108
|
+
- `## Architecture Patterns` → Task structure follows these
|
|
109
|
+
- `## Don't Hand-Roll` → Tasks NEVER build custom solutions for listed problems
|
|
110
|
+
- `## Common Pitfalls` → Verification steps check for these
|
|
111
|
+
- `## Code Examples` → Task actions reference these patterns
|
|
112
|
+
|
|
113
|
+
Be prescriptive, not exploratory. "Use X" not "Consider X or Y."
|
|
114
|
+
</downstream_consumer>
|
|
115
|
+
|
|
116
|
+
<quality_gate>
|
|
117
|
+
Before declaring complete, verify:
|
|
118
|
+
- [ ] All domains investigated (not just some)
|
|
119
|
+
- [ ] Negative claims verified with official docs
|
|
120
|
+
- [ ] Multiple sources for critical claims
|
|
121
|
+
- [ ] Confidence levels assigned honestly
|
|
122
|
+
- [ ] Section names match what plan-phase expects
|
|
123
|
+
</quality_gate>
|
|
124
|
+
|
|
125
|
+
<output>
|
|
126
|
+
write to: .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md
|
|
127
|
+
</output>
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
Task(
|
|
132
|
+
prompt=filled_prompt,
|
|
133
|
+
subagent_type="gsd-phase-researcher",
|
|
134
|
+
description="Research Phase {phase}"
|
|
135
|
+
)
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## 5. Handle Agent Return
|
|
61
139
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
140
|
+
**`## RESEARCH COMPLETE`:** Display summary, offer: Plan phase, Dig deeper, Review full, Done.
|
|
141
|
+
|
|
142
|
+
**`## CHECKPOINT REACHED`:** Present to user, get response, spawn continuation.
|
|
143
|
+
|
|
144
|
+
**`## RESEARCH INCONCLUSIVE`:** Show what was attempted, offer: Add context, Try different mode, Manual.
|
|
145
|
+
|
|
146
|
+
## 6. Spawn Continuation Agent
|
|
147
|
+
|
|
148
|
+
```markdown
|
|
149
|
+
<objective>
|
|
150
|
+
Continue research for Phase {phase_number}: {phase_name}
|
|
151
|
+
</objective>
|
|
152
|
+
|
|
153
|
+
<prior_state>
|
|
154
|
+
Research file: @.planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md
|
|
155
|
+
</prior_state>
|
|
156
|
+
|
|
157
|
+
<checkpoint_response>
|
|
158
|
+
**Type:** {checkpoint_type}
|
|
159
|
+
**Response:** {user_response}
|
|
160
|
+
</checkpoint_response>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
Task(
|
|
165
|
+
prompt=continuation_prompt,
|
|
166
|
+
subagent_type="gsd-phase-researcher",
|
|
167
|
+
description="Continue research Phase {phase}"
|
|
168
|
+
)
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
</process>
|
|
79
172
|
|
|
80
173
|
<success_criteria>
|
|
81
174
|
- [ ] Phase validated against roadmap
|
|
82
|
-
- [ ]
|
|
83
|
-
- [ ]
|
|
84
|
-
- [ ]
|
|
85
|
-
- [ ]
|
|
86
|
-
- [ ] Standard stack/libraries identified
|
|
87
|
-
- [ ] Architecture patterns documented
|
|
88
|
-
- [ ] Common pitfalls catalogued
|
|
89
|
-
- [ ] What NOT to hand-roll is clear
|
|
90
|
-
- [ ] User knows next steps (plan phase)
|
|
175
|
+
- [ ] Existing research checked
|
|
176
|
+
- [ ] gsd-phase-researcher spawned with context
|
|
177
|
+
- [ ] Checkpoints handled correctly
|
|
178
|
+
- [ ] User knows next steps
|
|
91
179
|
</success_criteria>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsd-resume-work
|
|
3
3
|
description: Resume work from previous session with full context restoration
|
|
4
|
-
|
|
4
|
+
tools:
|
|
5
5
|
- read
|
|
6
6
|
- bash
|
|
7
7
|
- write
|
|
@@ -11,7 +11,7 @@ allowed-tools:
|
|
|
11
11
|
<objective>
|
|
12
12
|
Restore complete project context and resume work seamlessly from previous session.
|
|
13
13
|
|
|
14
|
-
Routes to resume-project workflow which handles:
|
|
14
|
+
Routes to the resume-project workflow which handles:
|
|
15
15
|
|
|
16
16
|
- STATE.md loading (or reconstruction if missing)
|
|
17
17
|
- Checkpoint detection (.continue-here files)
|
|
@@ -25,7 +25,7 @@ Routes to resume-project workflow which handles:
|
|
|
25
25
|
</execution_context>
|
|
26
26
|
|
|
27
27
|
<process>
|
|
28
|
-
**Follow resume-project workflow** from `@~/.config/opencode/get-shit-done/workflows/resume-project.md`.
|
|
28
|
+
**Follow the resume-project workflow** from `@~/.config/opencode/get-shit-done/workflows/resume-project.md`.
|
|
29
29
|
|
|
30
30
|
The workflow handles all resumption logic including:
|
|
31
31
|
|