specdacular 0.2.1 → 0.2.3
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 +160 -56
- package/commands/specd/discuss-feature.md +64 -0
- package/commands/specd/execute-plan.md +68 -0
- package/commands/specd/help.md +64 -6
- package/commands/specd/new-feature.md +32 -40
- package/commands/specd/plan-feature.md +69 -0
- package/commands/specd/research-feature.md +457 -0
- package/package.json +1 -1
- package/specdacular/agents/feature-researcher.md +289 -0
- package/specdacular/templates/features/CHANGELOG.md +34 -0
- package/specdacular/templates/features/CONTEXT.md +81 -0
- package/specdacular/templates/features/DECISIONS.md +109 -0
- package/specdacular/templates/features/FEATURE.md +46 -27
- package/specdacular/templates/features/PLAN.md +180 -0
- package/specdacular/templates/features/RESEARCH.md +183 -0
- package/specdacular/templates/features/ROADMAP.md +59 -26
- package/specdacular/templates/features/STATE.md +73 -30
- package/specdacular/workflows/discuss-feature.md +388 -0
- package/specdacular/workflows/execute-plan.md +395 -0
- package/specdacular/workflows/new-feature.md +210 -257
- package/specdacular/workflows/plan-feature.md +501 -0
- package/specdacular/workflows/research-feature.md +252 -0
- package/specdacular/templates/features/REQUIREMENTS.md +0 -55
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Specdacular
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**AI-optimized codebase documentation and feature planning for Claude.**
|
|
4
4
|
|
|
5
|
-
A Claude Code extension that
|
|
5
|
+
A Claude Code extension that helps you understand codebases and plan features specific enough that an agent can implement without asking questions.
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
npx specdacular
|
|
@@ -12,19 +12,30 @@ npx specdacular
|
|
|
12
12
|
|
|
13
13
|
## What It Does
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
### 1. Map Your Codebase
|
|
16
|
+
|
|
17
|
+
Spawns 4 parallel agents to analyze your codebase and generate AI-optimized documentation:
|
|
16
18
|
|
|
17
19
|
| Document | What It Answers |
|
|
18
20
|
|----------|-----------------|
|
|
19
|
-
| `
|
|
20
|
-
| `
|
|
21
|
-
| `STRUCTURE.md` | Where do
|
|
22
|
-
| `
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
| `MAP.md` | Where is X? What functions exist? |
|
|
22
|
+
| `PATTERNS.md` | How do I write code that fits here? |
|
|
23
|
+
| `STRUCTURE.md` | Where do I put new code? |
|
|
24
|
+
| `CONCERNS.md` | What will bite me? Gotchas? Tech debt? |
|
|
25
|
+
|
|
26
|
+
### 2. Plan Features
|
|
27
|
+
|
|
28
|
+
A structured flow for planning features with enough detail for agent implementation:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
new-feature → (discuss ↔ research)* → plan-feature
|
|
32
|
+
```
|
|
26
33
|
|
|
27
|
-
|
|
34
|
+
**You control the rhythm:**
|
|
35
|
+
- `new-feature` — Initialize and start first discussion
|
|
36
|
+
- `discuss-feature` — Refine understanding (call many times)
|
|
37
|
+
- `research-feature` — Investigate implementation approaches
|
|
38
|
+
- `plan-feature` — Create executable task plans
|
|
28
39
|
|
|
29
40
|
---
|
|
30
41
|
|
|
@@ -35,8 +46,8 @@ npx specdacular
|
|
|
35
46
|
```
|
|
36
47
|
|
|
37
48
|
Choose:
|
|
38
|
-
- **Global** (`~/.claude/`)
|
|
39
|
-
- **Local** (`./.claude/`)
|
|
49
|
+
- **Global** (`~/.claude/`) — Available in all projects
|
|
50
|
+
- **Local** (`./.claude/`) — This project only
|
|
40
51
|
|
|
41
52
|
### Verify Installation
|
|
42
53
|
|
|
@@ -47,36 +58,60 @@ In Claude Code:
|
|
|
47
58
|
|
|
48
59
|
---
|
|
49
60
|
|
|
50
|
-
##
|
|
61
|
+
## Commands
|
|
62
|
+
|
|
63
|
+
### Codebase Documentation
|
|
51
64
|
|
|
52
|
-
|
|
65
|
+
| Command | Description |
|
|
66
|
+
|---------|-------------|
|
|
67
|
+
| `/specd:map-codebase` | Analyze codebase with parallel agents |
|
|
68
|
+
|
|
69
|
+
### Feature Planning
|
|
70
|
+
|
|
71
|
+
| Command | Description |
|
|
72
|
+
|---------|-------------|
|
|
73
|
+
| `/specd:new-feature [name]` | Initialize a feature, start first discussion |
|
|
74
|
+
| `/specd:discuss-feature [name]` | Continue/deepen discussion (iterative) |
|
|
75
|
+
| `/specd:research-feature [name]` | Research implementation with parallel agents |
|
|
76
|
+
| `/specd:plan-feature [name]` | Create executable task plans |
|
|
77
|
+
|
|
78
|
+
### Utilities
|
|
79
|
+
|
|
80
|
+
| Command | Description |
|
|
81
|
+
|---------|-------------|
|
|
82
|
+
| `/specd:help` | Show available commands |
|
|
83
|
+
| `/specd:update` | Update to latest version |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Quick Start
|
|
88
|
+
|
|
89
|
+
### Map a Codebase
|
|
53
90
|
|
|
54
91
|
```
|
|
55
92
|
/specd:map-codebase
|
|
56
93
|
```
|
|
57
94
|
|
|
58
|
-
|
|
59
|
-
1. Creates `.specd/codebase/` directory
|
|
60
|
-
2. Spawns 4 parallel agents (tech, architecture, quality, concerns)
|
|
61
|
-
3. Each agent explores and writes documents directly
|
|
62
|
-
4. Commits the codebase map
|
|
95
|
+
Creates `.specd/codebase/` with 4 AI-optimized documents.
|
|
63
96
|
|
|
64
|
-
###
|
|
97
|
+
### Plan a Feature
|
|
65
98
|
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
cat .specd/codebase/ARCHITECTURE.md
|
|
69
|
-
# etc.
|
|
99
|
+
```
|
|
100
|
+
/specd:new-feature user-dashboard
|
|
70
101
|
```
|
|
71
102
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
103
|
+
Creates `.specd/features/user-dashboard/` with:
|
|
104
|
+
- `FEATURE.md` — Technical requirements
|
|
105
|
+
- `CONTEXT.md` — Discussion context (accumulates)
|
|
106
|
+
- `DECISIONS.md` — Decisions with dates and rationale
|
|
107
|
+
- `STATE.md` — Progress tracking
|
|
75
108
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
109
|
+
Then refine and plan:
|
|
110
|
+
```
|
|
111
|
+
/specd:discuss-feature user-dashboard # Clarify gray areas
|
|
112
|
+
/specd:research-feature user-dashboard # Research implementation
|
|
113
|
+
/specd:plan-feature user-dashboard # Create executable plans
|
|
114
|
+
```
|
|
80
115
|
|
|
81
116
|
---
|
|
82
117
|
|
|
@@ -84,7 +119,7 @@ cat .specd/codebase/ARCHITECTURE.md
|
|
|
84
119
|
|
|
85
120
|
### Parallel Agents
|
|
86
121
|
|
|
87
|
-
|
|
122
|
+
Specdacular spawns specialized agents that run simultaneously:
|
|
88
123
|
|
|
89
124
|
```
|
|
90
125
|
┌─────────────────────────────────────────────────────────┐
|
|
@@ -94,58 +129,127 @@ Instead of one agent doing everything, Specdacular spawns 4 specialized agents t
|
|
|
94
129
|
┌───────────────┼───────────────┐
|
|
95
130
|
▼ ▼ ▼ ▼
|
|
96
131
|
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
97
|
-
│
|
|
132
|
+
│ Map │ │ Patterns │ │Structure │ │ Concerns │
|
|
98
133
|
│ Agent │ │ Agent │ │ Agent │ │ Agent │
|
|
99
134
|
└──────────┘ └──────────┘ └──────────┘ └──────────┘
|
|
100
135
|
│ │ │ │
|
|
101
136
|
▼ ▼ ▼ ▼
|
|
102
|
-
|
|
103
|
-
INTEG.md STRUCT.md TESTING.md
|
|
137
|
+
MAP.md PATTERNS.md STRUCTURE.md CONCERNS.md
|
|
104
138
|
```
|
|
105
139
|
|
|
106
140
|
**Benefits:**
|
|
107
141
|
- Fresh 200k context per agent (no token pollution)
|
|
108
142
|
- Faster execution (parallel, not sequential)
|
|
109
|
-
- Agents write directly to files
|
|
143
|
+
- Agents write directly to files
|
|
110
144
|
|
|
111
|
-
|
|
145
|
+
### Feature Flow
|
|
112
146
|
|
|
113
|
-
|
|
147
|
+
The feature planning flow accumulates context over multiple sessions:
|
|
114
148
|
|
|
115
|
-
```
|
|
116
|
-
|
|
149
|
+
```
|
|
150
|
+
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
151
|
+
│ new-feature │ ──▶ │ discuss │ ◀─▶ │ research │
|
|
152
|
+
│ │ │ feature │ │ feature │
|
|
153
|
+
└──────────────┘ └──────────────┘ └──────────────┘
|
|
154
|
+
│
|
|
155
|
+
▼
|
|
156
|
+
┌──────────────┐
|
|
157
|
+
│ plan-feature │
|
|
158
|
+
│ │
|
|
159
|
+
└──────────────┘
|
|
160
|
+
│
|
|
161
|
+
▼
|
|
162
|
+
Executable PLAN.md
|
|
163
|
+
files for agents
|
|
117
164
|
```
|
|
118
165
|
|
|
119
|
-
|
|
166
|
+
Each session updates:
|
|
167
|
+
- `CONTEXT.md` — Resolved questions accumulate
|
|
168
|
+
- `DECISIONS.md` — Decisions with rationale accumulate
|
|
120
169
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
170
|
+
Plans are prompts for implementing agents with:
|
|
171
|
+
- Specific file paths
|
|
172
|
+
- Code patterns to follow
|
|
173
|
+
- Verification commands
|
|
174
|
+
- Clear completion criteria
|
|
126
175
|
|
|
127
176
|
---
|
|
128
177
|
|
|
129
178
|
## Project Structure
|
|
130
179
|
|
|
131
|
-
After
|
|
180
|
+
After using Specdacular:
|
|
132
181
|
|
|
133
182
|
```
|
|
134
183
|
your-project/
|
|
135
184
|
├── .specd/
|
|
136
|
-
│
|
|
137
|
-
│
|
|
138
|
-
│
|
|
139
|
-
│
|
|
140
|
-
│
|
|
141
|
-
│
|
|
142
|
-
│
|
|
143
|
-
│ └──
|
|
185
|
+
│ ├── codebase/ # From /specd:map-codebase
|
|
186
|
+
│ │ ├── MAP.md
|
|
187
|
+
│ │ ├── PATTERNS.md
|
|
188
|
+
│ │ ├── STRUCTURE.md
|
|
189
|
+
│ │ └── CONCERNS.md
|
|
190
|
+
│ │
|
|
191
|
+
│ └── features/ # From feature commands
|
|
192
|
+
│ └── user-dashboard/
|
|
193
|
+
│ ├── FEATURE.md # Technical requirements
|
|
194
|
+
│ ├── CONTEXT.md # Discussion context
|
|
195
|
+
│ ├── DECISIONS.md # Decision log
|
|
196
|
+
│ ├── STATE.md # Progress tracking
|
|
197
|
+
│ ├── RESEARCH.md # Research findings
|
|
198
|
+
│ ├── ROADMAP.md # Phase overview
|
|
199
|
+
│ └── plans/ # Executable plans
|
|
200
|
+
│ ├── phase-01/
|
|
201
|
+
│ │ ├── 01-PLAN.md
|
|
202
|
+
│ │ └── 02-PLAN.md
|
|
203
|
+
│ └── phase-02/
|
|
204
|
+
│ └── 01-PLAN.md
|
|
144
205
|
└── ...
|
|
145
206
|
```
|
|
146
207
|
|
|
147
208
|
---
|
|
148
209
|
|
|
210
|
+
## Philosophy
|
|
211
|
+
|
|
212
|
+
### Documentation Is For Claude
|
|
213
|
+
|
|
214
|
+
These docs answer questions Claude can't get from reading code:
|
|
215
|
+
- Tribal knowledge
|
|
216
|
+
- Gotchas and pitfalls
|
|
217
|
+
- Patterns and conventions
|
|
218
|
+
- Where things go
|
|
219
|
+
|
|
220
|
+
**Principle:** Don't document what Claude can grep. Document what requires understanding.
|
|
221
|
+
|
|
222
|
+
### Plans Are Prompts
|
|
223
|
+
|
|
224
|
+
Each `PLAN.md` is literally what you'd send to an implementing agent. It contains everything needed to implement without asking questions.
|
|
225
|
+
|
|
226
|
+
### Decisions Are Permanent
|
|
227
|
+
|
|
228
|
+
Once recorded in `DECISIONS.md`, decisions aren't re-litigated. Each has date, context, rationale, and implications.
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Updating
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
npx specdacular@latest
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Or in Claude Code:
|
|
239
|
+
```
|
|
240
|
+
/specd:update
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## Uninstalling
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
npx specdacular --global --uninstall
|
|
247
|
+
# or
|
|
248
|
+
npx specdacular --local --uninstall
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
149
253
|
## License
|
|
150
254
|
|
|
151
255
|
MIT
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specd:discuss-feature
|
|
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
|
+
Continue or deepen understanding of a feature through targeted discussion. Can be called **many times** — context accumulates.
|
|
16
|
+
|
|
17
|
+
**Updates:**
|
|
18
|
+
- `.specd/features/{name}/CONTEXT.md` — Accumulates resolved questions
|
|
19
|
+
- `.specd/features/{name}/DECISIONS.md` — Accumulates decisions with dates/rationale
|
|
20
|
+
- `.specd/features/{name}/STATE.md` — Tracks discussion progress
|
|
21
|
+
|
|
22
|
+
**Idempotent:** Calling multiple times builds on previous discussions, doesn't reset.
|
|
23
|
+
</objective>
|
|
24
|
+
|
|
25
|
+
<execution_context>
|
|
26
|
+
@~/.claude/specdacular/workflows/discuss-feature.md
|
|
27
|
+
</execution_context>
|
|
28
|
+
|
|
29
|
+
<context>
|
|
30
|
+
Feature name: $ARGUMENTS
|
|
31
|
+
|
|
32
|
+
**Load feature context:**
|
|
33
|
+
@.specd/features/{name}/FEATURE.md
|
|
34
|
+
@.specd/features/{name}/CONTEXT.md
|
|
35
|
+
@.specd/features/{name}/DECISIONS.md
|
|
36
|
+
@.specd/features/{name}/STATE.md
|
|
37
|
+
|
|
38
|
+
**Load codebase context (if available):**
|
|
39
|
+
@.specd/codebase/PATTERNS.md
|
|
40
|
+
@.specd/codebase/STRUCTURE.md
|
|
41
|
+
@.specd/codebase/MAP.md
|
|
42
|
+
</context>
|
|
43
|
+
|
|
44
|
+
<process>
|
|
45
|
+
1. **Validate** — Check feature exists, has required files
|
|
46
|
+
2. **Load Context** — Read FEATURE.md, CONTEXT.md, DECISIONS.md
|
|
47
|
+
3. **Show Current State** — "Here's what we've discussed so far..."
|
|
48
|
+
4. **Identify Gray Areas** — Based on feature type and existing context
|
|
49
|
+
5. **Let User Select** — Which areas to discuss this session
|
|
50
|
+
6. **Probe Each Area** — Until clear (4 questions, then check)
|
|
51
|
+
7. **Record Decisions** — NEW decisions to DECISIONS.md with date + rationale
|
|
52
|
+
8. **Update CONTEXT.md** — With newly resolved questions
|
|
53
|
+
9. **Present Summary** — Offer next steps
|
|
54
|
+
</process>
|
|
55
|
+
|
|
56
|
+
<success_criteria>
|
|
57
|
+
- [ ] Feature validated (exists, has required files)
|
|
58
|
+
- [ ] Existing context loaded and summarized
|
|
59
|
+
- [ ] Gray areas identified and presented
|
|
60
|
+
- [ ] User-selected areas discussed
|
|
61
|
+
- [ ] Decisions recorded with date, context, rationale
|
|
62
|
+
- [ ] CONTEXT.md updated with resolved questions
|
|
63
|
+
- [ ] User knows options: discuss more, research, or plan
|
|
64
|
+
</success_criteria>
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specd:execute-plan
|
|
3
|
+
description: Execute a feature plan with progress tracking
|
|
4
|
+
argument-hint: "[feature-name] [plan-path]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<objective>
|
|
16
|
+
Execute a plan from a feature, tracking progress and logging deviations.
|
|
17
|
+
|
|
18
|
+
**What it does:**
|
|
19
|
+
1. Load context — STATE.md, DECISIONS.md, RESEARCH.md, codebase patterns
|
|
20
|
+
2. Find next plan — First incomplete plan, or accept path as argument
|
|
21
|
+
3. Execute tasks with:
|
|
22
|
+
- Auto-fix blockers/bugs → log to CHANGELOG.md
|
|
23
|
+
- Ask about architectural changes → wait for user
|
|
24
|
+
- Run verification after each task
|
|
25
|
+
- Stop on verification failure → ask user (retry/skip/stop)
|
|
26
|
+
- Commit after each task
|
|
27
|
+
4. Update progress — STATE.md with completed tasks
|
|
28
|
+
5. Suggest next — Next plan to execute
|
|
29
|
+
</objective>
|
|
30
|
+
|
|
31
|
+
<execution_context>
|
|
32
|
+
@~/.claude/specdacular/workflows/execute-plan.md
|
|
33
|
+
</execution_context>
|
|
34
|
+
|
|
35
|
+
<context>
|
|
36
|
+
Feature name: $ARGUMENTS (first argument)
|
|
37
|
+
Plan path: $ARGUMENTS (optional second argument)
|
|
38
|
+
|
|
39
|
+
**Load ALL feature context:**
|
|
40
|
+
@.specd/features/{name}/STATE.md — Progress tracking
|
|
41
|
+
@.specd/features/{name}/DECISIONS.md — Constraints to follow
|
|
42
|
+
@.specd/features/{name}/RESEARCH.md — Implementation notes (if exists)
|
|
43
|
+
@.specd/features/{name}/ROADMAP.md — Phase overview
|
|
44
|
+
|
|
45
|
+
**Load codebase context:**
|
|
46
|
+
@.specd/codebase/PATTERNS.md — Code patterns to follow
|
|
47
|
+
@.specd/codebase/STRUCTURE.md — Where files go
|
|
48
|
+
@.specd/codebase/MAP.md — System overview
|
|
49
|
+
</context>
|
|
50
|
+
|
|
51
|
+
<process>
|
|
52
|
+
1. **Validate** — Check feature exists with plans
|
|
53
|
+
2. **Load Context** — Read all feature and codebase docs
|
|
54
|
+
3. **Find Plan** — Next incomplete or specified plan
|
|
55
|
+
4. **Execute Tasks** — With verification and deviation handling
|
|
56
|
+
5. **Complete Plan** — Update STATE.md, suggest next
|
|
57
|
+
</process>
|
|
58
|
+
|
|
59
|
+
<success_criteria>
|
|
60
|
+
- [ ] Feature validated with plans
|
|
61
|
+
- [ ] Context loaded (feature, codebase)
|
|
62
|
+
- [ ] Tasks executed in order
|
|
63
|
+
- [ ] Verification run after each task
|
|
64
|
+
- [ ] Deviations logged to CHANGELOG.md
|
|
65
|
+
- [ ] STATE.md updated with progress
|
|
66
|
+
- [ ] Commits made after each task
|
|
67
|
+
- [ ] Next plan suggested
|
|
68
|
+
</success_criteria>
|
package/commands/specd/help.md
CHANGED
|
@@ -12,24 +12,80 @@ Display available specdacular commands and usage guidance.
|
|
|
12
12
|
<output>
|
|
13
13
|
# Specdacular
|
|
14
14
|
|
|
15
|
-
**AI-optimized codebase documentation for Claude.**
|
|
15
|
+
**AI-optimized codebase documentation and feature planning for Claude.**
|
|
16
16
|
|
|
17
17
|
## Commands
|
|
18
18
|
|
|
19
|
+
### Codebase Documentation
|
|
20
|
+
|
|
21
|
+
| Command | Description |
|
|
22
|
+
|---------|-------------|
|
|
23
|
+
| `/specd:map-codebase` | Analyze codebase with parallel agents → produce AI-optimized docs |
|
|
24
|
+
|
|
25
|
+
### Feature Flow
|
|
26
|
+
|
|
27
|
+
| Command | Description |
|
|
28
|
+
|---------|-------------|
|
|
29
|
+
| `/specd:new-feature [name]` | Initialize a feature, start first discussion |
|
|
30
|
+
| `/specd:discuss-feature [name]` | Continue/deepen feature discussion (can call many times) |
|
|
31
|
+
| `/specd:research-feature [name]` | Research implementation with parallel agents |
|
|
32
|
+
| `/specd:plan-feature [name]` | Create executable task plans for agents |
|
|
33
|
+
| `/specd:execute-plan [feature] [plan]` | Execute a plan with progress tracking |
|
|
34
|
+
|
|
35
|
+
### Utilities
|
|
36
|
+
|
|
19
37
|
| Command | Description |
|
|
20
38
|
|---------|-------------|
|
|
21
|
-
| `/specd:map-codebase` | Analyze codebase → produce 4 AI-optimized docs |
|
|
22
|
-
| `/specd:new-feature` | Initialize a feature with requirements and roadmap |
|
|
23
39
|
| `/specd:update` | Update Specdacular to the latest version |
|
|
24
40
|
| `/specd:help` | Show this help |
|
|
25
41
|
|
|
26
|
-
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Feature Flow
|
|
45
|
+
|
|
46
|
+
The feature flow helps you plan features specific enough that an agent can implement without asking questions.
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
new-feature → (discuss ↔ research)* → plan-feature → execute-plan*
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**You control the rhythm:**
|
|
53
|
+
- `new-feature` — Creates structure, asks initial questions, starts first discussion
|
|
54
|
+
- `discuss-feature` — Can be called **many times** to refine understanding
|
|
55
|
+
- `research-feature` — Can be called **many times** to investigate
|
|
56
|
+
- `plan-feature` — When satisfied, creates executable plans for an agent
|
|
57
|
+
- `execute-plan` — Execute plans with progress tracking and deviation logging
|
|
58
|
+
|
|
59
|
+
### Quick Start
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
/specd:new-feature user-dashboard
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
This creates `.specd/features/user-dashboard/` with:
|
|
66
|
+
- `FEATURE.md` — Technical requirements
|
|
67
|
+
- `CONTEXT.md` — Discussion context (accumulates)
|
|
68
|
+
- `DECISIONS.md` — User-driven decisions with dates and rationale
|
|
69
|
+
- `CHANGELOG.md` — Auto-captured implementation decisions during execution
|
|
70
|
+
- `STATE.md` — Progress tracking
|
|
71
|
+
|
|
72
|
+
After initialization, refine with discussion and research, then create plans:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
/specd:discuss-feature user-dashboard # Clarify gray areas
|
|
76
|
+
/specd:research-feature user-dashboard # Research implementation
|
|
77
|
+
/specd:plan-feature user-dashboard # Create executable plans
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Codebase Documentation
|
|
27
83
|
|
|
28
84
|
```
|
|
29
85
|
/specd:map-codebase
|
|
30
86
|
```
|
|
31
87
|
|
|
32
|
-
|
|
88
|
+
Spawns 4 parallel agents to analyze your codebase and creates `.specd/codebase/`:
|
|
33
89
|
|
|
34
90
|
| Document | What it contains |
|
|
35
91
|
|----------|------------------|
|
|
@@ -38,7 +94,7 @@ This spawns 4 parallel agents to analyze your codebase and creates `.specd/codeb
|
|
|
38
94
|
| **STRUCTURE.md** | Organization: where to put new code |
|
|
39
95
|
| **CONCERNS.md** | Warnings: gotchas, anti-patterns, debt |
|
|
40
96
|
|
|
41
|
-
|
|
97
|
+
### Philosophy
|
|
42
98
|
|
|
43
99
|
These docs are **for Claude, not humans**.
|
|
44
100
|
|
|
@@ -50,6 +106,8 @@ Each document answers a question Claude can't get from reading code:
|
|
|
50
106
|
|
|
51
107
|
**Principle:** Don't document what Claude can grep. Document tribal knowledge, gotchas, and patterns.
|
|
52
108
|
|
|
109
|
+
---
|
|
110
|
+
|
|
53
111
|
## Updating
|
|
54
112
|
|
|
55
113
|
When an update is available, you'll see `⬆ /specd:update` in your statusline. Run:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: specd:new-feature
|
|
3
|
-
description: Initialize a new feature with
|
|
3
|
+
description: Initialize a new feature with technical questioning and start the first discussion
|
|
4
4
|
argument-hint: "[feature-name]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
@@ -12,14 +12,16 @@ allowed-tools:
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<objective>
|
|
15
|
-
Initialize a feature folder
|
|
15
|
+
Initialize a feature folder and start the first discussion. Creates structure, asks initial questions about what's being built, and writes technical requirements.
|
|
16
16
|
|
|
17
|
-
Creates
|
|
18
|
-
- FEATURE.md
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
- STATE.md
|
|
22
|
-
- config.json
|
|
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, user controls the loop with discuss/research/plan.
|
|
23
25
|
</objective>
|
|
24
26
|
|
|
25
27
|
<execution_context>
|
|
@@ -30,46 +32,36 @@ Creates `.specd/features/{feature-name}/` with:
|
|
|
30
32
|
Feature name: $ARGUMENTS
|
|
31
33
|
|
|
32
34
|
**Codebase context discovery:**
|
|
33
|
-
1. Check for `.specd/config.json`
|
|
35
|
+
1. Check for `.specd/config.json` — if exists, read `codebase_docs` path
|
|
34
36
|
2. If no config, check for `.specd/codebase/` (default location)
|
|
35
|
-
3. If neither found,
|
|
37
|
+
3. If neither found, offer `/specd:map-codebase`
|
|
36
38
|
|
|
37
39
|
**Referenced docs (when available):**
|
|
38
|
-
- `ARCHITECTURE.md`
|
|
39
|
-
- `CONVENTIONS.md`
|
|
40
|
-
- `STRUCTURE.md`
|
|
40
|
+
- `ARCHITECTURE.md` or `MAP.md` — System structure
|
|
41
|
+
- `CONVENTIONS.md` or `PATTERNS.md` — Code patterns
|
|
42
|
+
- `STRUCTURE.md` — Directory layout
|
|
41
43
|
</context>
|
|
42
44
|
|
|
43
|
-
<when_to_use>
|
|
44
|
-
**Use new-feature for:**
|
|
45
|
-
- Starting a new feature or enhancement
|
|
46
|
-
- When you need structured planning documents
|
|
47
|
-
- Before implementing non-trivial functionality
|
|
48
|
-
- When multiple people will work on a feature
|
|
49
|
-
|
|
50
|
-
**Skip new-feature for:**
|
|
51
|
-
- Bug fixes (just fix them)
|
|
52
|
-
- Trivial changes (<1 hour of work)
|
|
53
|
-
- Exploratory spikes
|
|
54
|
-
</when_to_use>
|
|
55
|
-
|
|
56
45
|
<process>
|
|
57
|
-
1.
|
|
58
|
-
2. Codebase Context
|
|
59
|
-
3.
|
|
60
|
-
4.
|
|
61
|
-
5.
|
|
62
|
-
6.
|
|
63
|
-
7.
|
|
64
|
-
8.
|
|
65
|
-
9. Initialize
|
|
66
|
-
10.
|
|
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**
|
|
67
56
|
</process>
|
|
68
57
|
|
|
69
58
|
<success_criteria>
|
|
70
59
|
- [ ] Feature folder created at `.specd/features/{name}/`
|
|
71
|
-
- [ ]
|
|
72
|
-
- [ ]
|
|
73
|
-
- [ ]
|
|
74
|
-
- [ ]
|
|
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 knows next options: discuss-feature, research-feature, or continue talking
|
|
75
67
|
</success_criteria>
|