specdacular 0.7.0 → 0.7.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 +40 -86
- package/commands/specd/feature/{next.md → continue.md} +6 -6
- package/commands/specd/feature/new.md +2 -2
- package/commands/specd/feature/toolbox.md +49 -0
- package/commands/specd/help.md +1 -146
- package/commands/specd/update.md +4 -6
- package/package.json +1 -1
- package/specdacular/HELP.md +85 -0
- package/specdacular/references/commit-code.md +34 -0
- package/specdacular/references/commit-docs.md +35 -0
- package/specdacular/references/select-feature.md +57 -0
- package/specdacular/references/select-phase.md +30 -0
- package/specdacular/templates/features/STATE.md +11 -1
- package/specdacular/workflows/{next-feature.md → continue-feature.md} +50 -90
- package/specdacular/workflows/discuss-feature.md +4 -27
- package/specdacular/workflows/execute-plan.md +75 -47
- package/specdacular/workflows/insert-phase.md +50 -26
- package/specdacular/workflows/map-codebase.md +4 -30
- package/specdacular/workflows/new-feature.md +14 -38
- package/specdacular/workflows/plan-feature.md +6 -29
- package/specdacular/workflows/plan-phase.md +4 -29
- package/specdacular/workflows/prepare-phase.md +4 -35
- package/specdacular/workflows/research-phase.md +4 -30
- package/specdacular/workflows/review-feature.md +316 -0
- package/specdacular/workflows/review-phase.md +4 -30
- package/specdacular/workflows/toolbox.md +115 -0
- package/commands/specd/feature/discuss.md +0 -66
- package/commands/specd/feature/plan.md +0 -68
- package/commands/specd/feature/research.md +0 -459
- package/commands/specd/phase/execute.md +0 -68
- package/commands/specd/phase/insert.md +0 -62
- package/commands/specd/phase/plan.md +0 -73
- package/commands/specd/phase/prepare.md +0 -75
- package/commands/specd/phase/renumber.md +0 -66
- package/commands/specd/phase/research.md +0 -65
- package/commands/specd/phase/review.md +0 -80
|
@@ -0,0 +1,316 @@
|
|
|
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>
|
|
@@ -450,37 +450,11 @@ Continue to commit_and_next.
|
|
|
450
450
|
<step name="commit_and_next">
|
|
451
451
|
Commit review changes and suggest next steps.
|
|
452
452
|
|
|
453
|
-
|
|
453
|
+
@~/.claude/specdacular/references/commit-docs.md
|
|
454
454
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
Read the output. If `auto_commit_docs` is `false`, do NOT run the git commands below. Instead print:
|
|
460
|
-
|
|
461
|
-
```
|
|
462
|
-
Auto-commit disabled for docs — changes not committed.
|
|
463
|
-
Modified files: .specd/features/{feature}/STATE.md, DECISIONS.md, CHANGELOG.md, config.json, plans/phase-{NN}/
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
Then skip ahead to presenting next steps below.
|
|
467
|
-
|
|
468
|
-
**Only if `auto_commit_docs` is `true` or not set (default), run:**
|
|
469
|
-
|
|
470
|
-
```bash
|
|
471
|
-
git add .specd/features/{feature}/STATE.md
|
|
472
|
-
git add .specd/features/{feature}/DECISIONS.md
|
|
473
|
-
git add .specd/features/{feature}/CHANGELOG.md
|
|
474
|
-
# If corrective plans were generated:
|
|
475
|
-
git add .specd/features/{feature}/plans/phase-{NN}/
|
|
476
|
-
git add .specd/features/{feature}/config.json
|
|
477
|
-
|
|
478
|
-
git commit -m "docs({feature}): review phase {N} (cycle {C})
|
|
479
|
-
|
|
480
|
-
Review findings: {summary}
|
|
481
|
-
Status: {clean | fixes-pending}
|
|
482
|
-
{If corrective plans:}Corrective plans: {list}"
|
|
483
|
-
```
|
|
455
|
+
- **$FILES:** `.specd/features/{feature}/STATE.md .specd/features/{feature}/DECISIONS.md .specd/features/{feature}/CHANGELOG.md .specd/features/{feature}/config.json` (+ `plans/phase-{NN}/` if corrective plans generated)
|
|
456
|
+
- **$MESSAGE:** `docs({feature}): review phase {N} (cycle {C})` with review findings and status
|
|
457
|
+
- **$LABEL:** `review results`
|
|
484
458
|
|
|
485
459
|
**Present next steps:**
|
|
486
460
|
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Menu of advanced feature operations. Presents a picker and dispatches to the appropriate workflow.
|
|
3
|
+
|
|
4
|
+
**Operations:**
|
|
5
|
+
- Discuss — Explore open questions (feature or phase level)
|
|
6
|
+
- Research — Spawn parallel research agents (feature or phase level)
|
|
7
|
+
- Plan — Create implementation plans (feature or phase level)
|
|
8
|
+
- Review — Review executed work, report issues, generate fix plans
|
|
9
|
+
- Insert phase — Add a new phase with decimal numbering
|
|
10
|
+
|
|
11
|
+
For discuss, research, and plan: asks scope (whole feature or specific phase) before dispatching.
|
|
12
|
+
</purpose>
|
|
13
|
+
|
|
14
|
+
<philosophy>
|
|
15
|
+
|
|
16
|
+
## Thin Dispatcher
|
|
17
|
+
|
|
18
|
+
This workflow is a menu + dispatcher. It selects a feature, presents operations, asks scope when needed, then hands off to the real workflow. No logic duplication.
|
|
19
|
+
|
|
20
|
+
## Scope Selection (DEC-007)
|
|
21
|
+
|
|
22
|
+
Discuss, research, and plan can operate at feature level OR phase level. The toolbox asks which, then routes accordingly.
|
|
23
|
+
|
|
24
|
+
</philosophy>
|
|
25
|
+
|
|
26
|
+
<process>
|
|
27
|
+
|
|
28
|
+
<step name="select_feature">
|
|
29
|
+
@~/.claude/specdacular/references/select-feature.md
|
|
30
|
+
|
|
31
|
+
Continue to show_menu.
|
|
32
|
+
</step>
|
|
33
|
+
|
|
34
|
+
<step name="show_menu">
|
|
35
|
+
Present the 5 operations.
|
|
36
|
+
|
|
37
|
+
Use AskUserQuestion:
|
|
38
|
+
- header: "Toolbox"
|
|
39
|
+
- question: "What would you like to do with {feature-name}?"
|
|
40
|
+
- options:
|
|
41
|
+
- label: "Discuss"
|
|
42
|
+
description: "Explore open questions and gray areas about the feature"
|
|
43
|
+
- label: "Research"
|
|
44
|
+
description: "Spawn agents to research implementation patterns, libraries, and pitfalls"
|
|
45
|
+
- label: "Plan"
|
|
46
|
+
description: "Create phased implementation plans from feature context"
|
|
47
|
+
- label: "Review"
|
|
48
|
+
description: "Review executed work — report issues, generate fix plans"
|
|
49
|
+
- label: "Insert phase"
|
|
50
|
+
description: "Add a new phase to the roadmap (decimal numbering)"
|
|
51
|
+
|
|
52
|
+
Route based on selection:
|
|
53
|
+
- Discuss → select_scope (with operation=discuss)
|
|
54
|
+
- Research → select_scope (with operation=research)
|
|
55
|
+
- Plan → select_scope (with operation=plan)
|
|
56
|
+
- Review → dispatch_review
|
|
57
|
+
- Insert phase → dispatch_insert
|
|
58
|
+
</step>
|
|
59
|
+
|
|
60
|
+
<step name="select_scope">
|
|
61
|
+
Ask scope for discuss/research/plan operations (DEC-007).
|
|
62
|
+
|
|
63
|
+
Use AskUserQuestion:
|
|
64
|
+
- header: "Scope"
|
|
65
|
+
- question: "Work on the whole feature or a specific phase?"
|
|
66
|
+
- options:
|
|
67
|
+
- label: "Whole feature"
|
|
68
|
+
description: "Feature-level {operation}"
|
|
69
|
+
- label: "Specific phase"
|
|
70
|
+
description: "Focus on one phase"
|
|
71
|
+
|
|
72
|
+
**If Whole feature:**
|
|
73
|
+
Route to feature-level workflow:
|
|
74
|
+
- discuss → @~/.claude/specdacular/workflows/discuss-feature.md
|
|
75
|
+
- research → @~/.claude/specdacular/workflows/research-feature.md
|
|
76
|
+
- plan → @~/.claude/specdacular/workflows/plan-feature.md
|
|
77
|
+
|
|
78
|
+
Pass feature name as argument.
|
|
79
|
+
|
|
80
|
+
**If Specific phase:**
|
|
81
|
+
@~/.claude/specdacular/references/select-phase.md
|
|
82
|
+
|
|
83
|
+
Then route to phase-level workflow:
|
|
84
|
+
- discuss → @~/.claude/specdacular/workflows/prepare-phase.md (discussion part)
|
|
85
|
+
- research → @~/.claude/specdacular/workflows/prepare-phase.md (research part)
|
|
86
|
+
- plan → @~/.claude/specdacular/workflows/plan-phase.md
|
|
87
|
+
|
|
88
|
+
Pass feature name and phase number as arguments.
|
|
89
|
+
</step>
|
|
90
|
+
|
|
91
|
+
<step name="dispatch_review">
|
|
92
|
+
Execute the review workflow.
|
|
93
|
+
|
|
94
|
+
@~/.claude/specdacular/workflows/review-feature.md
|
|
95
|
+
|
|
96
|
+
Pass feature name as argument.
|
|
97
|
+
</step>
|
|
98
|
+
|
|
99
|
+
<step name="dispatch_insert">
|
|
100
|
+
Execute the insert-phase workflow.
|
|
101
|
+
|
|
102
|
+
@~/.claude/specdacular/workflows/insert-phase.md
|
|
103
|
+
|
|
104
|
+
Pass feature name as argument.
|
|
105
|
+
</step>
|
|
106
|
+
|
|
107
|
+
</process>
|
|
108
|
+
|
|
109
|
+
<success_criteria>
|
|
110
|
+
- [ ] Feature selected (from argument or picker)
|
|
111
|
+
- [ ] Menu presented with all 5 operations
|
|
112
|
+
- [ ] Scope selection works for discuss/research/plan (DEC-007)
|
|
113
|
+
- [ ] Routes to correct workflow for each operation
|
|
114
|
+
- [ ] Uses shared references for feature and phase selection (DEC-010)
|
|
115
|
+
</success_criteria>
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: specd:feature:discuss
|
|
3
|
-
description: Continue or deepen feature discussion - can be called multiple times
|
|
4
|
-
argument-hint: "[feature-name]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
- Glob
|
|
10
|
-
- Grep
|
|
11
|
-
- AskUserQuestion
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
<objective>
|
|
15
|
-
> **Note:** Consider using `/specd:feature:next` instead — it guides you through the entire feature lifecycle automatically, including discussion.
|
|
16
|
-
|
|
17
|
-
Continue or deepen understanding of a feature through targeted discussion. Can be called **many times** — context accumulates.
|
|
18
|
-
|
|
19
|
-
**Updates:**
|
|
20
|
-
- `.specd/features/{name}/CONTEXT.md` — Accumulates resolved questions
|
|
21
|
-
- `.specd/features/{name}/DECISIONS.md` — Accumulates decisions with dates/rationale
|
|
22
|
-
- `.specd/features/{name}/STATE.md` — Tracks discussion progress
|
|
23
|
-
|
|
24
|
-
**Idempotent:** Calling multiple times builds on previous discussions, doesn't reset.
|
|
25
|
-
</objective>
|
|
26
|
-
|
|
27
|
-
<execution_context>
|
|
28
|
-
@~/.claude/specdacular/workflows/discuss-feature.md
|
|
29
|
-
</execution_context>
|
|
30
|
-
|
|
31
|
-
<context>
|
|
32
|
-
Feature name: $ARGUMENTS
|
|
33
|
-
|
|
34
|
-
**Load feature context:**
|
|
35
|
-
@.specd/features/{name}/FEATURE.md
|
|
36
|
-
@.specd/features/{name}/CONTEXT.md
|
|
37
|
-
@.specd/features/{name}/DECISIONS.md
|
|
38
|
-
@.specd/features/{name}/STATE.md
|
|
39
|
-
|
|
40
|
-
**Load codebase context (if available):**
|
|
41
|
-
@.specd/codebase/PATTERNS.md
|
|
42
|
-
@.specd/codebase/STRUCTURE.md
|
|
43
|
-
@.specd/codebase/MAP.md
|
|
44
|
-
</context>
|
|
45
|
-
|
|
46
|
-
<process>
|
|
47
|
-
1. **Validate** — Check feature exists, has required files
|
|
48
|
-
2. **Load Context** — Read FEATURE.md, CONTEXT.md, DECISIONS.md
|
|
49
|
-
3. **Show Current State** — "Here's what we've discussed so far..."
|
|
50
|
-
4. **Identify Gray Areas** — Based on feature type and existing context
|
|
51
|
-
5. **Let User Select** — Which areas to discuss this session
|
|
52
|
-
6. **Probe Each Area** — Until clear (4 questions, then check)
|
|
53
|
-
7. **Record Decisions** — NEW decisions to DECISIONS.md with date + rationale
|
|
54
|
-
8. **Update CONTEXT.md** — With newly resolved questions
|
|
55
|
-
9. **Present Summary** — Offer next steps
|
|
56
|
-
</process>
|
|
57
|
-
|
|
58
|
-
<success_criteria>
|
|
59
|
-
- [ ] Feature validated (exists, has required files)
|
|
60
|
-
- [ ] Existing context loaded and summarized
|
|
61
|
-
- [ ] Gray areas identified and presented
|
|
62
|
-
- [ ] User-selected areas discussed
|
|
63
|
-
- [ ] Decisions recorded with date, context, rationale
|
|
64
|
-
- [ ] CONTEXT.md updated with resolved questions
|
|
65
|
-
- [ ] User knows options: discuss more, research, or plan
|
|
66
|
-
</success_criteria>
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: specd:feature:plan
|
|
3
|
-
description: Create roadmap with phase overview (no detailed plans)
|
|
4
|
-
argument-hint: "[feature-name]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
- Glob
|
|
10
|
-
- Grep
|
|
11
|
-
- AskUserQuestion
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
<objective>
|
|
15
|
-
> **Note:** Consider using `/specd:feature:next` instead — it guides you through the entire feature lifecycle automatically, including planning.
|
|
16
|
-
|
|
17
|
-
Create a roadmap with phase overview and empty phase directories. Detailed PLAN.md files are created later per-phase with `/specd:phase:plan`.
|
|
18
|
-
|
|
19
|
-
**Creates:**
|
|
20
|
-
- `.specd/features/{name}/ROADMAP.md` — Phase overview with goals, deliverables, dependencies
|
|
21
|
-
- `.specd/features/{name}/plans/phase-{NN}/` — Empty phase directories
|
|
22
|
-
|
|
23
|
-
**Does NOT create PLAN.md files.** Those are created just-in-time with `/specd:phase:plan` before executing each phase.
|
|
24
|
-
|
|
25
|
-
**Prerequisite:** Feature should have sufficient discussion context (FEATURE.md, CONTEXT.md, DECISIONS.md). Research (RESEARCH.md) recommended but optional.
|
|
26
|
-
</objective>
|
|
27
|
-
|
|
28
|
-
<execution_context>
|
|
29
|
-
@~/.claude/specdacular/workflows/plan-feature.md
|
|
30
|
-
</execution_context>
|
|
31
|
-
|
|
32
|
-
<context>
|
|
33
|
-
Feature name: $ARGUMENTS
|
|
34
|
-
|
|
35
|
-
**Load ALL feature context:**
|
|
36
|
-
@.specd/features/{name}/FEATURE.md — Technical requirements
|
|
37
|
-
@.specd/features/{name}/CONTEXT.md — Resolved gray areas
|
|
38
|
-
@.specd/features/{name}/DECISIONS.md — Implementation decisions
|
|
39
|
-
@.specd/features/{name}/RESEARCH.md — Research findings (if exists)
|
|
40
|
-
|
|
41
|
-
**Load codebase context:**
|
|
42
|
-
@.specd/codebase/PATTERNS.md — Code patterns to follow
|
|
43
|
-
@.specd/codebase/STRUCTURE.md — Where files go
|
|
44
|
-
@.specd/codebase/MAP.md — System overview
|
|
45
|
-
</context>
|
|
46
|
-
|
|
47
|
-
<process>
|
|
48
|
-
1. **Validate** — Check feature exists, has required context
|
|
49
|
-
2. **Load Context** — Read ALL feature and codebase docs
|
|
50
|
-
3. **Assess Readiness** — Check if enough context to plan
|
|
51
|
-
4. **Derive Phases** — Based on dependencies (types->API->UI pattern)
|
|
52
|
-
5. **Write ROADMAP.md** — Phase overview with goals, deliverables, dependencies
|
|
53
|
-
6. **Create Phase Directories** — Empty `plans/phase-{NN}/` directories
|
|
54
|
-
7. **Update STATE.md** — Stage moves to "planned"
|
|
55
|
-
8. **Commit and Present**
|
|
56
|
-
</process>
|
|
57
|
-
|
|
58
|
-
<success_criteria>
|
|
59
|
-
- [ ] Feature validated with sufficient context
|
|
60
|
-
- [ ] All context loaded (feature, codebase, research)
|
|
61
|
-
- [ ] Phases derived from dependency analysis
|
|
62
|
-
- [ ] ROADMAP.md provides clear phase overview
|
|
63
|
-
- [ ] Empty phase directories created
|
|
64
|
-
- [ ] No PLAN.md files created (that's `/specd:phase:plan`)
|
|
65
|
-
- [ ] STATE.md updated to "planned" stage
|
|
66
|
-
- [ ] Committed to git
|
|
67
|
-
- [ ] User knows next step: `/specd:phase:prepare` or `/specd:phase:plan` for first phase
|
|
68
|
-
</success_criteria>
|