specdacular 0.7.1 → 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.
Files changed (63) hide show
  1. package/README.md +72 -74
  2. package/commands/specd/continue.md +59 -0
  3. package/commands/specd/new.md +65 -0
  4. package/commands/specd/status.md +1 -1
  5. package/commands/specd/toolbox.md +59 -0
  6. package/package.json +1 -1
  7. package/specdacular/HELP.md +19 -16
  8. package/specdacular/agents/feature-researcher.md +4 -4
  9. package/specdacular/references/load-context.md +83 -0
  10. package/specdacular/references/record-decision.md +61 -0
  11. package/specdacular/references/select-feature.md +20 -20
  12. package/specdacular/references/select-phase.md +3 -3
  13. package/specdacular/references/spawn-research-agents.md +180 -0
  14. package/specdacular/references/synthesize-research.md +127 -0
  15. package/specdacular/references/validate-task.md +64 -0
  16. package/specdacular/templates/{features → tasks}/CHANGELOG.md +2 -8
  17. package/specdacular/templates/{features → tasks}/CONTEXT.md +6 -17
  18. package/specdacular/templates/tasks/DECISIONS.md +46 -0
  19. package/specdacular/templates/{features → tasks}/FEATURE.md +3 -3
  20. package/specdacular/templates/tasks/PLAN.md +91 -0
  21. package/specdacular/templates/tasks/RESEARCH.md +121 -0
  22. package/specdacular/templates/{features → tasks}/ROADMAP.md +6 -43
  23. package/specdacular/templates/tasks/STATE.md +93 -0
  24. package/specdacular/templates/tasks/config.json +15 -0
  25. package/specdacular/workflows/continue.md +275 -0
  26. package/specdacular/workflows/discuss.md +184 -0
  27. package/specdacular/workflows/execute.md +174 -0
  28. package/specdacular/workflows/new.md +299 -0
  29. package/specdacular/workflows/orchestrator/new.md +265 -0
  30. package/specdacular/workflows/orchestrator/plan.md +169 -0
  31. package/specdacular/workflows/plan.md +201 -0
  32. package/specdacular/workflows/research.md +166 -0
  33. package/specdacular/workflows/review.md +289 -0
  34. package/specdacular/workflows/status.md +17 -17
  35. package/commands/specd/blueprint.md +0 -64
  36. package/commands/specd/feature/continue.md +0 -84
  37. package/commands/specd/feature/new.md +0 -67
  38. package/commands/specd/feature/toolbox.md +0 -49
  39. package/specdacular/templates/blueprint/index.html +0 -110
  40. package/specdacular/templates/blueprint/scripts.js +0 -71
  41. package/specdacular/templates/blueprint/styles.css +0 -429
  42. package/specdacular/templates/features/DECISIONS.md +0 -109
  43. package/specdacular/templates/features/DEPENDENCIES.md +0 -47
  44. package/specdacular/templates/features/PLAN.md +0 -180
  45. package/specdacular/templates/features/RESEARCH.md +0 -183
  46. package/specdacular/templates/features/STATE.md +0 -110
  47. package/specdacular/templates/features/config.json +0 -20
  48. package/specdacular/workflows/blueprint-diagrams.md +0 -273
  49. package/specdacular/workflows/blueprint-wireframes.md +0 -312
  50. package/specdacular/workflows/blueprint.md +0 -372
  51. package/specdacular/workflows/continue-feature.md +0 -621
  52. package/specdacular/workflows/discuss-feature.md +0 -382
  53. package/specdacular/workflows/execute-plan.md +0 -636
  54. package/specdacular/workflows/insert-phase.md +0 -246
  55. package/specdacular/workflows/new-feature.md +0 -760
  56. package/specdacular/workflows/plan-feature.md +0 -691
  57. package/specdacular/workflows/plan-phase.md +0 -355
  58. package/specdacular/workflows/prepare-phase.md +0 -745
  59. package/specdacular/workflows/renumber-phases.md +0 -273
  60. package/specdacular/workflows/research-feature.md +0 -252
  61. package/specdacular/workflows/research-phase.md +0 -576
  62. package/specdacular/workflows/review-feature.md +0 -316
  63. package/specdacular/workflows/review-phase.md +0 -545
