specdacular 0.8.1 → 0.9.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/README.md +166 -54
- package/commands/specd/continue.md +22 -14
- package/commands/specd/toolbox.md +58 -14
- package/package.json +1 -1
- package/specdacular/HELP.md +70 -9
- package/specdacular/STATE-MACHINE.md +376 -0
- package/specdacular/pipeline.json +76 -0
- package/specdacular/references/brain-routing.md +168 -0
- package/specdacular/references/commit-code.md +9 -6
- package/specdacular/references/commit-docs.md +9 -6
- package/specdacular/references/execute-hooks.md +127 -0
- package/specdacular/references/resolve-pipeline.md +74 -0
- package/specdacular/templates/context/review-diff.md +60 -0
- package/specdacular/templates/context/section-display.md +51 -0
- package/specdacular/workflows/brain.md +378 -0
- package/specdacular/workflows/context-add.md +242 -0
- package/specdacular/workflows/context-manual-review.md +410 -0
- package/specdacular/workflows/continue.md +17 -259
- package/specdacular/workflows/execute.md +15 -42
- package/specdacular/workflows/map-codebase.md +14 -0
- package/specdacular/workflows/phase-plan.md +142 -0
- package/specdacular/workflows/plan.md +10 -37
- package/specdacular/workflows/research.md +25 -7
- package/specdacular/workflows/review.md +11 -136
- package/specdacular/workflows/revise.md +126 -0
|
@@ -1,263 +1,26 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Continue a task's lifecycle.
|
|
2
|
+
Continue a task's lifecycle. Delegates to brain.md for all flow control, state routing, mode handling, and step dispatch.
|
|
3
3
|
|
|
4
|
-
This is
|
|
5
|
-
|
|
6
|
-
**Modes:**
|
|
7
|
-
- **Interactive (default):** Prompts at each stage transition
|
|
8
|
-
- **--semi-auto:** Auto-runs discuss→research→plan, pauses after each phase execution + review
|
|
9
|
-
- **--auto:** Runs everything, only stops on review issues or task completion
|
|
4
|
+
This is a thin entry point — the brain does all the work.
|
|
10
5
|
</purpose>
|
|
11
6
|
|
|
12
7
|
<process>
|
|
13
8
|
|
|
14
|
-
<step name="
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
**Parse $ARGUMENTS:**
|
|
18
|
-
- Extract task name (first argument, or only argument without --)
|
|
19
|
-
- Check for `--semi-auto` flag
|
|
20
|
-
- Check for `--auto` flag
|
|
21
|
-
- Default mode: interactive
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
Mode: {interactive | semi-auto | auto}
|
|
25
|
-
Task: {task-name}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Continue to validate.
|
|
29
|
-
</step>
|
|
30
|
-
|
|
31
|
-
<step name="validate">
|
|
32
|
-
@~/.claude/specdacular/references/validate-task.md
|
|
33
|
-
|
|
34
|
-
Use basic validation with $TASK_NAME.
|
|
35
|
-
|
|
36
|
-
Continue to load_state.
|
|
37
|
-
</step>
|
|
38
|
-
|
|
39
|
-
<step name="load_state">
|
|
40
|
-
Read current state to determine next action.
|
|
41
|
-
|
|
42
|
-
**Read:**
|
|
43
|
-
- `config.json` — stage, phases info
|
|
44
|
-
- `STATE.md` — progress checkboxes
|
|
45
|
-
- `CONTEXT.md` — gray areas remaining
|
|
46
|
-
|
|
47
|
-
**Determine current position:**
|
|
48
|
-
- stage from config.json: discussion, research, planning, execution
|
|
49
|
-
- phases.current_status: pending, executing, executed, completed
|
|
50
|
-
- Gray areas count from CONTEXT.md
|
|
51
|
-
|
|
52
|
-
Continue to determine_action.
|
|
53
|
-
</step>
|
|
54
|
-
|
|
55
|
-
<step name="determine_action">
|
|
56
|
-
Route to the appropriate action based on state.
|
|
57
|
-
|
|
58
|
-
**Routing logic:**
|
|
59
|
-
|
|
60
|
-
1. **Stage = discussion, gray areas remain:**
|
|
61
|
-
→ action_discuss
|
|
62
|
-
|
|
63
|
-
2. **Stage = discussion, no gray areas:**
|
|
64
|
-
→ action_research_or_plan
|
|
65
|
-
|
|
66
|
-
3. **Stage = research (RESEARCH.md missing):**
|
|
67
|
-
→ action_research
|
|
68
|
-
|
|
69
|
-
4. **Stage = planning (no phases exist):**
|
|
70
|
-
→ action_plan
|
|
71
|
-
|
|
72
|
-
5. **Stage = planning or execution, phases.current_status = "pending":**
|
|
73
|
-
→ action_execute
|
|
74
|
-
|
|
75
|
-
6. **Stage = execution, phases.current_status = "executing":**
|
|
76
|
-
→ action_resume_execute
|
|
77
|
-
|
|
78
|
-
7. **Stage = execution, phases.current_status = "executed":**
|
|
79
|
-
→ action_review
|
|
80
|
-
|
|
81
|
-
8. **Stage = execution, phases.current_status = "completed":**
|
|
82
|
-
Check if more phases remain:
|
|
83
|
-
- Yes → advance to next phase, → action_execute
|
|
84
|
-
- No → action_complete
|
|
85
|
-
|
|
86
|
-
Continue to the determined action step.
|
|
87
|
-
</step>
|
|
88
|
-
|
|
89
|
-
<step name="action_discuss">
|
|
90
|
-
Offer or auto-run discussion.
|
|
91
|
-
|
|
92
|
-
**Interactive mode:**
|
|
93
|
-
```
|
|
94
|
-
**Current state:** Discussion in progress
|
|
95
|
-
**Gray areas remaining:** {count}
|
|
96
|
-
|
|
97
|
-
{list gray areas}
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
Use AskUserQuestion:
|
|
101
|
-
- header: "Next Step"
|
|
102
|
-
- question: "Want to discuss the remaining gray areas?"
|
|
103
|
-
- options:
|
|
104
|
-
- "Discuss" — Dive into gray areas (Recommended)
|
|
105
|
-
- "Skip to research" — Move on without resolving
|
|
106
|
-
- "Skip to planning" — Jump straight to planning
|
|
107
|
-
|
|
108
|
-
**Semi-auto / Auto mode:**
|
|
109
|
-
Auto-run discuss workflow.
|
|
110
|
-
|
|
111
|
-
Dispatch to: @~/.claude/specdacular/workflows/discuss.md
|
|
112
|
-
|
|
113
|
-
After completion, return to load_state (re-evaluate).
|
|
114
|
-
</step>
|
|
115
|
-
|
|
116
|
-
<step name="action_research_or_plan">
|
|
117
|
-
Offer or auto-run research (when discussion is complete but no research yet).
|
|
118
|
-
|
|
119
|
-
**Interactive mode:**
|
|
120
|
-
```
|
|
121
|
-
**Current state:** Discussion complete, no research yet
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Use AskUserQuestion:
|
|
125
|
-
- header: "Next Step"
|
|
126
|
-
- question: "Discussion looks solid. What's next?"
|
|
127
|
-
- options:
|
|
128
|
-
- "Research" — Investigate implementation patterns (Recommended)
|
|
129
|
-
- "Skip to planning" — Plan without research
|
|
130
|
-
- "Discuss more" — Continue discussion
|
|
131
|
-
|
|
132
|
-
**Semi-auto / Auto mode:**
|
|
133
|
-
Auto-run research workflow.
|
|
134
|
-
|
|
135
|
-
Dispatch to chosen workflow. After completion, return to load_state.
|
|
136
|
-
</step>
|
|
137
|
-
|
|
138
|
-
<step name="action_research">
|
|
139
|
-
Run research.
|
|
140
|
-
|
|
141
|
-
**Interactive mode:**
|
|
142
|
-
Use AskUserQuestion:
|
|
143
|
-
- header: "Next Step"
|
|
144
|
-
- question: "Ready to research implementation patterns?"
|
|
145
|
-
- options:
|
|
146
|
-
- "Research" — Run research agents (Recommended)
|
|
147
|
-
- "Skip" — Proceed without research
|
|
148
|
-
- "Discuss first" — Go back to discussion
|
|
149
|
-
|
|
150
|
-
**Semi-auto / Auto mode:**
|
|
151
|
-
Auto-run research.
|
|
152
|
-
|
|
153
|
-
Dispatch to: @~/.claude/specdacular/workflows/research.md
|
|
154
|
-
|
|
155
|
-
After completion, return to load_state.
|
|
156
|
-
</step>
|
|
157
|
-
|
|
158
|
-
<step name="action_plan">
|
|
159
|
-
Run planning.
|
|
160
|
-
|
|
161
|
-
**Interactive mode:**
|
|
162
|
-
```
|
|
163
|
-
**Current state:** Ready to plan
|
|
164
|
-
{If RESEARCH.md exists: "Research available — will inform planning"}
|
|
165
|
-
{If no RESEARCH.md: "Note: No research. Consider running /specd:research first"}
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
Use AskUserQuestion:
|
|
169
|
-
- header: "Next Step"
|
|
170
|
-
- question: "Ready to create execution phases?"
|
|
171
|
-
- options:
|
|
172
|
-
- "Plan" — Create phases and PLAN.md files (Recommended)
|
|
173
|
-
- "Research first" — Run research before planning
|
|
174
|
-
- "Discuss more" — Continue discussion
|
|
175
|
-
|
|
176
|
-
**Semi-auto / Auto mode:**
|
|
177
|
-
Auto-run planning.
|
|
178
|
-
|
|
179
|
-
Dispatch to: @~/.claude/specdacular/workflows/plan.md
|
|
180
|
-
|
|
181
|
-
After completion, return to load_state.
|
|
182
|
-
</step>
|
|
183
|
-
|
|
184
|
-
<step name="action_execute">
|
|
185
|
-
Execute next phase.
|
|
186
|
-
|
|
187
|
-
**Interactive mode:**
|
|
188
|
-
```
|
|
189
|
-
**Current state:** Phase {N} ready for execution
|
|
190
|
-
**Phase:** {name} — {goal}
|
|
191
|
-
**Tasks:** {count}
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
Use AskUserQuestion:
|
|
195
|
-
- header: "Next Step"
|
|
196
|
-
- question: "Ready to execute Phase {N}?"
|
|
197
|
-
- options:
|
|
198
|
-
- "Execute" — Start phase execution (Recommended)
|
|
199
|
-
- "Review plan" — Read the PLAN.md first
|
|
200
|
-
- "Stop for now" — Come back later
|
|
201
|
-
|
|
202
|
-
**Semi-auto mode:**
|
|
203
|
-
Auto-execute. Review will pause for user after execution.
|
|
204
|
-
|
|
205
|
-
**Auto mode:**
|
|
206
|
-
Auto-execute. Review auto-approves if clean, stops only on issues.
|
|
207
|
-
|
|
208
|
-
Dispatch to: @~/.claude/specdacular/workflows/execute.md
|
|
209
|
-
|
|
210
|
-
Execute workflow chains to review automatically. After review completes (phase approved or stopped), return to load_state.
|
|
211
|
-
</step>
|
|
212
|
-
|
|
213
|
-
<step name="action_resume_execute">
|
|
214
|
-
Resume interrupted execution.
|
|
215
|
-
|
|
216
|
-
```
|
|
217
|
-
**Resuming:** Phase {N} execution was interrupted
|
|
218
|
-
**Phase:** {name}
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
Dispatch to: @~/.claude/specdacular/workflows/execute.md
|
|
222
|
-
|
|
223
|
-
The execute workflow handles finding incomplete tasks within the phase.
|
|
224
|
-
|
|
225
|
-
After completion, return to load_state.
|
|
226
|
-
</step>
|
|
227
|
-
|
|
228
|
-
<step name="action_review">
|
|
229
|
-
Phase executed, needs review.
|
|
230
|
-
|
|
231
|
-
**Interactive mode:**
|
|
232
|
-
```
|
|
233
|
-
**Current state:** Phase {N} executed, pending review
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
Dispatch to: @~/.claude/specdacular/workflows/review.md
|
|
237
|
-
|
|
238
|
-
After review completes, return to load_state.
|
|
239
|
-
|
|
240
|
-
**Semi-auto mode:**
|
|
241
|
-
Auto-trigger review. Review will prompt user for approval.
|
|
242
|
-
|
|
243
|
-
**Auto mode:**
|
|
244
|
-
Auto-trigger review. If clean, auto-approve. If issues found, stop for user.
|
|
245
|
-
</step>
|
|
246
|
-
|
|
247
|
-
<step name="action_complete">
|
|
248
|
-
All phases complete.
|
|
249
|
-
|
|
250
|
-
```
|
|
251
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
252
|
-
TASK COMPLETE
|
|
253
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
9
|
+
<step name="delegate">
|
|
10
|
+
Pass all arguments through to the brain.
|
|
254
11
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
12
|
+
The brain handles:
|
|
13
|
+
- Argument parsing (task name, --interactive/--auto flags)
|
|
14
|
+
- Task validation
|
|
15
|
+
- Pipeline resolution (pipeline.json)
|
|
16
|
+
- State-based routing
|
|
17
|
+
- Mode handling (default/interactive/auto)
|
|
18
|
+
- Hook execution
|
|
19
|
+
- Step dispatch
|
|
20
|
+
- State transitions
|
|
21
|
+
- Phase loop management
|
|
258
22
|
|
|
259
|
-
|
|
260
|
-
```
|
|
23
|
+
@~/.claude/specdacular/workflows/brain.md
|
|
261
24
|
|
|
262
25
|
End workflow.
|
|
263
26
|
</step>
|
|
@@ -265,11 +28,6 @@ End workflow.
|
|
|
265
28
|
</process>
|
|
266
29
|
|
|
267
30
|
<success_criteria>
|
|
268
|
-
-
|
|
269
|
-
-
|
|
270
|
-
- Semi-auto mode auto-advances through discuss→research→plan, pauses after phase execution + review
|
|
271
|
-
- Auto mode runs everything, stops only on review issues or completion
|
|
272
|
-
- Dispatches to correct workflow at each stage
|
|
273
|
-
- Loops back to state check after each workflow completes
|
|
274
|
-
- Handles all edge cases (interrupted execution, missing research, etc.)
|
|
31
|
+
- All arguments forwarded to brain.md
|
|
32
|
+
- Brain handles all orchestration
|
|
275
33
|
</success_criteria>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Execute the
|
|
2
|
+
Execute the current phase's PLAN.md. Runs tasks with verification, handles deviations, commits after each task. Does NOT trigger review — the brain handles that.
|
|
3
3
|
|
|
4
|
-
**Output:** Implemented code, CHANGELOG.md entries
|
|
4
|
+
**Output:** Implemented code, CHANGELOG.md entries
|
|
5
5
|
</purpose>
|
|
6
6
|
|
|
7
7
|
<philosophy>
|
|
8
8
|
|
|
9
9
|
## One Phase at a Time
|
|
10
10
|
|
|
11
|
-
Execute one phase's PLAN.md
|
|
11
|
+
Execute one phase's PLAN.md. The brain decides what happens after.
|
|
12
12
|
|
|
13
13
|
## Verify Each Task
|
|
14
14
|
|
|
@@ -49,31 +49,21 @@ Continue to find_phase.
|
|
|
49
49
|
</step>
|
|
50
50
|
|
|
51
51
|
<step name="find_phase">
|
|
52
|
-
Find the
|
|
52
|
+
Find the phase to execute.
|
|
53
53
|
|
|
54
54
|
**Read config.json:**
|
|
55
55
|
- `phases.current` — current phase number
|
|
56
|
-
- `phases.current_status` — pending
|
|
57
|
-
|
|
58
|
-
**If current_status is "executed":**
|
|
59
|
-
Phase is done but not reviewed. Trigger review:
|
|
60
|
-
@~/.claude/specdacular/workflows/review.md
|
|
61
|
-
End this workflow.
|
|
62
|
-
|
|
63
|
-
**If current_status is "completed":**
|
|
64
|
-
Advance to next phase:
|
|
65
|
-
- Increment `phases.current`
|
|
66
|
-
- Set `phases.current_status` to "pending"
|
|
56
|
+
- `phases.current_status` — should be "pending" or "executing"
|
|
67
57
|
|
|
68
58
|
**Find PLAN.md:**
|
|
69
59
|
```bash
|
|
70
|
-
PHASE_DIR="
|
|
60
|
+
PHASE_DIR="$TASK_DIR/phases/phase-$(printf '%02d' $CURRENT_PHASE)"
|
|
71
61
|
[ -f "$PHASE_DIR/PLAN.md" ] || { echo "no plan"; exit 1; }
|
|
72
62
|
```
|
|
73
63
|
|
|
74
64
|
**Also check for fix plans (decimal phases):**
|
|
75
65
|
```bash
|
|
76
|
-
ls -d
|
|
66
|
+
ls -d $TASK_DIR/phases/phase-$(printf '%02d' $CURRENT_PHASE).* 2>/dev/null
|
|
77
67
|
```
|
|
78
68
|
If fix plans exist and are incomplete, execute those first.
|
|
79
69
|
|
|
@@ -85,21 +75,11 @@ Continue to record_start.
|
|
|
85
75
|
<step name="record_start">
|
|
86
76
|
Record phase execution start.
|
|
87
77
|
|
|
88
|
-
**If
|
|
78
|
+
**If this is a fresh start (not resuming):**
|
|
89
79
|
```bash
|
|
90
80
|
git rev-parse HEAD
|
|
91
81
|
```
|
|
92
|
-
Store as `phases.phase_start_commit` in config.json.
|
|
93
|
-
Set `phases.current_status` to "executing".
|
|
94
|
-
|
|
95
|
-
Commit config update:
|
|
96
|
-
```bash
|
|
97
|
-
git add .specd/tasks/{task-name}/config.json
|
|
98
|
-
git commit -m "docs({task-name}): start phase {N} execution"
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
**If status is already "executing":**
|
|
102
|
-
Resuming — phase_start_commit already recorded.
|
|
82
|
+
Store as `phases.phase_start_commit` in config.json if not already set.
|
|
103
83
|
|
|
104
84
|
Continue to execute_tasks.
|
|
105
85
|
</step>
|
|
@@ -137,29 +117,23 @@ Continue to phase_complete.
|
|
|
137
117
|
</step>
|
|
138
118
|
|
|
139
119
|
<step name="phase_complete">
|
|
140
|
-
Mark phase as
|
|
141
|
-
|
|
142
|
-
**Update config.json:**
|
|
143
|
-
- Set `phases.current_status` to "executed"
|
|
120
|
+
Mark phase execution as done.
|
|
144
121
|
|
|
145
122
|
**Update STATE.md:**
|
|
146
|
-
- Add phase to Completed Phases table
|
|
123
|
+
- Add phase to Completed Phases table (or update if fix phase)
|
|
147
124
|
- Update current phase info
|
|
148
125
|
|
|
149
126
|
**Commit state:**
|
|
150
127
|
@~/.claude/specdacular/references/commit-docs.md
|
|
151
|
-
- **$FILES:**
|
|
128
|
+
- **$FILES:** `$TASK_DIR/STATE.md $TASK_DIR/CHANGELOG.md`
|
|
152
129
|
- **$MESSAGE:** `docs({task-name}): phase {N} executed`
|
|
153
130
|
- **$LABEL:** `phase execution complete`
|
|
154
131
|
|
|
155
|
-
**Automatically trigger review:**
|
|
156
132
|
```
|
|
157
|
-
Phase {N} execution complete.
|
|
133
|
+
Phase {N} execution complete.
|
|
158
134
|
```
|
|
159
135
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
End workflow (review takes over).
|
|
136
|
+
End workflow (caller handles continuation).
|
|
163
137
|
</step>
|
|
164
138
|
|
|
165
139
|
</process>
|
|
@@ -169,6 +143,5 @@ End workflow (review takes over).
|
|
|
169
143
|
- Each task verified after implementation
|
|
170
144
|
- Deviations logged in CHANGELOG.md
|
|
171
145
|
- Code committed after each task
|
|
172
|
-
-
|
|
173
|
-
- Review automatically triggered after completion
|
|
146
|
+
- Ends cleanly without dispatching review
|
|
174
147
|
</success_criteria>
|
|
@@ -609,6 +609,20 @@ Continue to commit_orchestrator_map.
|
|
|
609
609
|
<step name="commit_orchestrator_map">
|
|
610
610
|
Commit all mapping results (orchestrator + all sub-projects).
|
|
611
611
|
|
|
612
|
+
**IMPORTANT — Check auto-commit setting first:**
|
|
613
|
+
|
|
614
|
+
```bash
|
|
615
|
+
cat .specd/config.json 2>/dev/null || echo '{"auto_commit_docs": true}'
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
**If `auto_commit_docs` is `false`:** Do NOT commit. Print:
|
|
619
|
+
```
|
|
620
|
+
Auto-commit disabled for docs — orchestrator codebase map not committed.
|
|
621
|
+
```
|
|
622
|
+
Skip to orchestrator_completion.
|
|
623
|
+
|
|
624
|
+
**If `auto_commit_docs` is `true` or not set (default):**
|
|
625
|
+
|
|
612
626
|
```bash
|
|
613
627
|
# Add orchestrator docs and config
|
|
614
628
|
git add .specd/codebase/*.md .specd/config.json
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Create a detailed PLAN.md for the current phase. Reads the phase goal from ROADMAP.md, considers what happened in previous phases, and creates an actionable plan with tasks.
|
|
3
|
+
|
|
4
|
+
This is the phase-level counterpart to plan.md (which creates the high-level ROADMAP.md). Each phase gets its own just-in-time planning, allowing later phases to adapt based on earlier execution.
|
|
5
|
+
|
|
6
|
+
**Output:** `phases/phase-NN/PLAN.md`, updated STATE.md
|
|
7
|
+
</purpose>
|
|
8
|
+
|
|
9
|
+
<philosophy>
|
|
10
|
+
|
|
11
|
+
## Just-In-Time Planning
|
|
12
|
+
|
|
13
|
+
Plans are created when the phase starts, not upfront. This means the plan can account for deviations, discoveries, and changes from earlier phases.
|
|
14
|
+
|
|
15
|
+
## Small and Focused
|
|
16
|
+
|
|
17
|
+
One phase, one PLAN.md. 2-5 tasks. Each task creates or modifies 1-3 files.
|
|
18
|
+
|
|
19
|
+
## Self-Contained Plans
|
|
20
|
+
|
|
21
|
+
Each PLAN.md should have enough context that the executing agent doesn't need to ask questions. Reference decisions, research, and codebase patterns.
|
|
22
|
+
|
|
23
|
+
</philosophy>
|
|
24
|
+
|
|
25
|
+
<process>
|
|
26
|
+
|
|
27
|
+
<step name="validate">
|
|
28
|
+
@~/.claude/specdacular/references/validate-task.md
|
|
29
|
+
|
|
30
|
+
Use basic validation with $TASK_NAME.
|
|
31
|
+
|
|
32
|
+
Also check:
|
|
33
|
+
- ROADMAP.md must exist (source of phase goals)
|
|
34
|
+
- config.json must have phases.current set
|
|
35
|
+
|
|
36
|
+
Continue to load_context.
|
|
37
|
+
</step>
|
|
38
|
+
|
|
39
|
+
<step name="load_context">
|
|
40
|
+
@~/.claude/specdacular/references/load-context.md
|
|
41
|
+
|
|
42
|
+
Load all task context including RESEARCH.md if available.
|
|
43
|
+
|
|
44
|
+
**Read phase info:**
|
|
45
|
+
- `phases.current` from config.json → current phase number
|
|
46
|
+
- Phase goal from ROADMAP.md → find the "Phase {N}" section
|
|
47
|
+
|
|
48
|
+
**Read previous phase context (if not phase 1):**
|
|
49
|
+
- Check completed phases for deviations in CHANGELOG.md
|
|
50
|
+
- Read previous phase PLAN.md files to understand what was done
|
|
51
|
+
- Note any decisions made during earlier execution
|
|
52
|
+
|
|
53
|
+
**Read global config:**
|
|
54
|
+
```bash
|
|
55
|
+
cat .specd/config.json 2>/dev/null || echo '{}'
|
|
56
|
+
```
|
|
57
|
+
Check `auto_commit_docs` setting.
|
|
58
|
+
|
|
59
|
+
Continue to create_plan.
|
|
60
|
+
</step>
|
|
61
|
+
|
|
62
|
+
<step name="create_plan">
|
|
63
|
+
Create the phase directory and write PLAN.md.
|
|
64
|
+
|
|
65
|
+
**Create phase directory:**
|
|
66
|
+
```bash
|
|
67
|
+
PHASE_NUM=$(printf '%02d' $CURRENT_PHASE)
|
|
68
|
+
mkdir -p .specd/tasks/$TASK_NAME/phases/phase-$PHASE_NUM
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Write PLAN.md:**
|
|
72
|
+
Use template from: `~/.claude/specdacular/templates/tasks/PLAN.md`
|
|
73
|
+
|
|
74
|
+
Fill in based on ROADMAP.md goal and full task context:
|
|
75
|
+
- Objective: what the phase accomplishes (from ROADMAP.md)
|
|
76
|
+
- Context: reference codebase patterns, relevant decisions, research findings, previous phase outcomes
|
|
77
|
+
- Tasks: 2-5 tasks with clear actions, verification, and done-when criteria
|
|
78
|
+
|
|
79
|
+
**Each task should include:**
|
|
80
|
+
- Files affected
|
|
81
|
+
- Clear action description
|
|
82
|
+
- Verification command
|
|
83
|
+
- Done-when checklist
|
|
84
|
+
|
|
85
|
+
**Adapt based on previous phases:**
|
|
86
|
+
If earlier phases had deviations or discoveries, adjust this phase's plan accordingly. This is the key benefit of just-in-time planning.
|
|
87
|
+
|
|
88
|
+
Continue to update_state.
|
|
89
|
+
</step>
|
|
90
|
+
|
|
91
|
+
<step name="update_state">
|
|
92
|
+
Update STATE.md to note phase planning.
|
|
93
|
+
|
|
94
|
+
**STATE.md:**
|
|
95
|
+
- Note that phase {N} plan was created
|
|
96
|
+
- Update documents status
|
|
97
|
+
|
|
98
|
+
**Do NOT change config.json stage or phases.current_status.** The brain manages state transitions. Phase status stays "pending" — the brain will check for PLAN.md existence and route to execute next.
|
|
99
|
+
|
|
100
|
+
Continue to commit.
|
|
101
|
+
</step>
|
|
102
|
+
|
|
103
|
+
<step name="commit">
|
|
104
|
+
@~/.claude/specdacular/references/commit-docs.md
|
|
105
|
+
|
|
106
|
+
- **$FILES:** `.specd/tasks/{task-name}/phases/phase-{NN}/PLAN.md .specd/tasks/{task-name}/STATE.md`
|
|
107
|
+
- **$MESSAGE:** `docs({task-name}): plan phase {N}` with brief plan summary
|
|
108
|
+
- **$LABEL:** `phase planning`
|
|
109
|
+
|
|
110
|
+
Continue to completion.
|
|
111
|
+
</step>
|
|
112
|
+
|
|
113
|
+
<step name="completion">
|
|
114
|
+
Present the phase plan.
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
118
|
+
PHASE {N} PLANNED
|
|
119
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
120
|
+
|
|
121
|
+
**Task:** {task-name}
|
|
122
|
+
**Phase:** {N} — {phase title}
|
|
123
|
+
**Tasks:** {count}
|
|
124
|
+
|
|
125
|
+
{For each task:}
|
|
126
|
+
Task {N}: {title}
|
|
127
|
+
Files: {file list}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
End workflow (caller handles continuation).
|
|
131
|
+
</step>
|
|
132
|
+
|
|
133
|
+
</process>
|
|
134
|
+
|
|
135
|
+
<success_criteria>
|
|
136
|
+
- Phase directory created
|
|
137
|
+
- PLAN.md written with detailed tasks from ROADMAP.md goal
|
|
138
|
+
- Previous phase outcomes considered in planning
|
|
139
|
+
- STATE.md updated
|
|
140
|
+
- Changes committed
|
|
141
|
+
- config.json NOT modified (brain manages state)
|
|
142
|
+
</success_criteria>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Create execution
|
|
2
|
+
Create a high-level execution roadmap from task context. Derives phases based on dependencies and writes ROADMAP.md with phase goals. Does NOT create PLAN.md files or phase directories — those are created just-in-time by phase-plan.md when each phase starts.
|
|
3
3
|
|
|
4
|
-
**Output:**
|
|
4
|
+
**Output:** ROADMAP.md, updated STATE.md, config.json
|
|
5
5
|
</purpose>
|
|
6
6
|
|
|
7
7
|
<philosophy>
|
|
@@ -98,36 +98,7 @@ Break the task into ordered phases based on dependencies.
|
|
|
98
98
|
- Each task creates or modifies 1-3 files
|
|
99
99
|
- If a phase has >5 tasks, split it
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
mkdir -p .specd/tasks/{task-name}/phases
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Continue to write_plans.
|
|
106
|
-
</step>
|
|
107
|
-
|
|
108
|
-
<step name="write_plans">
|
|
109
|
-
Write one PLAN.md for each phase.
|
|
110
|
-
|
|
111
|
-
For each phase:
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
mkdir -p .specd/tasks/{task-name}/phases/phase-$(printf '%02d' $N)
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Write `phases/phase-NN/PLAN.md` using template from:
|
|
118
|
-
`~/.claude/specdacular/templates/tasks/PLAN.md`
|
|
119
|
-
|
|
120
|
-
Fill in:
|
|
121
|
-
- YAML frontmatter: task name, phase number, dependencies, creates, modifies
|
|
122
|
-
- Objective: what the phase accomplishes
|
|
123
|
-
- Context: reference codebase patterns, relevant decisions, research findings
|
|
124
|
-
- Tasks: 2-5 tasks with clear actions, verification, and done-when criteria
|
|
125
|
-
|
|
126
|
-
**Each task should include:**
|
|
127
|
-
- Files affected
|
|
128
|
-
- Clear action description
|
|
129
|
-
- Verification command
|
|
130
|
-
- Done-when checklist
|
|
101
|
+
**Do NOT create phase directories or PLAN.md files.** Those are created just-in-time by `phase-plan.md` when each phase starts execution. This allows later phases to adapt based on what happened in earlier phases.
|
|
131
102
|
|
|
132
103
|
Continue to write_roadmap.
|
|
133
104
|
</step>
|
|
@@ -151,9 +122,10 @@ Update STATE.md and config.json.
|
|
|
151
122
|
- Update documents status
|
|
152
123
|
|
|
153
124
|
**config.json:**
|
|
154
|
-
- Set `stage` to `"
|
|
125
|
+
- Set `stage` to `"execution"`
|
|
155
126
|
- Set `phases.total` to phase count
|
|
156
127
|
- Set `phases.current` to 1
|
|
128
|
+
- Set `phases.current_status` to `"pending"`
|
|
157
129
|
|
|
158
130
|
Continue to commit.
|
|
159
131
|
</step>
|
|
@@ -161,7 +133,7 @@ Continue to commit.
|
|
|
161
133
|
<step name="commit">
|
|
162
134
|
@~/.claude/specdacular/references/commit-docs.md
|
|
163
135
|
|
|
164
|
-
- **$FILES:** `.specd/tasks/{task-name}/ROADMAP.md .specd/tasks/{task-name}/
|
|
136
|
+
- **$FILES:** `.specd/tasks/{task-name}/ROADMAP.md .specd/tasks/{task-name}/STATE.md .specd/tasks/{task-name}/config.json`
|
|
165
137
|
- **$MESSAGE:** `docs({task-name}): create roadmap and phase plans` with phase summary
|
|
166
138
|
- **$LABEL:** `planning complete`
|
|
167
139
|
|
|
@@ -194,8 +166,9 @@ End workflow (caller handles continuation).
|
|
|
194
166
|
|
|
195
167
|
<success_criteria>
|
|
196
168
|
- Phases derived from task requirements and dependencies
|
|
197
|
-
-
|
|
198
|
-
-
|
|
199
|
-
- STATE.md updated
|
|
169
|
+
- ROADMAP.md created with phase goals and scope (no PLAN.md files)
|
|
170
|
+
- No phase directories created (just-in-time by phase-plan.md)
|
|
171
|
+
- STATE.md updated
|
|
172
|
+
- config.json set to execution stage with phases info
|
|
200
173
|
- Changes committed
|
|
201
174
|
</success_criteria>
|