specdacular 0.7.2 → 0.8.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/README.md +71 -74
- package/commands/specd/continue.md +59 -0
- package/commands/specd/new.md +65 -0
- package/commands/specd/status.md +1 -1
- package/commands/specd/toolbox.md +59 -0
- package/package.json +1 -1
- package/specdacular/HELP.md +17 -15
- package/specdacular/agents/feature-researcher.md +4 -4
- package/specdacular/references/load-context.md +83 -0
- package/specdacular/references/record-decision.md +61 -0
- package/specdacular/references/select-feature.md +20 -20
- package/specdacular/references/select-phase.md +3 -3
- package/specdacular/references/spawn-research-agents.md +180 -0
- package/specdacular/references/synthesize-research.md +127 -0
- package/specdacular/references/validate-task.md +64 -0
- package/specdacular/templates/{features → tasks}/CHANGELOG.md +2 -8
- package/specdacular/templates/{features → tasks}/CONTEXT.md +6 -17
- package/specdacular/templates/tasks/DECISIONS.md +46 -0
- package/specdacular/templates/{features → tasks}/FEATURE.md +3 -3
- package/specdacular/templates/tasks/PLAN.md +91 -0
- package/specdacular/templates/tasks/RESEARCH.md +121 -0
- package/specdacular/templates/{features → tasks}/ROADMAP.md +6 -43
- package/specdacular/templates/tasks/STATE.md +93 -0
- package/specdacular/templates/tasks/config.json +15 -0
- package/specdacular/workflows/continue.md +275 -0
- package/specdacular/workflows/discuss.md +184 -0
- package/specdacular/workflows/execute.md +174 -0
- package/specdacular/workflows/new.md +299 -0
- package/specdacular/workflows/orchestrator/new.md +265 -0
- package/specdacular/workflows/orchestrator/plan.md +169 -0
- package/specdacular/workflows/plan.md +201 -0
- package/specdacular/workflows/research.md +166 -0
- package/specdacular/workflows/review.md +289 -0
- package/specdacular/workflows/status.md +17 -17
- package/commands/specd/blueprint.md +0 -64
- package/commands/specd/feature/continue.md +0 -84
- package/commands/specd/feature/new.md +0 -67
- package/commands/specd/feature/toolbox.md +0 -49
- package/specdacular/templates/blueprint/index.html +0 -110
- package/specdacular/templates/blueprint/scripts.js +0 -71
- package/specdacular/templates/blueprint/styles.css +0 -429
- package/specdacular/templates/features/DECISIONS.md +0 -109
- package/specdacular/templates/features/DEPENDENCIES.md +0 -47
- package/specdacular/templates/features/PLAN.md +0 -180
- package/specdacular/templates/features/RESEARCH.md +0 -183
- package/specdacular/templates/features/STATE.md +0 -110
- package/specdacular/templates/features/config.json +0 -20
- package/specdacular/workflows/blueprint-diagrams.md +0 -273
- package/specdacular/workflows/blueprint-wireframes.md +0 -312
- package/specdacular/workflows/blueprint.md +0 -372
- package/specdacular/workflows/continue-feature.md +0 -621
- package/specdacular/workflows/discuss-feature.md +0 -382
- package/specdacular/workflows/execute-plan.md +0 -636
- package/specdacular/workflows/insert-phase.md +0 -246
- package/specdacular/workflows/new-feature.md +0 -760
- package/specdacular/workflows/plan-feature.md +0 -691
- package/specdacular/workflows/plan-phase.md +0 -355
- package/specdacular/workflows/prepare-phase.md +0 -745
- package/specdacular/workflows/renumber-phases.md +0 -273
- package/specdacular/workflows/research-feature.md +0 -252
- package/specdacular/workflows/research-phase.md +0 -576
- package/specdacular/workflows/review-feature.md +0 -316
- package/specdacular/workflows/review-phase.md +0 -545
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
User-guided review of an executed phase. Shows what was built (git diff), provides test guidance, and takes user feedback to generate fix plans.
|
|
3
|
-
|
|
4
|
-
**Core principle:** Show, don't fix. The user examines the code, reports issues, and the review workflow creates targeted fix plans.
|
|
5
|
-
|
|
6
|
-
**Output:** Phase approved (status → completed) or fix plans in decimal-numbered phase directories.
|
|
7
|
-
</purpose>
|
|
8
|
-
|
|
9
|
-
<philosophy>
|
|
10
|
-
|
|
11
|
-
## Show, Don't Fix
|
|
12
|
-
|
|
13
|
-
The review workflow does NOT auto-fix code. It presents what was built and lets the user drive. The user has better judgment about code quality, correctness, and fit.
|
|
14
|
-
|
|
15
|
-
## Git Diff Is Ground Truth
|
|
16
|
-
|
|
17
|
-
File tracking uses `git diff` against the phase start commit (DEC-012). This captures everything: planned work, auto-fixes, deviations — not just what the plan intended.
|
|
18
|
-
|
|
19
|
-
## Fix Plans, Not Inline Fixes
|
|
20
|
-
|
|
21
|
-
When the user reports issues, the review creates proper PLAN.md files in decimal-numbered directories (DEC-006, DEC-014). These fix plans are executed with the same execute-plan workflow as regular plans, maintaining consistency.
|
|
22
|
-
|
|
23
|
-
## Review Loop
|
|
24
|
-
|
|
25
|
-
After fix plans execute, the review loops back — showing the updated diff and asking again. This continues until the user approves.
|
|
26
|
-
|
|
27
|
-
</philosophy>
|
|
28
|
-
|
|
29
|
-
<process>
|
|
30
|
-
|
|
31
|
-
<step name="select_feature">
|
|
32
|
-
@~/.claude/specdacular/references/select-feature.md
|
|
33
|
-
|
|
34
|
-
Continue to load_context.
|
|
35
|
-
</step>
|
|
36
|
-
|
|
37
|
-
<step name="load_context">
|
|
38
|
-
Load context needed for review.
|
|
39
|
-
|
|
40
|
-
**Read feature context:**
|
|
41
|
-
- `config.json` — `phases.current`, `phases.phase_start_commit`, `phases.current_status`
|
|
42
|
-
- `STATE.md` — Completed plans for current phase
|
|
43
|
-
- `ROADMAP.md` — Phase name and goals
|
|
44
|
-
- `CHANGELOG.md` — Deviations from this phase
|
|
45
|
-
|
|
46
|
-
**Validate:**
|
|
47
|
-
- `phases.current_status` must be `"executed"` (all plans done, pending review)
|
|
48
|
-
- `phases.phase_start_commit` must exist (recorded when execution started)
|
|
49
|
-
|
|
50
|
-
**If current_status is not "executed":**
|
|
51
|
-
```
|
|
52
|
-
Phase {N} is not in "executed" state (current: {status}).
|
|
53
|
-
|
|
54
|
-
Run /specd:feature:continue to get to the right step.
|
|
55
|
-
```
|
|
56
|
-
End workflow.
|
|
57
|
-
|
|
58
|
-
**Read current phase's PLAN.md files:**
|
|
59
|
-
```bash
|
|
60
|
-
ls .specd/features/{feature}/plans/phase-{NN}/*-PLAN.md
|
|
61
|
-
```
|
|
62
|
-
For each plan, extract:
|
|
63
|
-
- Objective
|
|
64
|
-
- Success criteria
|
|
65
|
-
- Files listed in tasks
|
|
66
|
-
|
|
67
|
-
Continue to show_review.
|
|
68
|
-
</step>
|
|
69
|
-
|
|
70
|
-
<step name="show_review">
|
|
71
|
-
Present what was built and ask for approval.
|
|
72
|
-
|
|
73
|
-
**Get files changed:**
|
|
74
|
-
```bash
|
|
75
|
-
git diff {phase_start_commit}..HEAD --stat
|
|
76
|
-
git diff {phase_start_commit}..HEAD --name-status
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
**Build summary from plan objectives:**
|
|
80
|
-
For each executed plan in this phase, extract the one-line objective.
|
|
81
|
-
|
|
82
|
-
**Derive test guidance from:**
|
|
83
|
-
- Plan success criteria (what should be verifiable)
|
|
84
|
-
- File types created (e.g., if workflow .md files: "test by running the commands")
|
|
85
|
-
- CHANGELOG.md deviations (anything unusual to check)
|
|
86
|
-
|
|
87
|
-
**Present:**
|
|
88
|
-
```
|
|
89
|
-
### Phase {N}: {phase-name} — Review
|
|
90
|
-
|
|
91
|
-
**Files changed:**
|
|
92
|
-
{git diff --stat output}
|
|
93
|
-
|
|
94
|
-
**What was built:**
|
|
95
|
-
{For each plan: one-line objective summary}
|
|
96
|
-
|
|
97
|
-
**How to test:**
|
|
98
|
-
{Test guidance derived from success criteria and file types}
|
|
99
|
-
|
|
100
|
-
**Deviations from plan:**
|
|
101
|
-
{From CHANGELOG.md for this phase, or "None"}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Use AskUserQuestion:
|
|
105
|
-
- header: "Review"
|
|
106
|
-
- question: "Is Phase {N} OK, or do you want to revise?"
|
|
107
|
-
- options:
|
|
108
|
-
- "Looks good" — Approve phase, mark completed
|
|
109
|
-
- "I want to revise" — Describe what needs fixing
|
|
110
|
-
- "Stop for now" — Come back later with /specd:feature:continue
|
|
111
|
-
|
|
112
|
-
**If "Looks good":**
|
|
113
|
-
→ Go to approve_phase
|
|
114
|
-
|
|
115
|
-
**If "I want to revise":**
|
|
116
|
-
→ Go to collect_feedback
|
|
117
|
-
|
|
118
|
-
**If "Stop for now":**
|
|
119
|
-
```
|
|
120
|
-
───────────────────────────────────────────────────────
|
|
121
|
-
|
|
122
|
-
Progress saved. Phase stays in "executed" state.
|
|
123
|
-
Resume review with /specd:feature:continue {feature-name}
|
|
124
|
-
```
|
|
125
|
-
End workflow.
|
|
126
|
-
</step>
|
|
127
|
-
|
|
128
|
-
<step name="collect_feedback">
|
|
129
|
-
Gather user feedback on what needs fixing.
|
|
130
|
-
|
|
131
|
-
**Ask the user to describe issues:**
|
|
132
|
-
```
|
|
133
|
-
Tell me what needs fixing. You can describe:
|
|
134
|
-
- Bugs or incorrect behavior
|
|
135
|
-
- Approach you'd prefer changed
|
|
136
|
-
- Missing functionality
|
|
137
|
-
- Code quality issues
|
|
138
|
-
|
|
139
|
-
Describe as many issues as you want — I'll create a fix plan for all of them.
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
Wait for user response.
|
|
143
|
-
|
|
144
|
-
**Follow up to understand each issue:**
|
|
145
|
-
For each issue mentioned:
|
|
146
|
-
- What file/component is affected?
|
|
147
|
-
- What's wrong (bug, wrong approach, missing)?
|
|
148
|
-
- What should it look like instead?
|
|
149
|
-
|
|
150
|
-
After understanding all issues, continue to create_fix_plan.
|
|
151
|
-
</step>
|
|
152
|
-
|
|
153
|
-
<step name="create_fix_plan">
|
|
154
|
-
Create a fix plan from user feedback.
|
|
155
|
-
|
|
156
|
-
**Determine fix phase number:**
|
|
157
|
-
```bash
|
|
158
|
-
# Check existing decimal phases for current phase
|
|
159
|
-
ls -d .specd/features/{feature}/plans/phase-{N}.* 2>/dev/null | sort -V | tail -1
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
- If no decimal phases exist → create `phase-{N}.1/`
|
|
163
|
-
- If `phase-{N}.1/` exists → create `phase-{N}.2/`, etc.
|
|
164
|
-
- Increment from the highest existing decimal
|
|
165
|
-
|
|
166
|
-
**Create fix phase directory:**
|
|
167
|
-
```bash
|
|
168
|
-
mkdir -p .specd/features/{feature}/plans/phase-{N.M}/
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
**Write fix plan:**
|
|
172
|
-
Write `01-PLAN.md` in the new directory using standard plan format:
|
|
173
|
-
|
|
174
|
-
```markdown
|
|
175
|
-
---
|
|
176
|
-
feature: {feature-name}
|
|
177
|
-
phase: {N.M}
|
|
178
|
-
plan: 01
|
|
179
|
-
depends_on: []
|
|
180
|
-
creates: []
|
|
181
|
-
modifies:
|
|
182
|
-
- {files that need fixing}
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
# Plan 01: Fix Phase {N} Issues
|
|
186
|
-
|
|
187
|
-
## Objective
|
|
188
|
-
|
|
189
|
-
Address review feedback for Phase {N}: {phase-name}.
|
|
190
|
-
|
|
191
|
-
## Context
|
|
192
|
-
|
|
193
|
-
**User feedback:**
|
|
194
|
-
{Summarize each issue reported}
|
|
195
|
-
|
|
196
|
-
## Tasks
|
|
197
|
-
|
|
198
|
-
### Task 1: {Fix description}
|
|
199
|
-
**Files:** `{file}`
|
|
200
|
-
**Action:** {What to change}
|
|
201
|
-
**Verify:** {How to verify the fix}
|
|
202
|
-
**Done when:** {Acceptance criteria}
|
|
203
|
-
|
|
204
|
-
{Repeat for each issue}
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
**Update ROADMAP.md:**
|
|
208
|
-
Add the fix phase entry after the parent phase.
|
|
209
|
-
|
|
210
|
-
**Commit the fix plan:**
|
|
211
|
-
```bash
|
|
212
|
-
git add .specd/features/{feature}/plans/phase-{N.M}/ .specd/features/{feature}/ROADMAP.md
|
|
213
|
-
git commit -m "docs({feature}): create fix plan phase-{N.M}
|
|
214
|
-
|
|
215
|
-
Review feedback:
|
|
216
|
-
- {issue summaries}"
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
Present:
|
|
220
|
-
```
|
|
221
|
-
Fix plan created: plans/phase-{N.M}/01-PLAN.md
|
|
222
|
-
{task_count} task(s) to address your feedback.
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
Continue to offer_execution.
|
|
226
|
-
</step>
|
|
227
|
-
|
|
228
|
-
<step name="offer_execution">
|
|
229
|
-
Offer to execute the fix plan.
|
|
230
|
-
|
|
231
|
-
Use AskUserQuestion:
|
|
232
|
-
- header: "Fix Plan"
|
|
233
|
-
- question: "Execute the fix plan now?"
|
|
234
|
-
- options:
|
|
235
|
-
- "Execute" — Run the fix plan (recommended)
|
|
236
|
-
- "Stop for now" — Come back later
|
|
237
|
-
|
|
238
|
-
**If "Execute":**
|
|
239
|
-
Execute the fix plan using the execute-plan workflow logic:
|
|
240
|
-
@~/.claude/specdacular/workflows/execute-plan.md
|
|
241
|
-
|
|
242
|
-
Pass feature name as argument. The execute-plan workflow will find the fix plan as the next incomplete plan.
|
|
243
|
-
|
|
244
|
-
After execution completes, loop back to show_review (updated diff will reflect fixes).
|
|
245
|
-
|
|
246
|
-
**If "Stop for now":**
|
|
247
|
-
```
|
|
248
|
-
───────────────────────────────────────────────────────
|
|
249
|
-
|
|
250
|
-
Fix plan saved. Resume with /specd:feature:continue {feature-name}
|
|
251
|
-
```
|
|
252
|
-
End workflow.
|
|
253
|
-
</step>
|
|
254
|
-
|
|
255
|
-
<step name="approve_phase">
|
|
256
|
-
Mark phase as completed and advance to next.
|
|
257
|
-
|
|
258
|
-
**Update config.json:**
|
|
259
|
-
```json
|
|
260
|
-
{
|
|
261
|
-
"phases": {
|
|
262
|
-
"current_status": "completed",
|
|
263
|
-
"completed": {N},
|
|
264
|
-
"current": {N+1},
|
|
265
|
-
"phase_start_commit": null
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
Then immediately reset for next phase:
|
|
271
|
-
```json
|
|
272
|
-
{
|
|
273
|
-
"phases": {
|
|
274
|
-
"current_status": "pending"
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
(In practice: increment completed, advance current, set current_status to "pending", remove phase_start_commit.)
|
|
280
|
-
|
|
281
|
-
**Update STATE.md:**
|
|
282
|
-
Mark phase as complete in execution progress checkboxes.
|
|
283
|
-
|
|
284
|
-
**Commit state changes:**
|
|
285
|
-
```bash
|
|
286
|
-
git add .specd/features/{feature}/config.json .specd/features/{feature}/STATE.md
|
|
287
|
-
git commit -m "docs({feature}): phase {N} approved — review complete"
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
**Present:**
|
|
291
|
-
```
|
|
292
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
293
|
-
PHASE {N} COMPLETE
|
|
294
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
295
|
-
|
|
296
|
-
Phase {N}: {phase-name} approved.
|
|
297
|
-
{If more phases: "Next: Phase {N+1}: {next-phase-name}"}
|
|
298
|
-
{If all phases done: "All phases complete!"}
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
End workflow (returns to continue-feature which re-reads state).
|
|
302
|
-
</step>
|
|
303
|
-
|
|
304
|
-
</process>
|
|
305
|
-
|
|
306
|
-
<success_criteria>
|
|
307
|
-
- [ ] Feature selected (from argument or picker)
|
|
308
|
-
- [ ] Phase validated as "executed" status
|
|
309
|
-
- [ ] Git diff shows actual files changed (DEC-012)
|
|
310
|
-
- [ ] Test guidance derived from plan objectives/success criteria
|
|
311
|
-
- [ ] User can approve or request revisions
|
|
312
|
-
- [ ] Fix plans created in decimal-numbered directories (DEC-006, DEC-014)
|
|
313
|
-
- [ ] Fix plan execution loops back to review
|
|
314
|
-
- [ ] Approval updates config.json and STATE.md (DEC-009, DEC-013)
|
|
315
|
-
- [ ] Phase advances only after explicit user approval
|
|
316
|
-
</success_criteria>
|