specdacular 0.2.5 → 0.5.1
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 +186 -68
- package/commands/specd/blueprint.md +64 -0
- package/commands/specd/{discuss-feature.md → feature/discuss.md} +1 -1
- package/commands/specd/{new-feature.md → feature/new.md} +3 -3
- package/commands/specd/{plan-feature.md → feature/plan.md} +15 -18
- package/commands/specd/{research-feature.md → feature/research.md} +5 -5
- package/commands/specd/help.md +51 -29
- package/commands/specd/{execute-plan.md → phase/execute.md} +4 -4
- package/commands/specd/phase/insert.md +62 -0
- package/commands/specd/phase/plan.md +73 -0
- package/commands/specd/{discuss-phase.md → phase/prepare.md} +21 -9
- package/commands/specd/phase/renumber.md +66 -0
- package/commands/specd/{research-phase.md → phase/research.md} +3 -1
- package/commands/specd/status.md +20 -0
- package/package.json +1 -1
- package/specdacular/agents/feature-researcher.md +4 -2
- package/specdacular/templates/blueprint/index.html +110 -0
- package/specdacular/templates/blueprint/scripts.js +71 -0
- package/specdacular/templates/blueprint/styles.css +429 -0
- package/specdacular/templates/features/STATE.md +6 -4
- package/specdacular/workflows/blueprint-diagrams.md +273 -0
- package/specdacular/workflows/blueprint-wireframes.md +312 -0
- package/specdacular/workflows/blueprint.md +372 -0
- package/specdacular/workflows/discuss-feature.md +4 -4
- package/specdacular/workflows/execute-plan.md +4 -4
- package/specdacular/workflows/insert-phase.md +222 -0
- package/specdacular/workflows/new-feature.md +5 -5
- package/specdacular/workflows/plan-feature.md +60 -233
- package/specdacular/workflows/plan-phase.md +363 -0
- package/specdacular/workflows/prepare-phase.md +759 -0
- package/specdacular/workflows/renumber-phases.md +273 -0
- package/specdacular/workflows/research-phase.md +5 -3
- package/specdacular/workflows/status.md +85 -0
- package/specdacular/workflows/discuss-phase.md +0 -389
package/commands/specd/help.md
CHANGED
|
@@ -20,24 +20,34 @@ Display available specdacular commands and usage guidance.
|
|
|
20
20
|
|
|
21
21
|
| Command | Description |
|
|
22
22
|
|---------|-------------|
|
|
23
|
-
| `/specd:map-codebase` | Analyze codebase with parallel agents
|
|
23
|
+
| `/specd:map-codebase` | Analyze codebase with parallel agents -> produce AI-optimized docs |
|
|
24
24
|
|
|
25
|
-
### Feature
|
|
25
|
+
### Feature Commands
|
|
26
26
|
|
|
27
27
|
| Command | Description |
|
|
28
28
|
|---------|-------------|
|
|
29
|
-
| `/specd:new
|
|
30
|
-
| `/specd:discuss
|
|
31
|
-
| `/specd:research
|
|
32
|
-
| `/specd:plan
|
|
33
|
-
| `/specd:discuss-phase [feature] [phase]` | Discuss a phase before execution |
|
|
34
|
-
| `/specd:research-phase [feature] [phase]` | Research patterns for a phase |
|
|
35
|
-
| `/specd:execute-plan [feature] [plan]` | Execute a plan with progress tracking |
|
|
29
|
+
| `/specd:feature:new [name]` | Initialize a feature, start first discussion |
|
|
30
|
+
| `/specd:feature:discuss [name]` | Continue/deepen feature discussion (can call many times) |
|
|
31
|
+
| `/specd:feature:research [name]` | Research implementation with parallel agents |
|
|
32
|
+
| `/specd:feature:plan [name]` | Create roadmap with phase overview |
|
|
36
33
|
|
|
37
|
-
###
|
|
34
|
+
### Phase Commands
|
|
38
35
|
|
|
39
36
|
| Command | Description |
|
|
40
37
|
|---------|-------------|
|
|
38
|
+
| `/specd:phase:prepare [feature] [phase]` | Discuss gray areas + optionally research patterns |
|
|
39
|
+
| `/specd:phase:research [feature] [phase]` | Research patterns for a phase (standalone) |
|
|
40
|
+
| `/specd:phase:plan [feature] [phase]` | Create detailed PLAN.md files for one phase |
|
|
41
|
+
| `/specd:phase:execute [feature] [plan]` | Execute a plan with progress tracking |
|
|
42
|
+
| `/specd:phase:insert [feature] [after] [desc]` | Insert a new phase after an existing one |
|
|
43
|
+
| `/specd:phase:renumber [feature]` | Renumber phases to clean integer sequence |
|
|
44
|
+
|
|
45
|
+
### Other
|
|
46
|
+
|
|
47
|
+
| Command | Description |
|
|
48
|
+
|---------|-------------|
|
|
49
|
+
| `/specd:status [--all]` | Show feature status dashboard |
|
|
50
|
+
| `/specd:blueprint [name] [sub]` | Generate visual blueprint (wireframes, diagrams) |
|
|
41
51
|
| `/specd:update` | Update Specdacular to the latest version |
|
|
42
52
|
| `/specd:help` | Show this help |
|
|
43
53
|
|
|
@@ -48,23 +58,27 @@ Display available specdacular commands and usage guidance.
|
|
|
48
58
|
The feature flow helps you plan features specific enough that an agent can implement without asking questions.
|
|
49
59
|
|
|
50
60
|
```
|
|
51
|
-
new
|
|
52
|
-
|
|
61
|
+
feature:new -> feature:discuss -> feature:research -> feature:plan (roadmap) ->
|
|
62
|
+
[for each phase]
|
|
63
|
+
phase:prepare? -> phase:plan -> phase:execute
|
|
64
|
+
phase:insert? -> phase:renumber? <- mid-flight adjustments
|
|
53
65
|
```
|
|
54
66
|
|
|
55
67
|
**You control the rhythm:**
|
|
56
|
-
- `new
|
|
57
|
-
- `discuss
|
|
58
|
-
- `research
|
|
59
|
-
- `plan
|
|
60
|
-
- `
|
|
61
|
-
- `
|
|
62
|
-
- `execute
|
|
68
|
+
- `feature:new` — Creates structure, asks initial questions, starts first discussion
|
|
69
|
+
- `feature:discuss` — Can be called **many times** to refine understanding
|
|
70
|
+
- `feature:research` — Can be called **many times** to investigate
|
|
71
|
+
- `feature:plan` — Creates roadmap with phases (no detailed plans yet)
|
|
72
|
+
- `phase:prepare` — Discuss gray areas + optionally research (per phase)
|
|
73
|
+
- `phase:plan` — Create detailed PLAN.md files for one phase
|
|
74
|
+
- `phase:execute` — Execute plans with progress tracking
|
|
75
|
+
- `phase:insert` — Insert a new phase mid-flight with decimal numbering (e.g., Phase 3.1)
|
|
76
|
+
- `phase:renumber` — Clean up decimal phases to sequential integers
|
|
63
77
|
|
|
64
78
|
### Quick Start
|
|
65
79
|
|
|
66
80
|
```
|
|
67
|
-
/specd:new
|
|
81
|
+
/specd:feature:new user-dashboard
|
|
68
82
|
```
|
|
69
83
|
|
|
70
84
|
This creates `.specd/features/user-dashboard/` with:
|
|
@@ -74,12 +88,20 @@ This creates `.specd/features/user-dashboard/` with:
|
|
|
74
88
|
- `CHANGELOG.md` — Auto-captured implementation decisions during execution
|
|
75
89
|
- `STATE.md` — Progress tracking
|
|
76
90
|
|
|
77
|
-
After initialization, refine
|
|
91
|
+
After initialization, refine and plan:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
/specd:feature:discuss user-dashboard # Clarify gray areas
|
|
95
|
+
/specd:feature:research user-dashboard # Research implementation
|
|
96
|
+
/specd:feature:plan user-dashboard # Create roadmap
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Then for each phase:
|
|
78
100
|
|
|
79
101
|
```
|
|
80
|
-
/specd:
|
|
81
|
-
/specd:
|
|
82
|
-
/specd:
|
|
102
|
+
/specd:phase:prepare user-dashboard 1 # Discuss + optionally research
|
|
103
|
+
/specd:phase:plan user-dashboard 1 # Create detailed plans
|
|
104
|
+
/specd:phase:execute user-dashboard # Execute with progress tracking
|
|
83
105
|
```
|
|
84
106
|
|
|
85
107
|
---
|
|
@@ -104,10 +126,10 @@ Spawns 4 parallel agents to analyze your codebase and creates `.specd/codebase/`
|
|
|
104
126
|
These docs are **for Claude, not humans**.
|
|
105
127
|
|
|
106
128
|
Each document answers a question Claude can't get from reading code:
|
|
107
|
-
- MAP.md
|
|
108
|
-
- PATTERNS.md
|
|
109
|
-
- STRUCTURE.md
|
|
110
|
-
- CONCERNS.md
|
|
129
|
+
- MAP.md -> "Where is X? What functions exist?"
|
|
130
|
+
- PATTERNS.md -> "How do I write code that fits?"
|
|
131
|
+
- STRUCTURE.md -> "Where do I put new code?"
|
|
132
|
+
- CONCERNS.md -> "What will bite me?"
|
|
111
133
|
|
|
112
134
|
**Principle:** Don't document what Claude can grep. Document tribal knowledge, gotchas, and patterns.
|
|
113
135
|
|
|
@@ -115,7 +137,7 @@ Each document answers a question Claude can't get from reading code:
|
|
|
115
137
|
|
|
116
138
|
## Updating
|
|
117
139
|
|
|
118
|
-
When an update is available, you'll see
|
|
140
|
+
When an update is available, you'll see `update available` in your statusline. Run:
|
|
119
141
|
```
|
|
120
142
|
/specd:update
|
|
121
143
|
```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: specd:execute
|
|
2
|
+
name: specd:phase:execute
|
|
3
3
|
description: Execute a feature plan with progress tracking
|
|
4
4
|
argument-hint: "[feature-name] [plan-path]"
|
|
5
5
|
allowed-tools:
|
|
@@ -19,10 +19,10 @@ Execute a plan from a feature, tracking progress and logging deviations.
|
|
|
19
19
|
1. Load context — STATE.md, DECISIONS.md, RESEARCH.md, codebase patterns
|
|
20
20
|
2. Find next plan — First incomplete plan, or accept path as argument
|
|
21
21
|
3. Execute tasks with:
|
|
22
|
-
- Auto-fix blockers/bugs
|
|
23
|
-
- Ask about architectural changes
|
|
22
|
+
- Auto-fix blockers/bugs -> log to CHANGELOG.md
|
|
23
|
+
- Ask about architectural changes -> wait for user
|
|
24
24
|
- Run verification after each task
|
|
25
|
-
- Stop on verification failure
|
|
25
|
+
- Stop on verification failure -> ask user (retry/skip/stop)
|
|
26
26
|
- Commit after each task
|
|
27
27
|
4. Update progress — STATE.md with completed tasks
|
|
28
28
|
5. Suggest next — Next plan to execute
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specd:phase:insert
|
|
3
|
+
description: Insert a new phase after an existing one (decimal numbering)
|
|
4
|
+
argument-hint: "[feature-name] [after-phase] [description...]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Insert a new phase after an existing one using decimal numbering (e.g., Phase 03.1 after Phase 03).
|
|
16
|
+
|
|
17
|
+
**What it does:**
|
|
18
|
+
1. Parse arguments — feature name, target phase number, description
|
|
19
|
+
2. Validate — Feature exists, ROADMAP.md exists, target phase exists
|
|
20
|
+
3. Find next decimal — Scan existing decimals, calculate next (03.1, 03.2, etc.)
|
|
21
|
+
4. Create phase directory — `plans/phase-{NN.M}/`
|
|
22
|
+
5. Update ROADMAP.md — Insert new phase section with `(INSERTED)` marker
|
|
23
|
+
6. Update STATE.md — Add roadmap evolution note, add unchecked phase checkbox
|
|
24
|
+
7. Update config.json — Increment `phases_count`
|
|
25
|
+
8. Show next steps
|
|
26
|
+
</objective>
|
|
27
|
+
|
|
28
|
+
<execution_context>
|
|
29
|
+
@~/.claude/specdacular/workflows/insert-phase.md
|
|
30
|
+
</execution_context>
|
|
31
|
+
|
|
32
|
+
<context>
|
|
33
|
+
Arguments: $ARGUMENTS (expects: feature-name after-phase description...)
|
|
34
|
+
|
|
35
|
+
**Load feature context:**
|
|
36
|
+
@.specd/features/{name}/ROADMAP.md
|
|
37
|
+
@.specd/features/{name}/STATE.md
|
|
38
|
+
@.specd/features/{name}/config.json
|
|
39
|
+
</context>
|
|
40
|
+
|
|
41
|
+
<process>
|
|
42
|
+
1. **Parse Arguments** — Extract feature-name, after-phase (integer), description
|
|
43
|
+
2. **Validate** — Feature exists, ROADMAP.md exists, target phase exists
|
|
44
|
+
3. **Find Next Decimal** — Scan for existing decimal directories, calculate next
|
|
45
|
+
4. **Create Phase Directory** — `plans/phase-{NN.M}/`
|
|
46
|
+
5. **Update ROADMAP.md** — Insert after target phase with `(INSERTED)` marker
|
|
47
|
+
6. **Update STATE.md** — Add evolution note and unchecked checkbox
|
|
48
|
+
7. **Update config.json** — Increment `phases_count`
|
|
49
|
+
8. **Completion** — Show summary with next steps
|
|
50
|
+
</process>
|
|
51
|
+
|
|
52
|
+
<success_criteria>
|
|
53
|
+
- [ ] Arguments parsed correctly (feature, phase number, description)
|
|
54
|
+
- [ ] Feature and target phase validated
|
|
55
|
+
- [ ] Decimal number calculated correctly (based on existing decimals)
|
|
56
|
+
- [ ] Phase directory created: `plans/phase-{NN.M}/`
|
|
57
|
+
- [ ] ROADMAP.md updated with new phase entry (includes `(INSERTED)` marker)
|
|
58
|
+
- [ ] Phase inserted in correct position (after target phase, before next phase)
|
|
59
|
+
- [ ] STATE.md updated with roadmap evolution note and unchecked checkbox
|
|
60
|
+
- [ ] config.json `phases_count` incremented
|
|
61
|
+
- [ ] User informed of next steps
|
|
62
|
+
</success_criteria>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specd:phase:plan
|
|
3
|
+
description: Create detailed PLAN.md files for one phase
|
|
4
|
+
argument-hint: "[feature-name] [phase-number]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- AskUserQuestion
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Create detailed, executable PLAN.md files for a single phase. Each plan is a prompt for an implementing agent.
|
|
16
|
+
|
|
17
|
+
**Creates:**
|
|
18
|
+
- `.specd/features/{name}/plans/phase-{NN}/{NN}-PLAN.md` — Executable task plans
|
|
19
|
+
|
|
20
|
+
**Each PLAN.md is a prompt** for an implementing agent with:
|
|
21
|
+
- Files to create/modify with specific paths
|
|
22
|
+
- Code patterns to follow (from codebase)
|
|
23
|
+
- Verification commands
|
|
24
|
+
- Clear completion criteria
|
|
25
|
+
|
|
26
|
+
**Prerequisite:** Phase should exist in ROADMAP.md. Phase preparation (`/specd:phase:prepare`) recommended but optional.
|
|
27
|
+
</objective>
|
|
28
|
+
|
|
29
|
+
<execution_context>
|
|
30
|
+
@~/.claude/specdacular/workflows/plan-phase.md
|
|
31
|
+
</execution_context>
|
|
32
|
+
|
|
33
|
+
<context>
|
|
34
|
+
Arguments: $ARGUMENTS (expects: feature-name phase-number)
|
|
35
|
+
|
|
36
|
+
**Load feature context:**
|
|
37
|
+
@.specd/features/{name}/FEATURE.md — Technical requirements
|
|
38
|
+
@.specd/features/{name}/CONTEXT.md — Resolved gray areas
|
|
39
|
+
@.specd/features/{name}/DECISIONS.md — Implementation decisions
|
|
40
|
+
@.specd/features/{name}/RESEARCH.md — Research findings (if exists)
|
|
41
|
+
@.specd/features/{name}/ROADMAP.md — Phase overview
|
|
42
|
+
|
|
43
|
+
**Load phase context:**
|
|
44
|
+
@.specd/features/{name}/plans/phase-{NN}/CONTEXT.md (if exists, from phase:prepare)
|
|
45
|
+
@.specd/features/{name}/plans/phase-{NN}/RESEARCH.md (if exists, from phase:research)
|
|
46
|
+
|
|
47
|
+
**Load codebase context:**
|
|
48
|
+
@.specd/codebase/PATTERNS.md — Code patterns to follow
|
|
49
|
+
@.specd/codebase/STRUCTURE.md — Where files go
|
|
50
|
+
@.specd/codebase/MAP.md — System overview
|
|
51
|
+
</context>
|
|
52
|
+
|
|
53
|
+
<process>
|
|
54
|
+
1. **Validate** — Feature exists, phase exists, phase not already executed
|
|
55
|
+
2. **Load Context** — Read ALL feature, phase, and codebase docs
|
|
56
|
+
3. **Check Existing Plans** — If plans exist, show them and confirm replace
|
|
57
|
+
4. **Break Into Tasks** — 2-3 tasks per plan, sized for agent execution
|
|
58
|
+
5. **Write PLAN Files** — As prompts for implementing agent
|
|
59
|
+
6. **Update ROADMAP** — Mark this phase as planned
|
|
60
|
+
7. **Update STATE.md** — Record planning for this phase
|
|
61
|
+
8. **Commit and Present** — Points to `/specd:phase:execute`
|
|
62
|
+
</process>
|
|
63
|
+
|
|
64
|
+
<success_criteria>
|
|
65
|
+
- [ ] Feature and phase validated
|
|
66
|
+
- [ ] Phase not already executed
|
|
67
|
+
- [ ] All context loaded (feature, phase, codebase)
|
|
68
|
+
- [ ] Tasks are specific (files, actions, verification)
|
|
69
|
+
- [ ] PLAN.md files are self-contained prompts
|
|
70
|
+
- [ ] ROADMAP.md updated for this phase
|
|
71
|
+
- [ ] Committed to git
|
|
72
|
+
- [ ] User knows next step: `/specd:phase:execute`
|
|
73
|
+
</success_criteria>
|
|
@@ -1,28 +1,33 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: specd:
|
|
3
|
-
description: Discuss
|
|
2
|
+
name: specd:phase:prepare
|
|
3
|
+
description: Discuss gray areas and optionally research patterns for a phase
|
|
4
4
|
argument-hint: "[feature-name] [phase-number]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
|
8
8
|
- Edit
|
|
9
|
+
- Bash
|
|
9
10
|
- Glob
|
|
10
11
|
- Grep
|
|
12
|
+
- Task
|
|
11
13
|
- AskUserQuestion
|
|
12
14
|
---
|
|
13
15
|
|
|
14
16
|
<objective>
|
|
15
|
-
|
|
17
|
+
Prepare a phase for execution by discussing gray areas and optionally researching implementation patterns. Combines discussion and research into a single flow.
|
|
18
|
+
|
|
19
|
+
**Discussion always happens.** Research is offered as an optional step at the end.
|
|
16
20
|
|
|
17
21
|
**Updates:**
|
|
18
22
|
- `.specd/features/{name}/plans/phase-{NN}/CONTEXT.md` — Phase-specific discussion resolutions
|
|
19
23
|
- `.specd/features/{name}/DECISIONS.md` — Accumulates decisions with dates/rationale
|
|
24
|
+
- `.specd/features/{name}/plans/phase-{NN}/RESEARCH.md` — Phase research (if opted in)
|
|
20
25
|
|
|
21
|
-
**Why
|
|
26
|
+
**Why merged?** Discussing a phase often reveals what needs researching. Single command, natural flow.
|
|
22
27
|
</objective>
|
|
23
28
|
|
|
24
29
|
<execution_context>
|
|
25
|
-
@~/.claude/specdacular/workflows/
|
|
30
|
+
@~/.claude/specdacular/workflows/prepare-phase.md
|
|
26
31
|
</execution_context>
|
|
27
32
|
|
|
28
33
|
<context>
|
|
@@ -46,10 +51,15 @@ Arguments: $ARGUMENTS (expects: feature-name phase-number)
|
|
|
46
51
|
<process>
|
|
47
52
|
1. **Validate** — Feature exists, phase exists in ROADMAP.md
|
|
48
53
|
2. **Load Context** — Phase details from ROADMAP.md, plans in phase, feature DECISIONS.md
|
|
49
|
-
3. **
|
|
50
|
-
4. **
|
|
51
|
-
5. **
|
|
52
|
-
6. **
|
|
54
|
+
3. **Show Phase State** — Present phase overview and existing context
|
|
55
|
+
4. **Identify Gray Areas** — Phase-type-specific concerns
|
|
56
|
+
5. **Probe Gray Areas** — 4 questions per area, then move on
|
|
57
|
+
6. **Record Discussion** — Save to phase CONTEXT.md, update DECISIONS.md
|
|
58
|
+
7. **Offer Research** — "Would you like to research implementation patterns?"
|
|
59
|
+
8. If yes: **Spawn Research Agents** — 3 parallel agents for phase-specific research
|
|
60
|
+
9. If yes: **Synthesize Research** — Combine into phase RESEARCH.md
|
|
61
|
+
10. If yes: **Record Research Decisions** — Technology choices to DECISIONS.md
|
|
62
|
+
11. **Commit and Complete** — Points to `/specd:phase:plan` or `/specd:phase:execute`
|
|
53
63
|
</process>
|
|
54
64
|
|
|
55
65
|
<success_criteria>
|
|
@@ -59,5 +69,7 @@ Arguments: $ARGUMENTS (expects: feature-name phase-number)
|
|
|
59
69
|
- [ ] User-selected areas discussed
|
|
60
70
|
- [ ] Decisions recorded with date, context, rationale
|
|
61
71
|
- [ ] Phase CONTEXT.md created/updated with resolved questions
|
|
72
|
+
- [ ] Research completed (if user opted in)
|
|
62
73
|
- [ ] Committed to git
|
|
74
|
+
- [ ] User knows next steps: `/specd:phase:plan` or `/specd:phase:execute`
|
|
63
75
|
</success_criteria>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specd:phase:renumber
|
|
3
|
+
description: Renumber phases to clean integer sequence
|
|
4
|
+
argument-hint: "[feature-name]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<objective>
|
|
16
|
+
Renumber all phases to a clean integer sequence after decimal phases have been inserted.
|
|
17
|
+
|
|
18
|
+
**What it does:**
|
|
19
|
+
1. Validate — Feature exists with plans and ROADMAP.md
|
|
20
|
+
2. Collect phases — List all phase directories, build old->new mapping
|
|
21
|
+
3. Preview — Show renumbering plan, ask user to confirm
|
|
22
|
+
4. Rename directories — Process highest-to-lowest to avoid collisions
|
|
23
|
+
5. Update plan frontmatter — Fix phase references in plan files
|
|
24
|
+
6. Update ROADMAP.md — Rewrite phase headers, remove `(INSERTED)` markers
|
|
25
|
+
7. Update STATE.md — Rewrite phase references everywhere
|
|
26
|
+
8. Update config.json — Set `phases_count` to new total
|
|
27
|
+
9. Show summary
|
|
28
|
+
</objective>
|
|
29
|
+
|
|
30
|
+
<execution_context>
|
|
31
|
+
@~/.claude/specdacular/workflows/renumber-phases.md
|
|
32
|
+
</execution_context>
|
|
33
|
+
|
|
34
|
+
<context>
|
|
35
|
+
Arguments: $ARGUMENTS (expects: feature-name)
|
|
36
|
+
|
|
37
|
+
**Load feature context:**
|
|
38
|
+
@.specd/features/{name}/ROADMAP.md
|
|
39
|
+
@.specd/features/{name}/STATE.md
|
|
40
|
+
@.specd/features/{name}/config.json
|
|
41
|
+
@.specd/features/{name}/plans/ (all phase directories and plan files)
|
|
42
|
+
</context>
|
|
43
|
+
|
|
44
|
+
<process>
|
|
45
|
+
1. **Validate** — Feature exists with plans directory and ROADMAP.md
|
|
46
|
+
2. **Collect Phases** — Build sorted list and renumbering mapping
|
|
47
|
+
3. **Preview** — Show mapping, confirm with user
|
|
48
|
+
4. **Rename Directories** — Highest target number down to avoid collisions
|
|
49
|
+
5. **Update Plan Frontmatter** — Fix phase/depends_on in plan YAML
|
|
50
|
+
6. **Update ROADMAP.md** — Rewrite headers, remove `(INSERTED)` markers
|
|
51
|
+
7. **Update STATE.md** — Rewrite all phase references
|
|
52
|
+
8. **Update config.json** — Set `phases_count` to integer count
|
|
53
|
+
9. **Completion** — Show summary of changes
|
|
54
|
+
</process>
|
|
55
|
+
|
|
56
|
+
<success_criteria>
|
|
57
|
+
- [ ] Feature validated with plans and ROADMAP.md
|
|
58
|
+
- [ ] All phase directories collected and sorted correctly
|
|
59
|
+
- [ ] Renumbering mapping shown to user and confirmed
|
|
60
|
+
- [ ] Directories renamed without collisions (highest-to-lowest)
|
|
61
|
+
- [ ] Plan file frontmatter updated (phase, depends_on)
|
|
62
|
+
- [ ] ROADMAP.md headers and references updated, `(INSERTED)` markers removed
|
|
63
|
+
- [ ] STATE.md phase references updated everywhere
|
|
64
|
+
- [ ] config.json `phases_count` updated
|
|
65
|
+
- [ ] Summary shown to user
|
|
66
|
+
</success_criteria>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: specd:research
|
|
2
|
+
name: specd:phase:research
|
|
3
3
|
description: Research implementation patterns for a phase
|
|
4
4
|
argument-hint: "[feature-name] [phase-number]"
|
|
5
5
|
allowed-tools:
|
|
@@ -19,6 +19,8 @@ Research implementation patterns for a specific phase before executing it. Spawn
|
|
|
19
19
|
**Output:** `.specd/features/{name}/plans/phase-{NN}/RESEARCH.md` with phase-specific guidance.
|
|
20
20
|
|
|
21
21
|
**Why phase-level research?** Instead of researching the entire feature upfront, investigate each phase's specifics right before executing it. Smaller scope, more focused, fresher context.
|
|
22
|
+
|
|
23
|
+
**Note:** This is also available as part of `/specd:phase:prepare`. Use this standalone command when you want to research without discussing first.
|
|
22
24
|
</objective>
|
|
23
25
|
|
|
24
26
|
<execution_context>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specd:status
|
|
3
|
+
description: Show feature status dashboard
|
|
4
|
+
argument-hint: "[--all]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Glob
|
|
8
|
+
- Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
Display a dashboard showing all features and their current status, stage, plan progress, and recommended next action.
|
|
13
|
+
|
|
14
|
+
- By default, hide completed features
|
|
15
|
+
- With `--all` flag, show completed features in a separate section
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<execution_context>
|
|
19
|
+
@~/.claude/specdacular/workflows/status.md
|
|
20
|
+
</execution_context>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: feature-researcher
|
|
3
|
-
description: Researches implementation patterns, libraries, and pitfalls for features. Spawned by /specd:research
|
|
3
|
+
description: Researches implementation patterns, libraries, and pitfalls for features. Spawned by /specd:feature:research and /specd:phase:prepare.
|
|
4
4
|
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,7 +8,9 @@ tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch
|
|
|
8
8
|
You are a feature researcher. You investigate how to implement a specific feature well, producing findings that directly inform planning.
|
|
9
9
|
|
|
10
10
|
You are spawned by:
|
|
11
|
-
- `/specd:research
|
|
11
|
+
- `/specd:feature:research` orchestrator (parallel research)
|
|
12
|
+
- `/specd:phase:prepare` (when user opts into research)
|
|
13
|
+
- `/specd:phase:research` (standalone phase research)
|
|
12
14
|
|
|
13
15
|
Your job: Answer "What do I need to know to IMPLEMENT this feature well?" Produce structured findings that the synthesizer combines into RESEARCH.md.
|
|
14
16
|
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
|
|
7
|
+
<title>{feature-name} Blueprint</title>
|
|
8
|
+
<style>
|
|
9
|
+
{styles}
|
|
10
|
+
</style>
|
|
11
|
+
</head>
|
|
12
|
+
<body>
|
|
13
|
+
<div class="blueprint-container">
|
|
14
|
+
<nav class="blueprint-sidebar">
|
|
15
|
+
<div class="sidebar-header">
|
|
16
|
+
<h2>{feature-name}</h2>
|
|
17
|
+
<span class="subtitle">Blueprint</span>
|
|
18
|
+
</div>
|
|
19
|
+
<ul class="nav-tabs">
|
|
20
|
+
<li><a href="#overview" class="tab-link active" data-tab="overview">Overview</a></li>
|
|
21
|
+
<li><a href="#decisions" class="tab-link" data-tab="decisions">Decisions</a></li>
|
|
22
|
+
<li><a href="#context" class="tab-link" data-tab="context">Context</a></li>
|
|
23
|
+
<li><a href="#plans" class="tab-link" data-tab="plans">Plans</a></li>
|
|
24
|
+
<li><a href="#wireframes" class="tab-link {wireframes-disabled}" data-tab="wireframes">Wireframes</a></li>
|
|
25
|
+
<li><a href="#diagrams" class="tab-link {diagrams-disabled}" data-tab="diagrams">Diagrams</a></li>
|
|
26
|
+
</ul>
|
|
27
|
+
<div class="sidebar-footer">
|
|
28
|
+
<span class="generated">Generated: {date}</span>
|
|
29
|
+
</div>
|
|
30
|
+
</nav>
|
|
31
|
+
|
|
32
|
+
<main class="blueprint-content">
|
|
33
|
+
<section id="overview" class="tab-content active">
|
|
34
|
+
<h1>Overview</h1>
|
|
35
|
+
<div class="overview-description">
|
|
36
|
+
{feature-description}
|
|
37
|
+
</div>
|
|
38
|
+
<div class="overview-stats">
|
|
39
|
+
<div class="stat">
|
|
40
|
+
<span class="stat-value">{decisions-count}</span>
|
|
41
|
+
<span class="stat-label">Decisions</span>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="stat">
|
|
44
|
+
<span class="stat-value">{sessions-count}</span>
|
|
45
|
+
<span class="stat-label">Discussion Sessions</span>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="stat">
|
|
48
|
+
<span class="stat-value">{plans-count}</span>
|
|
49
|
+
<span class="stat-label">Plans</span>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="overview-timeline">
|
|
53
|
+
<h2>Activity Timeline</h2>
|
|
54
|
+
{timeline-content}
|
|
55
|
+
</div>
|
|
56
|
+
</section>
|
|
57
|
+
|
|
58
|
+
<section id="decisions" class="tab-content">
|
|
59
|
+
<h1>Decisions</h1>
|
|
60
|
+
<p class="section-intro">Click any decision to expand details.</p>
|
|
61
|
+
<div class="phase-tabs">
|
|
62
|
+
{decisions-phase-tabs}
|
|
63
|
+
</div>
|
|
64
|
+
<div class="decisions-list">
|
|
65
|
+
{decisions-content}
|
|
66
|
+
</div>
|
|
67
|
+
</section>
|
|
68
|
+
|
|
69
|
+
<section id="context" class="tab-content">
|
|
70
|
+
<h1>Discussion Context</h1>
|
|
71
|
+
<div class="phase-tabs">
|
|
72
|
+
{context-phase-tabs}
|
|
73
|
+
</div>
|
|
74
|
+
<div class="context-content">
|
|
75
|
+
{context-content}
|
|
76
|
+
</div>
|
|
77
|
+
</section>
|
|
78
|
+
|
|
79
|
+
<section id="plans" class="tab-content">
|
|
80
|
+
<h1>Plans</h1>
|
|
81
|
+
<div class="phase-tabs">
|
|
82
|
+
{plans-phase-tabs}
|
|
83
|
+
</div>
|
|
84
|
+
<div class="plans-content">
|
|
85
|
+
{plans-content}
|
|
86
|
+
</div>
|
|
87
|
+
</section>
|
|
88
|
+
|
|
89
|
+
<section id="wireframes" class="tab-content">
|
|
90
|
+
<h1>Wireframes</h1>
|
|
91
|
+
<div class="wireframes-content">
|
|
92
|
+
{wireframes-content}
|
|
93
|
+
</div>
|
|
94
|
+
</section>
|
|
95
|
+
|
|
96
|
+
<section id="diagrams" class="tab-content">
|
|
97
|
+
<h1>Diagrams</h1>
|
|
98
|
+
<div class="diagrams-content">
|
|
99
|
+
{diagrams-content}
|
|
100
|
+
</div>
|
|
101
|
+
</section>
|
|
102
|
+
</main>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
<script src="https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.min.js"></script>
|
|
106
|
+
<script>
|
|
107
|
+
{scripts}
|
|
108
|
+
</script>
|
|
109
|
+
</body>
|
|
110
|
+
</html>
|