gsd-opencode 1.3.33 → 1.4.2
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/command/gsd/add-phase.md +3 -3
- package/command/gsd/add-todo.md +182 -0
- package/command/gsd/check-todos.md +217 -0
- package/command/gsd/complete-milestone.md +4 -3
- package/command/gsd/consider-issues.md +5 -5
- package/command/gsd/create-roadmap.md +4 -4
- package/command/gsd/debug.md +58 -0
- package/command/gsd/discuss-phase.md +3 -4
- package/command/gsd/execute-phase.md +137 -0
- package/command/gsd/execute-plan.md +70 -95
- package/command/gsd/help.md +83 -6
- package/command/gsd/insert-phase.md +16 -16
- package/command/gsd/list-phase-assumptions.md +8 -8
- package/command/gsd/map-codebase.md +11 -11
- package/command/gsd/new-milestone.md +1 -1
- package/command/gsd/new-project.md +26 -7
- package/command/gsd/pause-work.md +4 -3
- package/command/gsd/plan-fix.md +8 -8
- package/command/gsd/plan-phase.md +9 -9
- package/command/gsd/progress.md +20 -11
- package/command/gsd/remove-phase.md +15 -15
- package/command/gsd/research-phase.md +10 -10
- package/command/gsd/resume-work.md +4 -5
- package/command/gsd/status.md +127 -0
- package/command/gsd/verify-work.md +8 -8
- package/get-shit-done/references/continuation-format.md +8 -8
- package/get-shit-done/references/debugging/debugging-mindset.md +253 -0
- package/get-shit-done/references/debugging/hypothesis-testing.md +373 -0
- package/get-shit-done/references/debugging/investigation-techniques.md +337 -0
- package/get-shit-done/references/debugging/verification-patterns.md +425 -0
- package/get-shit-done/references/debugging/when-to-research.md +361 -0
- package/get-shit-done/references/plan-format.md +68 -21
- package/get-shit-done/references/questioning.md +12 -12
- package/get-shit-done/references/research-pitfalls.md +2 -2
- package/get-shit-done/references/scope-estimation.md +95 -11
- package/get-shit-done/templates/DEBUG.md +159 -0
- package/get-shit-done/templates/agent-history.md +263 -0
- package/get-shit-done/templates/checkpoint-return.md +204 -0
- package/get-shit-done/templates/codebase/architecture.md +4 -4
- package/get-shit-done/templates/codebase/concerns.md +1 -1
- package/get-shit-done/templates/codebase/structure.md +11 -11
- package/get-shit-done/templates/config.json +8 -0
- package/get-shit-done/templates/context.md +0 -21
- package/get-shit-done/templates/continuation-prompt.md +235 -0
- package/get-shit-done/templates/milestone-archive.md +1 -1
- package/get-shit-done/templates/phase-prompt.md +289 -129
- package/get-shit-done/templates/roadmap.md +1 -1
- package/get-shit-done/templates/state.md +11 -0
- package/get-shit-done/templates/subagent-task-prompt.md +95 -0
- package/get-shit-done/templates/summary.md +2 -2
- package/get-shit-done/workflows/_archive/execute-phase.md +899 -0
- package/get-shit-done/workflows/complete-milestone.md +1 -1
- package/get-shit-done/workflows/create-milestone.md +1 -1
- package/get-shit-done/workflows/create-roadmap.md +2 -2
- package/get-shit-done/workflows/debug.md +426 -0
- package/get-shit-done/workflows/discovery-phase.md +1 -1
- package/get-shit-done/workflows/discuss-milestone.md +6 -6
- package/get-shit-done/workflows/discuss-phase.md +12 -22
- package/get-shit-done/workflows/execute-phase.md +272 -1504
- package/get-shit-done/workflows/execute-plan.md +1813 -0
- package/get-shit-done/workflows/map-codebase.md +9 -9
- package/get-shit-done/workflows/plan-phase.md +262 -49
- package/get-shit-done/workflows/resume-project.md +28 -2
- package/get-shit-done/workflows/transition.md +4 -4
- package/get-shit-done/workflows/verify-work.md +4 -4
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Phase Prompt Template
|
|
2
2
|
|
|
3
|
-
Template for `.planning/phases/XX-name/{phase}-{plan}-PLAN.md` - executable phase plans.
|
|
3
|
+
Template for `.planning/phases/XX-name/{phase}-{plan}-PLAN.md` - executable phase plans optimized for parallel execution.
|
|
4
4
|
|
|
5
5
|
**Naming:** Use `{phase}-{plan}-PLAN.md` format (e.g., `01-02-PLAN.md` for Phase 1, Plan 2)
|
|
6
6
|
|
|
@@ -11,29 +11,39 @@ Template for `.planning/phases/XX-name/{phase}-{plan}-PLAN.md` - executable phas
|
|
|
11
11
|
```markdown
|
|
12
12
|
---
|
|
13
13
|
phase: XX-name
|
|
14
|
+
plan: NN
|
|
14
15
|
type: execute
|
|
16
|
+
wave: N # Execution wave (1, 2, 3...). Pre-computed at plan time.
|
|
17
|
+
depends_on: [] # Plan IDs this plan requires (e.g., ["01-01"]).
|
|
18
|
+
files_modified: [] # Files this plan modifies.
|
|
19
|
+
autonomous: true # false if plan has checkpoints requiring user interaction
|
|
15
20
|
domain: [optional - if domain skill loaded]
|
|
16
21
|
---
|
|
17
22
|
|
|
18
23
|
<objective>
|
|
19
|
-
[What this
|
|
24
|
+
[What this plan accomplishes]
|
|
20
25
|
|
|
21
26
|
Purpose: [Why this matters for the project]
|
|
22
27
|
Output: [What artifacts will be created]
|
|
23
28
|
</objective>
|
|
24
29
|
|
|
25
30
|
<execution_context>
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
@~/.config/opencode/get-shit-done/workflows/execute-plan.md
|
|
32
|
+
@~/.config/opencode/get-shit-done/templates/summary.md
|
|
28
33
|
[If plan contains checkpoint tasks (type="checkpoint:*"), add:]
|
|
29
|
-
|
|
34
|
+
@~/.config/opencode/get-shit-done/references/checkpoints.md
|
|
30
35
|
</execution_context>
|
|
31
36
|
|
|
32
37
|
<context>
|
|
33
38
|
@.planning/PROJECT.md
|
|
34
39
|
@.planning/ROADMAP.md
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
@.planning/STATE.md
|
|
41
|
+
|
|
42
|
+
# Only reference prior plan SUMMARYs if genuinely needed:
|
|
43
|
+
# - This plan uses types/exports from prior plan
|
|
44
|
+
# - Prior plan made decision that affects this plan
|
|
45
|
+
# Do NOT reflexively chain: Plan 02 refs 01, Plan 03 refs 02...
|
|
46
|
+
|
|
37
47
|
[Relevant source files:]
|
|
38
48
|
@src/path/to/relevant.ts
|
|
39
49
|
</context>
|
|
@@ -74,14 +84,6 @@ Output: [What artifacts will be created]
|
|
|
74
84
|
<resume-signal>[How to indicate choice - "Select: option-a or option-b"]</resume-signal>
|
|
75
85
|
</task>
|
|
76
86
|
|
|
77
|
-
<task type="auto">
|
|
78
|
-
<name>Task 3: [Action-oriented name]</name>
|
|
79
|
-
<files>path/to/file.ext</files>
|
|
80
|
-
<action>[Specific implementation]</action>
|
|
81
|
-
<verify>[Command or check]</verify>
|
|
82
|
-
<done>[Acceptance criteria]</done>
|
|
83
|
-
</task>
|
|
84
|
-
|
|
85
87
|
<task type="checkpoint:human-verify" gate="blocking">
|
|
86
88
|
<what-built>[What Claude just built that needs verification]</what-built>
|
|
87
89
|
<how-to-verify>
|
|
@@ -93,12 +95,10 @@ Output: [What artifacts will be created]
|
|
|
93
95
|
<resume-signal>Type "approved" to continue, or describe issues to fix</resume-signal>
|
|
94
96
|
</task>
|
|
95
97
|
|
|
96
|
-
[Continue for all tasks - mix of auto and checkpoints as needed...]
|
|
97
|
-
|
|
98
98
|
</tasks>
|
|
99
99
|
|
|
100
100
|
<verification>
|
|
101
|
-
Before declaring
|
|
101
|
+
Before declaring plan complete:
|
|
102
102
|
- [ ] [Specific test command]
|
|
103
103
|
- [ ] [Build/type check passes]
|
|
104
104
|
- [ ] [Behavior verification]
|
|
@@ -109,195 +109,355 @@ Before declaring phase complete:
|
|
|
109
109
|
- All tasks completed
|
|
110
110
|
- All verification checks pass
|
|
111
111
|
- No errors or warnings introduced
|
|
112
|
-
- [
|
|
112
|
+
- [Plan-specific criteria]
|
|
113
113
|
</success_criteria>
|
|
114
114
|
|
|
115
115
|
<output>
|
|
116
|
-
After completion, create `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md
|
|
116
|
+
After completion, create `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md`
|
|
117
|
+
</output>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
117
121
|
|
|
118
|
-
|
|
122
|
+
## Frontmatter Fields
|
|
119
123
|
|
|
120
|
-
|
|
124
|
+
| Field | Required | Purpose |
|
|
125
|
+
|-------|----------|---------|
|
|
126
|
+
| `phase` | Yes | Phase identifier (e.g., `01-foundation`) |
|
|
127
|
+
| `plan` | Yes | Plan number within phase (e.g., `01`, `02`) |
|
|
128
|
+
| `type` | Yes | Always `execute` for standard plans, `tdd` for TDD plans |
|
|
129
|
+
| `wave` | Yes | Execution wave number (1, 2, 3...). Pre-computed at plan time. |
|
|
130
|
+
| `depends_on` | Yes | Array of plan IDs this plan requires. |
|
|
131
|
+
| `files_modified` | Yes | Files this plan touches. |
|
|
132
|
+
| `autonomous` | Yes | `true` if no checkpoints, `false` if has checkpoints |
|
|
133
|
+
| `domain` | No | Domain skill if loaded (e.g., `next-js`) |
|
|
121
134
|
|
|
122
|
-
|
|
135
|
+
**Wave is pre-computed:** Wave numbers are assigned during `/gsd:plan-phase`. Execute-phase reads `wave` directly from frontmatter and groups plans by wave number. No runtime dependency analysis needed.
|
|
123
136
|
|
|
124
|
-
|
|
125
|
-
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Parallel vs Sequential
|
|
126
140
|
|
|
127
|
-
|
|
141
|
+
<parallel_examples>
|
|
128
142
|
|
|
129
|
-
|
|
130
|
-
- `path/to/another.ts` - Description
|
|
143
|
+
**Wave 1 candidates (parallel):**
|
|
131
144
|
|
|
132
|
-
|
|
145
|
+
```yaml
|
|
146
|
+
# Plan 01 - User feature
|
|
147
|
+
wave: 1
|
|
148
|
+
depends_on: []
|
|
149
|
+
files_modified: [src/models/user.ts, src/api/users.ts]
|
|
150
|
+
autonomous: true
|
|
133
151
|
|
|
134
|
-
|
|
152
|
+
# Plan 02 - Product feature (no overlap with Plan 01)
|
|
153
|
+
wave: 1
|
|
154
|
+
depends_on: []
|
|
155
|
+
files_modified: [src/models/product.ts, src/api/products.ts]
|
|
156
|
+
autonomous: true
|
|
135
157
|
|
|
136
|
-
|
|
158
|
+
# Plan 03 - Order feature (no overlap)
|
|
159
|
+
wave: 1
|
|
160
|
+
depends_on: []
|
|
161
|
+
files_modified: [src/models/order.ts, src/api/orders.ts]
|
|
162
|
+
autonomous: true
|
|
163
|
+
```
|
|
137
164
|
|
|
138
|
-
|
|
165
|
+
All three run in parallel (Wave 1) - no dependencies, no file conflicts.
|
|
139
166
|
|
|
140
|
-
|
|
167
|
+
**Sequential (genuine dependency):**
|
|
141
168
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
169
|
+
```yaml
|
|
170
|
+
# Plan 01 - Auth foundation
|
|
171
|
+
wave: 1
|
|
172
|
+
depends_on: []
|
|
173
|
+
files_modified: [src/lib/auth.ts, src/middleware/auth.ts]
|
|
174
|
+
autonomous: true
|
|
175
|
+
|
|
176
|
+
# Plan 02 - Protected features (needs auth)
|
|
177
|
+
wave: 2
|
|
178
|
+
depends_on: ["01"]
|
|
179
|
+
files_modified: [src/features/dashboard.ts]
|
|
180
|
+
autonomous: true
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Plan 02 in Wave 2 waits for Plan 01 in Wave 1 - genuine dependency on auth types/middleware.
|
|
184
|
+
|
|
185
|
+
**Checkpoint plan:**
|
|
186
|
+
|
|
187
|
+
```yaml
|
|
188
|
+
# Plan 03 - UI with verification
|
|
189
|
+
wave: 3
|
|
190
|
+
depends_on: ["01", "02"]
|
|
191
|
+
files_modified: [src/components/Dashboard.tsx]
|
|
192
|
+
autonomous: false # Has checkpoint:human-verify
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Wave 3 runs after Waves 1 and 2. Pauses at checkpoint, orchestrator presents to user, resumes on approval.
|
|
196
|
+
|
|
197
|
+
</parallel_examples>
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Context Section
|
|
202
|
+
|
|
203
|
+
**Parallel-aware context:**
|
|
204
|
+
|
|
205
|
+
```markdown
|
|
206
|
+
<context>
|
|
207
|
+
@.planning/PROJECT.md
|
|
208
|
+
@.planning/ROADMAP.md
|
|
209
|
+
@.planning/STATE.md
|
|
210
|
+
|
|
211
|
+
# Only include SUMMARY refs if genuinely needed:
|
|
212
|
+
# - This plan imports types from prior plan
|
|
213
|
+
# - Prior plan made decision affecting this plan
|
|
214
|
+
# - Prior plan's output is input to this plan
|
|
215
|
+
#
|
|
216
|
+
# Independent plans need NO prior SUMMARY references.
|
|
217
|
+
# Do NOT reflexively chain: 02 refs 01, 03 refs 02...
|
|
218
|
+
|
|
219
|
+
@src/relevant/source.ts
|
|
220
|
+
</context>
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**Bad pattern (creates false dependencies):**
|
|
224
|
+
```markdown
|
|
225
|
+
<context>
|
|
226
|
+
@.planning/phases/03-features/03-01-SUMMARY.md # Just because it's earlier
|
|
227
|
+
@.planning/phases/03-features/03-02-SUMMARY.md # Reflexive chaining
|
|
228
|
+
</context>
|
|
145
229
|
```
|
|
146
230
|
|
|
147
|
-
|
|
148
|
-
From create-meta-prompts patterns:
|
|
231
|
+
---
|
|
149
232
|
|
|
150
|
-
|
|
151
|
-
- @context references for file loading
|
|
152
|
-
- Task types: auto, checkpoint:human-action, checkpoint:human-verify, checkpoint:decision
|
|
153
|
-
- Action includes "what to avoid and WHY" (from intelligence-rules)
|
|
154
|
-
- Verification is specific and executable
|
|
155
|
-
- Success criteria is measurable
|
|
156
|
-
- Output specification includes SUMMARY.md structure
|
|
157
|
-
</key_elements>
|
|
233
|
+
## Scope Guidance
|
|
158
234
|
|
|
159
|
-
<scope_guidance>
|
|
160
235
|
**Plan sizing:**
|
|
161
236
|
|
|
162
|
-
-
|
|
163
|
-
-
|
|
164
|
-
-
|
|
165
|
-
- Complex phases: Create 01-01, 01-02, 01-03 plans instead of one large plan
|
|
237
|
+
- 2-3 tasks per plan
|
|
238
|
+
- ~50% context usage maximum
|
|
239
|
+
- Complex phases: Multiple focused plans, not one large plan
|
|
166
240
|
|
|
167
241
|
**When to split:**
|
|
168
242
|
|
|
169
243
|
- Different subsystems (auth vs API vs UI)
|
|
170
|
-
-
|
|
171
|
-
- Risk of context overflow
|
|
172
|
-
-
|
|
173
|
-
|
|
244
|
+
- >3 tasks
|
|
245
|
+
- Risk of context overflow
|
|
246
|
+
- TDD candidates - separate plans
|
|
247
|
+
|
|
248
|
+
**Vertical slices preferred:**
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
PREFER: Plan 01 = User (model + API + UI)
|
|
252
|
+
Plan 02 = Product (model + API + UI)
|
|
253
|
+
|
|
254
|
+
AVOID: Plan 01 = All models
|
|
255
|
+
Plan 02 = All APIs
|
|
256
|
+
Plan 03 = All UIs
|
|
257
|
+
```
|
|
174
258
|
|
|
175
|
-
|
|
176
|
-
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## TDD Plans
|
|
177
262
|
|
|
178
|
-
TDD
|
|
263
|
+
TDD features get dedicated plans with `type: tdd`.
|
|
179
264
|
|
|
180
265
|
**Heuristic:** Can you write `expect(fn(input)).toBe(output)` before writing `fn`?
|
|
181
|
-
→ Yes: Create a TDD plan
|
|
266
|
+
→ Yes: Create a TDD plan
|
|
182
267
|
→ No: Standard task in standard plan
|
|
183
268
|
|
|
184
269
|
See `~/.config/opencode/get-shit-done/references/tdd.md` for TDD plan structure.
|
|
185
|
-
</tdd_plan_note>
|
|
186
270
|
|
|
187
|
-
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Task Types
|
|
274
|
+
|
|
275
|
+
| Type | Use For | Autonomy |
|
|
276
|
+
|------|---------|----------|
|
|
277
|
+
| `auto` | Everything Claude can do independently | Fully autonomous |
|
|
278
|
+
| `checkpoint:human-verify` | Visual/functional verification | Pauses, returns to orchestrator |
|
|
279
|
+
| `checkpoint:decision` | Implementation choices | Pauses, returns to orchestrator |
|
|
280
|
+
| `checkpoint:human-action` | Truly unavoidable manual steps (rare) | Pauses, returns to orchestrator |
|
|
281
|
+
|
|
282
|
+
**Checkpoint behavior in parallel execution:**
|
|
283
|
+
- Plan runs until checkpoint
|
|
284
|
+
- Agent returns with checkpoint details + agent_id
|
|
285
|
+
- Orchestrator presents to user
|
|
286
|
+
- User responds
|
|
287
|
+
- Orchestrator resumes agent with `resume: agent_id`
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Examples
|
|
292
|
+
|
|
293
|
+
**Autonomous parallel plan:**
|
|
188
294
|
|
|
189
295
|
```markdown
|
|
190
296
|
---
|
|
191
|
-
phase:
|
|
297
|
+
phase: 03-features
|
|
298
|
+
plan: 01
|
|
192
299
|
type: execute
|
|
193
|
-
|
|
300
|
+
wave: 1
|
|
301
|
+
depends_on: []
|
|
302
|
+
files_modified: [src/features/user/model.ts, src/features/user/api.ts, src/features/user/UserList.tsx]
|
|
303
|
+
autonomous: true
|
|
194
304
|
---
|
|
195
305
|
|
|
196
306
|
<objective>
|
|
197
|
-
|
|
307
|
+
Implement complete User feature as vertical slice.
|
|
198
308
|
|
|
199
|
-
Purpose:
|
|
200
|
-
Output:
|
|
309
|
+
Purpose: Self-contained user management that can run parallel to other features.
|
|
310
|
+
Output: User model, API endpoints, and UI components.
|
|
201
311
|
</objective>
|
|
202
312
|
|
|
203
|
-
<execution_context>
|
|
204
|
-
~/.config/opencode/get-shit-done/workflows/execute-phase.md
|
|
205
|
-
./summary.md
|
|
206
|
-
</execution_context>
|
|
207
|
-
|
|
208
313
|
<context>
|
|
209
314
|
@.planning/PROJECT.md
|
|
210
315
|
@.planning/ROADMAP.md
|
|
211
|
-
|
|
316
|
+
@.planning/STATE.md
|
|
212
317
|
</context>
|
|
213
318
|
|
|
214
319
|
<tasks>
|
|
215
|
-
|
|
216
320
|
<task type="auto">
|
|
217
|
-
<name>Task 1:
|
|
218
|
-
<files>
|
|
219
|
-
<action>
|
|
220
|
-
<verify>
|
|
221
|
-
<done>
|
|
321
|
+
<name>Task 1: Create User model</name>
|
|
322
|
+
<files>src/features/user/model.ts</files>
|
|
323
|
+
<action>Define User type with id, email, name, createdAt. Export TypeScript interface.</action>
|
|
324
|
+
<verify>tsc --noEmit passes</verify>
|
|
325
|
+
<done>User type exported and usable</done>
|
|
222
326
|
</task>
|
|
223
327
|
|
|
224
328
|
<task type="auto">
|
|
225
|
-
<name>Task 2: Create
|
|
226
|
-
<files>src/
|
|
227
|
-
<action>
|
|
228
|
-
<verify>curl
|
|
229
|
-
<done>
|
|
329
|
+
<name>Task 2: Create User API endpoints</name>
|
|
330
|
+
<files>src/features/user/api.ts</files>
|
|
331
|
+
<action>GET /users (list), GET /users/:id (single), POST /users (create). Use User type from model.</action>
|
|
332
|
+
<verify>curl tests pass for all endpoints</verify>
|
|
333
|
+
<done>All CRUD operations work</done>
|
|
230
334
|
</task>
|
|
231
|
-
|
|
232
335
|
</tasks>
|
|
233
336
|
|
|
234
337
|
<verification>
|
|
235
|
-
|
|
236
|
-
- [ ]
|
|
237
|
-
- [ ] `npx prisma validate` passes
|
|
238
|
-
- [ ] Login endpoint responds correctly to valid/invalid credentials
|
|
239
|
-
- [ ] Protected route redirects unauthenticated users
|
|
338
|
+
- [ ] npm run build succeeds
|
|
339
|
+
- [ ] API endpoints respond correctly
|
|
240
340
|
</verification>
|
|
241
341
|
|
|
242
342
|
<success_criteria>
|
|
243
|
-
|
|
244
343
|
- All tasks completed
|
|
245
|
-
-
|
|
246
|
-
|
|
247
|
-
- JWT auth flow works end-to-end
|
|
248
|
-
</success_criteria>
|
|
344
|
+
- User feature works end-to-end
|
|
345
|
+
</success_criteria>
|
|
249
346
|
|
|
250
347
|
<output>
|
|
251
|
-
After completion, create `.planning/phases/
|
|
348
|
+
After completion, create `.planning/phases/03-features/03-01-SUMMARY.md`
|
|
252
349
|
</output>
|
|
253
350
|
```
|
|
254
351
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
<bad_examples>
|
|
352
|
+
**Plan with checkpoint (non-autonomous):**
|
|
258
353
|
|
|
259
354
|
```markdown
|
|
260
|
-
|
|
355
|
+
---
|
|
356
|
+
phase: 03-features
|
|
357
|
+
plan: 03
|
|
358
|
+
type: execute
|
|
359
|
+
wave: 2
|
|
360
|
+
depends_on: ["03-01", "03-02"]
|
|
361
|
+
files_modified: [src/components/Dashboard.tsx]
|
|
362
|
+
autonomous: false
|
|
363
|
+
---
|
|
261
364
|
|
|
262
|
-
|
|
365
|
+
<objective>
|
|
366
|
+
Build dashboard with visual verification.
|
|
263
367
|
|
|
264
|
-
|
|
368
|
+
Purpose: Integrate user and product features into unified view.
|
|
369
|
+
Output: Working dashboard component.
|
|
370
|
+
</objective>
|
|
265
371
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
372
|
+
<execution_context>
|
|
373
|
+
@~/.config/opencode/get-shit-done/workflows/execute-plan.md
|
|
374
|
+
@~/.config/opencode/get-shit-done/templates/summary.md
|
|
375
|
+
@~/.config/opencode/get-shit-done/references/checkpoints.md
|
|
376
|
+
</execution_context>
|
|
269
377
|
|
|
270
|
-
|
|
271
|
-
|
|
378
|
+
<context>
|
|
379
|
+
@.planning/PROJECT.md
|
|
380
|
+
@.planning/ROADMAP.md
|
|
381
|
+
@.planning/phases/03-features/03-01-SUMMARY.md
|
|
382
|
+
@.planning/phases/03-features/03-02-SUMMARY.md
|
|
383
|
+
</context>
|
|
272
384
|
|
|
273
|
-
<
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
385
|
+
<tasks>
|
|
386
|
+
<task type="auto">
|
|
387
|
+
<name>Task 1: Build Dashboard layout</name>
|
|
388
|
+
<files>src/components/Dashboard.tsx</files>
|
|
389
|
+
<action>Create responsive grid with UserList and ProductList components. Use Tailwind for styling.</action>
|
|
390
|
+
<verify>npm run build succeeds</verify>
|
|
391
|
+
<done>Dashboard renders without errors</done>
|
|
392
|
+
</task>
|
|
278
393
|
|
|
279
|
-
|
|
394
|
+
<task type="checkpoint:human-verify" gate="blocking">
|
|
395
|
+
<what-built>Responsive dashboard with user and product sections</what-built>
|
|
396
|
+
<how-to-verify>
|
|
397
|
+
1. Run: npm run dev
|
|
398
|
+
2. Visit: http://localhost:3000/dashboard
|
|
399
|
+
3. Desktop: Verify two-column grid
|
|
400
|
+
4. Mobile: Verify stacked layout
|
|
401
|
+
5. Check: No layout shift, no scroll issues
|
|
402
|
+
</how-to-verify>
|
|
403
|
+
<resume-signal>Type "approved" or describe issues</resume-signal>
|
|
404
|
+
</task>
|
|
405
|
+
</tasks>
|
|
280
406
|
|
|
281
|
-
|
|
282
|
-
-
|
|
283
|
-
-
|
|
284
|
-
|
|
407
|
+
<verification>
|
|
408
|
+
- [ ] npm run build succeeds
|
|
409
|
+
- [ ] Visual verification passed
|
|
410
|
+
</verification>
|
|
285
411
|
|
|
286
|
-
|
|
412
|
+
<success_criteria>
|
|
413
|
+
- All tasks completed
|
|
414
|
+
- User approved visual layout
|
|
415
|
+
</success_criteria>
|
|
287
416
|
|
|
288
|
-
|
|
289
|
-
|
|
417
|
+
<output>
|
|
418
|
+
After completion, create `.planning/phases/03-features/03-03-SUMMARY.md`
|
|
419
|
+
</output>
|
|
420
|
+
```
|
|
290
421
|
|
|
291
|
-
|
|
422
|
+
---
|
|
292
423
|
|
|
293
|
-
-
|
|
294
|
-
- Always include @.planning/PROJECT.md and @.planning/ROADMAP.md
|
|
295
|
-
- Include relevant source files for context
|
|
296
|
-
- Include workflow/template references
|
|
424
|
+
## Anti-Patterns
|
|
297
425
|
|
|
298
|
-
**
|
|
426
|
+
**Bad: Reflexive dependency chaining**
|
|
427
|
+
```yaml
|
|
428
|
+
depends_on: ["03-01"] # Just because 01 comes before 02
|
|
429
|
+
```
|
|
299
430
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
431
|
+
**Bad: Horizontal layer grouping**
|
|
432
|
+
```
|
|
433
|
+
Plan 01: All models
|
|
434
|
+
Plan 02: All APIs (depends on 01)
|
|
435
|
+
Plan 03: All UIs (depends on 02)
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
**Bad: Missing autonomy flag**
|
|
439
|
+
```yaml
|
|
440
|
+
# Has checkpoint but no autonomous: false
|
|
441
|
+
depends_on: []
|
|
442
|
+
files_modified: [...]
|
|
443
|
+
# autonomous: ??? <- Missing!
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
**Bad: Vague tasks**
|
|
447
|
+
```xml
|
|
448
|
+
<task type="auto">
|
|
449
|
+
<name>Set up authentication</name>
|
|
450
|
+
<action>Add auth to the app</action>
|
|
451
|
+
</task>
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
---
|
|
455
|
+
|
|
456
|
+
## Guidelines
|
|
457
|
+
|
|
458
|
+
- Always use XML structure for Claude parsing
|
|
459
|
+
- Include `wave`, `depends_on`, `files_modified`, `autonomous` in every plan
|
|
460
|
+
- Prefer vertical slices over horizontal layers
|
|
461
|
+
- Only reference prior SUMMARYs when genuinely needed
|
|
462
|
+
- Group checkpoints with related auto tasks in same plan
|
|
463
|
+
- 2-3 tasks per plan, ~50% context max
|
|
@@ -60,6 +60,12 @@ Recent decisions affecting current work:
|
|
|
60
60
|
|
|
61
61
|
None yet.
|
|
62
62
|
|
|
63
|
+
### Pending Todos
|
|
64
|
+
|
|
65
|
+
[From .planning/todos/pending/ — ideas captured during sessions]
|
|
66
|
+
|
|
67
|
+
None yet.
|
|
68
|
+
|
|
63
69
|
### Blockers/Concerns
|
|
64
70
|
|
|
65
71
|
[Issues that affect future work]
|
|
@@ -152,6 +158,11 @@ Updated after each plan completion.
|
|
|
152
158
|
- Effort estimate if known
|
|
153
159
|
- Helps phase planning identify what to address
|
|
154
160
|
|
|
161
|
+
**Pending Todos:** Ideas captured via /gsd:add-todo
|
|
162
|
+
- Count of pending todos
|
|
163
|
+
- Reference to .planning/todos/pending/
|
|
164
|
+
- Brief list if few, count if many (e.g., "5 pending todos — see /gsd:check-todos")
|
|
165
|
+
|
|
155
166
|
**Blockers/Concerns:** From "Next Phase Readiness" sections
|
|
156
167
|
- Issues that affect future work
|
|
157
168
|
- Prefix with originating phase
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Subagent Task Prompt Template
|
|
2
|
+
|
|
3
|
+
Template for spawning plan execution agents. Used by execute-phase (parallel) and execute-plan (single) orchestrators.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Template
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
<objective>
|
|
11
|
+
Execute plan {plan_number} of phase {phase_number}-{phase_name}.
|
|
12
|
+
|
|
13
|
+
Commit each task atomically. Create SUMMARY.md. Update STATE.md.
|
|
14
|
+
|
|
15
|
+
**Checkpoint handling:** If you hit a checkpoint task or auth gate, STOP and return a structured checkpoint message. The orchestrator will spawn a fresh agent to continue after the user responds.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<execution_context>
|
|
19
|
+
@~/.config/opencode/get-shit-done/workflows/execute-plan.md
|
|
20
|
+
@~/.config/opencode/get-shit-done/templates/summary.md
|
|
21
|
+
@~/.config/opencode/get-shit-done/references/checkpoints.md
|
|
22
|
+
@~/.config/opencode/get-shit-done/references/tdd.md
|
|
23
|
+
</execution_context>
|
|
24
|
+
|
|
25
|
+
<context>
|
|
26
|
+
Plan: @{plan_path}
|
|
27
|
+
Project state: @.planning/STATE.md
|
|
28
|
+
Config: @.planning/config.json (if exists)
|
|
29
|
+
</context>
|
|
30
|
+
|
|
31
|
+
<checkpoint_behavior>
|
|
32
|
+
When you encounter a checkpoint task (type="checkpoint:*") or auth gate, STOP execution and return using the structured format in:
|
|
33
|
+
|
|
34
|
+
@~/.config/opencode/get-shit-done/templates/checkpoint-return.md
|
|
35
|
+
|
|
36
|
+
**Required in your return:**
|
|
37
|
+
1. Completed Tasks table with commit hashes and files
|
|
38
|
+
2. Current task name and what's blocking it
|
|
39
|
+
3. Checkpoint details for the user
|
|
40
|
+
4. What you're awaiting from the user
|
|
41
|
+
|
|
42
|
+
The orchestrator will present this to the user. After they respond, a FRESH agent will continue from your checkpoint using the continuation-prompt template. You will NOT be resumed.
|
|
43
|
+
</checkpoint_behavior>
|
|
44
|
+
|
|
45
|
+
<completion_format>
|
|
46
|
+
When plan completes successfully, return:
|
|
47
|
+
|
|
48
|
+
## PLAN COMPLETE
|
|
49
|
+
|
|
50
|
+
**Plan:** {phase}-{plan}
|
|
51
|
+
**Tasks:** {completed}/{total}
|
|
52
|
+
**SUMMARY:** {path to SUMMARY.md}
|
|
53
|
+
|
|
54
|
+
**Commits:**
|
|
55
|
+
- {hash}: {message}
|
|
56
|
+
...
|
|
57
|
+
</completion_format>
|
|
58
|
+
|
|
59
|
+
<success_criteria>
|
|
60
|
+
- [ ] All tasks executed (or paused at checkpoint with full state returned)
|
|
61
|
+
- [ ] Each task committed individually
|
|
62
|
+
- [ ] SUMMARY.md created in plan directory
|
|
63
|
+
- [ ] STATE.md updated with position and decisions
|
|
64
|
+
</success_criteria>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Placeholders
|
|
70
|
+
|
|
71
|
+
| Placeholder | Source | Example |
|
|
72
|
+
|-------------|--------|---------|
|
|
73
|
+
| `{phase_number}` | Phase directory name | `01` |
|
|
74
|
+
| `{phase_name}` | Phase directory name | `foundation` |
|
|
75
|
+
| `{plan_number}` | Plan filename | `01` |
|
|
76
|
+
| `{plan_path}` | Full path to PLAN.md | `.planning/phases/01-foundation/01-01-PLAN.md` |
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Usage
|
|
81
|
+
|
|
82
|
+
Orchestrator fills placeholders and passes to Task tool:
|
|
83
|
+
|
|
84
|
+
```python
|
|
85
|
+
Task(
|
|
86
|
+
prompt=filled_template,
|
|
87
|
+
subagent_type="general"
|
|
88
|
+
)
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Agent reads @-references, loads full workflow context, executes plan.
|
|
92
|
+
|
|
93
|
+
When agent returns:
|
|
94
|
+
- If contains "## CHECKPOINT REACHED": Parse checkpoint, present to user, spawn fresh agent with continuation-prompt.md
|
|
95
|
+
- If contains "## PLAN COMPLETE": Finalize execution
|