@@ -0,0 +1,289 @@
1
+ <purpose>
2
+ Review executed phase by comparing plan intent against actual code. Combines semantic inspection with git diff presentation. User approves or requests revisions.
3
+
4
+ **Core principle:** Claude inspects first, then shows findings to user. User decides.
5
+
6
+ **Output:** Phase approved (advance to next) or fix plans in decimal phases (e.g., phase-01.1/)
7
+ </purpose>
8
+
9
+ <philosophy>
10
+
11
+ ## Semantic Review, Not Literal Diff
12
+
13
+ Plans describe intent. Code implements intent. Check whether intent was fulfilled, not whether every word matches.
14
+
15
+ ## Inspect, Then Show
16
+
17
+ Claude reads the code and compares against the plan first. Then presents findings with the git diff. The user gets a curated view, not a raw dump.
18
+
19
+ ## Fix Plans, Not Inline Fixes
20
+
21
+ When the user reports issues, create proper PLAN.md files in decimal phases. These get executed through the same execute workflow.
22
+
23
+ ## Deviations Are Neutral
24
+
25
+ A deviation means code differs from plan. It might be an improvement. The review surfaces it; the user decides.
26
+
27
+ </philosophy>
28
+
29
+ <process>
30
+
31
+ <step name="validate">
32
+ @~/.claude/specdacular/references/validate-task.md
33
+
34
+ Use extended validation. Also check:
35
+ - `config.json` → `phases.current_status` must be "executed"
36
+ - `config.json` → `phases.phase_start_commit` must exist
37
+
38
+ **If status is not "executed":**
39
+ ```
40
+ Phase {N} is not ready for review (status: {status}).
41
+
42
+ Run /specd:continue {task-name} to get to the right step.
43
+ ```
44
+ End workflow.
45
+
46
+ Continue to load_context.
47
+ </step>
48
+
49
+ <step name="load_context">
50
+ @~/.claude/specdacular/references/load-context.md
51
+
52
+ Load all context including the current phase's PLAN.md.
53
+
54
+ **Read phase plan:**
55
+ ```bash
56
+ PHASE_NUM=$(cat .specd/tasks/$TASK_NAME/config.json | grep -o '"current": [0-9]*' | grep -o '[0-9]*')
57
+ PHASE_DIR=".specd/tasks/$TASK_NAME/phases/phase-$(printf '%02d' $PHASE_NUM)"
58
+ cat "$PHASE_DIR/PLAN.md"
59
+ ```
60
+
61
+ **Get phase start commit:**
62
+ ```bash
63
+ cat .specd/tasks/$TASK_NAME/config.json | grep phase_start_commit
64
+ ```
65
+
66
+ Continue to inspect_code.
67
+ </step>
68
+
69
+ <step name="inspect_code">
70
+ Compare plan intent against actual implementation.
71
+
72
+ **Get git diff:**
73
+ ```bash
74
+ git diff {phase_start_commit}..HEAD --stat
75
+ git diff {phase_start_commit}..HEAD --name-status
76
+ ```
77
+
78
+ **For each task in the PLAN.md:**
79
+
80
+ 1. **File check:** Do the files listed in `creates` exist? Do the files in `modifies` still exist?
81
+
82
+ 2. **Intent check:** Read each created/modified file. Does the code achieve what the task described?
83
+
84
+ 3. **Classify:**
85
+ - ✅ **Match** — Files exist, intent fulfilled
86
+ - ⚠️ **Deviation** — Works but differs from plan
87
+ - ❌ **Incomplete** — Missing files or objectives not met
88
+
89
+ 4. **For deviations/incomplete, note:**
90
+ - What the plan specified
91
+ - What was actually implemented (or what's missing)
92
+ - Impact: Low (cosmetic), Medium (behavioral), High (missing functionality)
93
+
94
+ **Check CHANGELOG.md** for already-logged deviations to avoid duplicates.
95
+
96
+ Continue to present_findings.
97
+ </step>
98
+
99
+ <step name="present_findings">
100
+ Show review results to user.
101
+
102
+ ```
103
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
104
+ PHASE REVIEW
105
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
106
+
107
+ **Task:** {task-name}
108
+ **Phase:** {N} — {phase title}
109
+
110
+ **Files changed:**
111
+ {git diff --stat output}
112
+
113
+ **Summary:** {N} ✅ | {N} ⚠️ | {N} ❌
114
+
115
+ **What was built:**
116
+ {For each task: one-line status with icon}
117
+ ```
118
+
119
+ **If deviations or incomplete items exist:**
120
+ For each:
121
+ ```
122
+ ───────────────────────────────────────────────────────
123
+ Task {N}: {Title} — {⚠️ | ❌}
124
+ ───────────────────────────────────────────────────────
125
+ **Planned:** {what the plan specified}
126
+ **Actual:** {what was implemented or missing}
127
+ **Impact:** {Low | Medium | High}
128
+ ```
129
+
130
+ **If all clean:**
131
+ ```
132
+ All tasks match their intended implementation. Phase {N} is clean.
133
+ ```
134
+
135
+ Continue to gather_feedback.
136
+ </step>
137
+
138
+ <step name="gather_feedback">
139
+ Ask user for their assessment.
140
+
141
+ **If findings exist (⚠️ or ❌):**
142
+ Use AskUserQuestion:
143
+ - header: "Review"
144
+ - question: "How would you like to handle these findings?"
145
+ - options:
146
+ - "Looks good" — Accept all, approve phase
147
+ - "I want to revise" — Describe what needs fixing
148
+ - "Stop for now" — Come back later
149
+
150
+ **If clean:**
151
+ Use AskUserQuestion:
152
+ - header: "Review"
153
+ - question: "Phase {N} review is clean. Approve?"
154
+ - options:
155
+ - "Looks good" — Approve phase
156
+ - "I have concerns" — Describe issues
157
+ - "Stop for now" — Come back later
158
+
159
+ **If "Looks good":**
160
+ Continue to approve_phase.
161
+
162
+ **If "I want to revise" or "I have concerns":**
163
+ Continue to collect_feedback.
164
+
165
+ **If "Stop for now":**
166
+ ```
167
+ Progress saved. Phase stays in "executed" state.
168
+ Resume review with /specd:continue {task-name}
169
+ ```
170
+ End workflow.
171
+ </step>
172
+
173
+ <step name="collect_feedback">
174
+ Gather specific feedback from user.
175
+
176
+ ```
177
+ Tell me what needs fixing. You can describe:
178
+ - Bugs or incorrect behavior
179
+ - Approach you'd prefer changed
180
+ - Missing functionality
181
+ - Code quality issues
182
+
183
+ Describe as many issues as you want — I'll create a fix plan for all of them.
184
+ ```
185
+
186
+ Wait for user response. Follow up to understand each issue clearly.
187
+
188
+ Continue to create_fix_plan.
189
+ </step>
190
+
191
+ <step name="create_fix_plan">
192
+ Create a fix plan in a decimal phase.
193
+
194
+ **Determine fix phase number:**
195
+ ```bash
196
+ ls -d .specd/tasks/$TASK_NAME/phases/phase-$CURRENT.* 2>/dev/null | sort -V | tail -1
197
+ ```
198
+ - If no decimal phases → create `phase-{N}.1/`
199
+ - If `phase-{N}.1/` exists → create `phase-{N}.2/`, etc.
200
+
201
+ **Create fix phase directory and PLAN.md:**
202
+ ```bash
203
+ mkdir -p .specd/tasks/$TASK_NAME/phases/phase-{N.M}/
204
+ ```
205
+
206
+ Write `PLAN.md` using standard plan format:
207
+ - Objective: Address review feedback for Phase {N}
208
+ - Tasks: One per issue reported, with clear fix description and verification
209
+
210
+ **Update ROADMAP.md:**
211
+ Add fix phase entry after the parent phase.
212
+
213
+ **Commit:**
214
+ @~/.claude/specdacular/references/commit-docs.md
215
+ - **$FILES:** fix plan directory + ROADMAP.md
216
+ - **$MESSAGE:** `docs({task-name}): create fix plan phase-{N.M}`
217
+ - **$LABEL:** `fix plan`
218
+
219
+ **Offer execution:**
220
+ Use AskUserQuestion:
221
+ - header: "Fix Plan"
222
+ - question: "Execute the fix plan now?"
223
+ - options:
224
+ - "Execute" — Run the fix plan
225
+ - "Stop for now" — Come back later
226
+
227
+ **If "Execute":**
228
+ Execute fix plan via:
229
+ @~/.claude/specdacular/workflows/execute.md
230
+
231
+ After fix execution, loop back to the validate step of this review workflow (re-review with updated diff).
232
+
233
+ **If "Stop for now":**
234
+ ```
235
+ Fix plan saved. Resume with /specd:continue {task-name}
236
+ ```
237
+ End workflow.
238
+ </step>
239
+
240
+ <step name="approve_phase">
241
+ Mark phase as completed and advance.
242
+
243
+ **Update config.json:**
244
+ - Set `phases.current_status` to "completed"
245
+ - Increment `phases.completed`
246
+ - Advance `phases.current` to next phase
247
+ - Reset `phases.phase_start_commit` to null
248
+ - Set new phase status to "pending"
249
+
250
+ **Update STATE.md:**
251
+ - Mark phase as complete in execution progress
252
+
253
+ **Add review cycle to STATE.md:**
254
+ ```markdown
255
+ | {N} | 1 | {date} | {summary} | {fix plans or "—"} | clean |
256
+ ```
257
+
258
+ **Commit:**
259
+ @~/.claude/specdacular/references/commit-docs.md
260
+ - **$FILES:** config.json + STATE.md
261
+ - **$MESSAGE:** `docs({task-name}): phase {N} approved`
262
+ - **$LABEL:** `phase approved`
263
+
264
+ **Present:**
265
+ ```
266
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
267
+ PHASE {N} COMPLETE
268
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
269
+
270
+ Phase {N}: {phase-name} approved.
271
+ {If more phases: "Next: Phase {N+1}: {next-phase-name}"}
272
+ {If all phases done: "All phases complete! Task '{task-name}' is done."}
273
+ ```
274
+
275
+ End workflow (caller handles continuation).
276
+ </step>
277
+
278
+ </process>
279
+
280
+ <success_criteria>
281
+ - Plan intent compared against actual code (semantic review)
282
+ - Git diff presented to user
283
+ - Per-task status with icons (✅ ⚠️ ❌)
284
+ - User can approve, revise, or stop
285
+ - Fix plans created in decimal phases when needed
286
+ - Fix plans execute through same execute workflow
287
+ - Review loops after fix execution
288
+ - Phase advances only after explicit user approval
289
+ </success_criteria>
@@ -1,4 +1,4 @@
1
- # Workflow: Feature Status Dashboard
1
+ # Workflow: Task Status Dashboard
2
2
 
3
3
  ## Input
4
4
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  ### 1. Parse arguments
10
10
 
11
- Check if `$ARGUMENTS` contains `--all`. If so, completed features will be shown in a separate section.
11
+ Check if `$ARGUMENTS` contains `--all`. If so, completed tasks will be shown in a separate section.
12
12
 
13
13
  ### 2. Detect orchestrator mode
14
14
 
@@ -29,24 +29,24 @@ cat .specd/config.json 2>/dev/null
29
29
 
30
30
  ### 3. Check for features directory
31
31
 
32
- Use Glob to check if `.specd/features/*/config.json` matches anything.
32
+ Use Glob to check if `.specd/tasks/*/config.json` matches anything.
33
33
 
34
34
  **If mode = orchestrator and no root features:**
35
- Also check sub-project features — scan each project path for `{project-path}/.specd/features/*/config.json`. If features found in sub-projects, continue (there's something to show).
35
+ Also check sub-project features — scan each project path for `{project-path}/.specd/tasks/*/config.json`. If features found in sub-projects, continue (there's something to show).
36
36
 
37
37
  **If no features found anywhere:** output the following and stop:
38
38
 
39
39
  ```
40
- No features found. Start one with `/specd:feature:new [name]`.
40
+ No tasks found. Start one with `/specd:new [name]`.
41
41
  ```
42
42
 
43
43
  ### 4. Gather feature data
44
44
 
45
45
  #### If mode = project (single-project, unchanged):
46
46
 
47
- For each feature directory in `.specd/features/`:
47
+ For each feature directory in `.specd/tasks/`:
48
48
 
49
- 1. **Read `config.json`** — extract: `feature_name`, `created`, `stage`, `phases_count`, `plans_count`
49
+ 1. **Read `config.json`** — extract: `task_name`, `created`, `stage`, `phases_count`, `plans_count`
50
50
  2. **Read `STATE.md`** — extract:
51
51
  - **Authoritative stage**: Look for `**Stage:** <value>` in the Current Position section. This overrides `config.json` stage. A feature is complete when stage is `complete`.
52
52
  - **Plan completion**: From the `Plan Status` table, count rows with Status = `Complete` vs total rows. Format as `completed/total` (e.g. `5/8`). If no Plan Status table or no rows, use `—`.
@@ -56,15 +56,15 @@ For each feature directory in `.specd/features/`:
56
56
 
57
57
  **Step 4a: Gather root features (same as single-project).**
58
58
 
59
- For each feature directory in `.specd/features/`, extract feature_name, created, stage, plans, next_action using the same logic as single-project mode.
59
+ For each feature directory in `.specd/tasks/`, extract task_name, created, stage, plans, next_action using the same logic as single-project mode.
60
60
 
61
61
  **Step 4b: For each root feature, check for sub-project features.**
62
62
 
63
63
  Read each root feature's `config.json`. If it has a `projects` array (orchestrator feature):
64
64
 
65
65
  For each project entry `{name, path}` in the feature's `projects` array:
66
- 1. Check if `{path}/.specd/features/{feature_name}/` exists
67
- 2. If yes, read `{path}/.specd/features/{feature_name}/config.json` and `{path}/.specd/features/{feature_name}/STATE.md`
66
+ 1. Check if `{path}/.specd/tasks/{task_name}/` exists
67
+ 2. If yes, read `{path}/.specd/tasks/{task_name}/config.json` and `{path}/.specd/tasks/{task_name}/STATE.md`
68
68
  3. Extract the same fields: stage (from STATE.md `**Stage:**`), plan completion, next action
69
69
  4. Store as a sub-feature of the parent orchestrator feature, tagged with the project name
70
70
 
@@ -73,7 +73,7 @@ Mark this root feature as an "orchestrator feature" (has sub-project children).
73
73
  **Step 4c: Scan for standalone sub-project features.**
74
74
 
75
75
  For each project in the repo-level `.specd/config.json` `projects` array:
76
- 1. Use Glob to find `{project-path}/.specd/features/*/config.json`
76
+ 1. Use Glob to find `{project-path}/.specd/tasks/*/config.json`
77
77
  2. For each feature found, check if it was already captured as a sub-feature of an orchestrator feature in step 4b
78
78
  3. If NOT already captured, gather its data (same extraction logic) and store as a standalone feature, grouped by project name/path
79
79
 
@@ -100,7 +100,7 @@ Sort active features by stage priority (highest first), then by created date (ol
100
100
  **Output header:**
101
101
 
102
102
  ```
103
- # Feature Status
103
+ # Task Status
104
104
 
105
105
  _{total} features, {in_progress} in progress_
106
106
  ```
@@ -116,13 +116,13 @@ _{total} features, {in_progress} in progress_
116
116
  - `Plans` shows the completed/total count from Plan Status table, or `—` if pre-planning
117
117
  - `Next Action` is the extracted recommendation from STATE.md Next Steps
118
118
 
119
- **If `--all` flag is NOT set and there are completed features:**
119
+ **If `--all` flag is NOT set and there are completed tasks:**
120
120
 
121
121
  ```
122
- Run `/specd:status --all` to include completed features.
122
+ Run `/specd:status --all` to include completed tasks.
123
123
  ```
124
124
 
125
- **If `--all` flag IS set and there are completed features, add:**
125
+ **If `--all` flag IS set and there are completed tasks, add:**
126
126
 
127
127
  ```
128
128
  ### Completed
@@ -141,7 +141,7 @@ Where `Completed` date comes from the `**Last Updated:**` field in STATE.md.
141
141
  **Output header:**
142
142
 
143
143
  ```
144
- # Feature Status
144
+ # Task Status
145
145
 
146
146
  _{total} features, {in_progress} in progress — orchestrator mode_
147
147
  ```
@@ -190,7 +190,7 @@ Only show active standalone features (not complete/abandoned, unless `--all`).
190
190
  **If `--all` flag is NOT set and there are completed/abandoned features (root or sub-project):**
191
191
 
192
192
  ```
193
- Run `/specd:status --all` to include completed features.
193
+ Run `/specd:status --all` to include completed tasks.
194
194
  ```
195
195
 
196
196
  **If `--all` flag IS set and there are completed/abandoned features, add:**
@@ -1,64 +0,0 @@
1
- ---
2
- name: specd:blueprint
3
- description: Generate visual blueprint for a feature
4
- argument-hint: "[feature-name] [wireframes|diagrams]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Bash
9
- - Glob
10
- - Grep
11
- - AskUserQuestion
12
- ---
13
-
14
- <objective>
15
- Generate a visual HTML blueprint for exploring feature artifacts.
16
-
17
- **Base command:** `/specd:blueprint {feature}`
18
- - Creates `.specd/features/{feature}/blueprint/index.html`
19
- - Shows Overview, Decisions, Context, Plans tabs
20
- - Opens in browser
21
-
22
- **Subcommands:**
23
- - `/specd:blueprint {feature} wireframes` — Add wireframes tab
24
- - `/specd:blueprint {feature} diagrams` — Add diagrams tab with Mermaid
25
-
26
- **Output:** Self-contained HTML file that opens in browser. Regenerate to update.
27
- </objective>
28
-
29
- <execution_context>
30
- @~/.claude/specdacular/workflows/blueprint.md
31
- </execution_context>
32
-
33
- <context>
34
- Feature name: First argument ($ARGUMENTS before space)
35
- Subcommand: Second argument (wireframes, diagrams, or empty)
36
-
37
- **Load feature context:**
38
- @.specd/features/{name}/FEATURE.md
39
- @.specd/features/{name}/CONTEXT.md
40
- @.specd/features/{name}/DECISIONS.md
41
- @.specd/features/{name}/plans/ (if exists)
42
-
43
- **Load codebase context (if available):**
44
- @.specd/codebase/PATTERNS.md
45
- </context>
46
-
47
- <process>
48
- 1. **Parse Arguments** — Extract feature name and optional subcommand
49
- 2. **Validate** — Check feature exists with required files
50
- 3. **Route Subcommand:**
51
- - No subcommand → Generate base blueprint
52
- - `wireframes` → Generate/update with wireframes tab
53
- - `diagrams` → Generate/update with diagrams tab
54
- 4. **Generate HTML** — Read files, parse content, embed in template
55
- 5. **Open Browser** — Run `open` command to display
56
- </process>
57
-
58
- <success_criteria>
59
- - [ ] Feature validated (exists, has FEATURE.md, CONTEXT.md, DECISIONS.md)
60
- - [ ] HTML generated at `.specd/features/{name}/blueprint/index.html`
61
- - [ ] All content properly embedded (decisions, context, plans if exist)
62
- - [ ] Browser opens with the blueprint
63
- - [ ] Wireframes/Diagrams tabs enabled if generated
64
- </success_criteria>
@@ -1,84 +0,0 @@
1
- ---
2
- name: specd:feature:continue
3
- description: Continue feature lifecycle — picks up where you left off
4
- argument-hint: "[feature-name]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Task
13
- - AskUserQuestion
14
- ---
15
-
16
- <objective>
17
- Smart state machine that reads current feature state and drives the entire lifecycle. One command from discussion through phase execution.
18
-
19
- **How it works:**
20
- 1. Select feature (from argument or picker)
21
- 2. Read current state (STATE.md, config.json, CONTEXT.md, ROADMAP.md)
22
- 3. Show status summary
23
- 4. Offer the natural next step
24
- 5. Execute it (delegating to existing workflows)
25
- 6. Loop back — offer the next step or stop
26
-
27
- **Covers the full lifecycle:**
28
- - Discussion (gray areas, decisions)
29
- - Research (parallel agents for patterns/pitfalls)
30
- - Planning (roadmap with phases)
31
- - Phase preparation (phase-specific discussion + research)
32
- - Phase planning (detailed PLAN.md files)
33
- - Phase execution (with progress tracking)
34
- - Phase review (review executed work, user-guided)
35
-
36
- **No need to remember individual commands.** This one command figures out what to do.
37
- </objective>
38
-
39
- <execution_context>
40
- @~/.claude/specdacular/workflows/continue-feature.md
41
- </execution_context>
42
-
43
- <context>
44
- Feature name: $ARGUMENTS
45
-
46
- **Scans for features:**
47
- @.specd/features/*/config.json
48
-
49
- **Loads feature context (once selected):**
50
- @.specd/features/{name}/config.json
51
- @.specd/features/{name}/STATE.md
52
- @.specd/features/{name}/CONTEXT.md
53
- @.specd/features/{name}/FEATURE.md
54
- @.specd/features/{name}/ROADMAP.md (if exists)
55
- @.specd/features/{name}/RESEARCH.md (if exists)
56
-
57
- **Delegates to existing workflows:**
58
- @~/.claude/specdacular/workflows/discuss-feature.md
59
- @~/.claude/specdacular/workflows/research-feature.md
60
- @~/.claude/specdacular/workflows/plan-feature.md
61
- @~/.claude/specdacular/workflows/prepare-phase.md
62
- @~/.claude/specdacular/workflows/plan-phase.md
63
- @~/.claude/specdacular/workflows/execute-plan.md
64
- @~/.claude/specdacular/workflows/review-feature.md
65
- </context>
66
-
67
- <process>
68
- 1. **Select Feature** — From argument or scan .specd/features/*/config.json
69
- 2. **Read State** — Load config.json, STATE.md, CONTEXT.md, ROADMAP.md
70
- 3. **Show Status** — Concise summary of where things stand
71
- 4. **Determine Next** — Based on stage + phase status
72
- 5. **Offer Choice** — Next step + alternatives + "stop for now"
73
- 6. **Execute** — Delegate to appropriate workflow
74
- 7. **Loop** — Back to step 2 after each action
75
- </process>
76
-
77
- <success_criteria>
78
- - [ ] Feature selected (from argument or picker)
79
- - [ ] Current state accurately displayed
80
- - [ ] Correct next action offered
81
- - [ ] User can stop at any natural boundary
82
- - [ ] Delegated to correct workflow for execution
83
- - [ ] Looped back after completion
84
- </success_criteria>
@@ -1,67 +0,0 @@
1
- ---
2
- name: specd:feature:new
3
- description: Initialize a new feature and start the first discussion
4
- argument-hint: "[feature-name]"
5
- allowed-tools:
6
- - Read
7
- - Bash
8
- - Glob
9
- - Grep
10
- - Write
11
- - AskUserQuestion
12
- ---
13
-
14
- <objective>
15
- Initialize a feature folder and start the first discussion. Creates structure, asks initial questions about what's being built, and writes technical requirements. After initialization, offers to continue discussing or stop.
16
-
17
- **Creates:**
18
- - `.specd/features/{name}/FEATURE.md` — Technical requirements from discussion
19
- - `.specd/features/{name}/CONTEXT.md` — Discussion context (accumulates over time)
20
- - `.specd/features/{name}/DECISIONS.md` — Memory file for decisions with rationale
21
- - `.specd/features/{name}/STATE.md` — Progress tracking
22
- - `.specd/features/{name}/config.json` — Feature configuration
23
-
24
- **This is the entry point.** After this, continue with `/specd:feature:continue` to drive the entire lifecycle.
25
- </objective>
26
-
27
- <execution_context>
28
- @~/.claude/specdacular/workflows/new-feature.md
29
- </execution_context>
30
-
31
- <context>
32
- Feature name: $ARGUMENTS
33
-
34
- **Codebase context discovery:**
35
- 1. Check for `.specd/config.json` — if exists, read `codebase_docs` path
36
- 2. If no config, check for `.specd/codebase/` (default location)
37
- 3. If neither found, offer `/specd:map-codebase`
38
-
39
- **Referenced docs (when available):**
40
- - `ARCHITECTURE.md` or `MAP.md` — System structure
41
- - `CONVENTIONS.md` or `PATTERNS.md` — Code patterns
42
- - `STRUCTURE.md` — Directory layout
43
- </context>
44
-
45
- <process>
46
- 1. **Validate** — Check name, check if exists
47
- 2. **Codebase Context** — Look for codebase docs (offer map-codebase if missing)
48
- 3. **First Discussion** — "What are you building?"
49
- 4. **Follow the Thread** — Collaborative, not interrogative
50
- 5. **Probe Until Clear** — What creates, what integrates with, constraints
51
- 6. **Write FEATURE.md** — Technical requirements
52
- 7. **Write CONTEXT.md** — Initial discussion state
53
- 8. **Initialize DECISIONS.md** — With any decisions made so far
54
- 9. **Initialize STATE.md** — Feature created, ready for more discussion
55
- 10. **Commit and Present Options**
56
- </process>
57
-
58
- <success_criteria>
59
- - [ ] Feature folder created at `.specd/features/{name}/`
60
- - [ ] FEATURE.md captures technical requirements
61
- - [ ] CONTEXT.md initialized with discussion context
62
- - [ ] DECISIONS.md initialized (possibly with initial decisions)
63
- - [ ] STATE.md tracks current position
64
- - [ ] config.json created
65
- - [ ] Committed to git
66
- - [ ] User offered to continue discussing or stop with `/specd:feature:continue`
67
- </success_criteria>
@@ -1,49 +0,0 @@
1
- ---
2
- name: specd:feature:toolbox
3
- description: Advanced feature operations — discuss, research, plan, review, insert
4
- argument-hint: "[feature-name]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Task
13
- - AskUserQuestion
14
- ---
15
-
16
- <objective>
17
- Menu of advanced feature operations. Presents options and dispatches to the appropriate workflow.
18
-
19
- **Operations:**
20
- - Discuss — Explore open questions (feature or phase level)
21
- - Research — Spawn parallel research agents (feature or phase level)
22
- - Plan — Create implementation plans (feature or phase level)
23
- - Review — Review executed work, report issues, generate fix plans
24
- - Insert phase — Add a new phase with decimal numbering
25
- </objective>
26
-
27
- <execution_context>
28
- @~/.claude/specdacular/workflows/toolbox.md
29
- </execution_context>
30
-
31
- <context>
32
- Feature name: $ARGUMENTS
33
-
34
- **Delegates to workflows:**
35
- @~/.claude/specdacular/workflows/discuss-feature.md
36
- @~/.claude/specdacular/workflows/research-feature.md
37
- @~/.claude/specdacular/workflows/plan-feature.md
38
- @~/.claude/specdacular/workflows/review-feature.md
39
- @~/.claude/specdacular/workflows/insert-phase.md
40
- @~/.claude/specdacular/workflows/prepare-phase.md
41
- @~/.claude/specdacular/workflows/plan-phase.md
42
- </context>
43
-
44
- <success_criteria>
45
- - [ ] Feature selected (from argument or picker)
46
- - [ ] Menu presented with all 5 operations
47
- - [ ] Selected operation executed via correct workflow
48
- - [ ] Scope selection works for discuss/research/plan
49
- </success_criteria>