specdacular 0.2.0 → 0.2.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/commands/specd/discuss-feature.md +64 -0
- package/commands/specd/help.md +61 -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/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 +153 -0
- package/specdacular/templates/features/RESEARCH.md +183 -0
- package/specdacular/templates/features/ROADMAP.md +59 -26
- package/specdacular/templates/features/STATE.md +59 -30
- package/specdacular/workflows/discuss-feature.md +388 -0
- package/specdacular/workflows/map-codebase.md +72 -10
- package/specdacular/workflows/new-feature.md +201 -262
- package/specdacular/workflows/plan-feature.md +501 -0
- package/specdacular/workflows/research-feature.md +252 -0
- package/specdacular/templates/features/REQUIREMENTS.md +0 -55
|
@@ -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>
|
package/commands/specd/help.md
CHANGED
|
@@ -12,24 +12,77 @@ 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
|
+
|
|
34
|
+
### Utilities
|
|
35
|
+
|
|
19
36
|
| Command | Description |
|
|
20
37
|
|---------|-------------|
|
|
21
|
-
| `/specd:map-codebase` | Analyze codebase → produce 4 AI-optimized docs |
|
|
22
|
-
| `/specd:new-feature` | Initialize a feature with requirements and roadmap |
|
|
23
38
|
| `/specd:update` | Update Specdacular to the latest version |
|
|
24
39
|
| `/specd:help` | Show this help |
|
|
25
40
|
|
|
26
|
-
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Feature Flow
|
|
44
|
+
|
|
45
|
+
The feature flow helps you plan features specific enough that an agent can implement without asking questions.
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
new-feature → (discuss ↔ research)* → plan-feature
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**You control the rhythm:**
|
|
52
|
+
- `new-feature` — Creates structure, asks initial questions, starts first discussion
|
|
53
|
+
- `discuss-feature` — Can be called **many times** to refine understanding
|
|
54
|
+
- `research-feature` — Can be called **many times** to investigate
|
|
55
|
+
- `plan-feature` — When satisfied, creates executable plans for an agent
|
|
56
|
+
|
|
57
|
+
### Quick Start
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
/specd:new-feature user-dashboard
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
This creates `.specd/features/user-dashboard/` with:
|
|
64
|
+
- `FEATURE.md` — Technical requirements
|
|
65
|
+
- `CONTEXT.md` — Discussion context (accumulates)
|
|
66
|
+
- `DECISIONS.md` — Decisions with dates and rationale
|
|
67
|
+
- `STATE.md` — Progress tracking
|
|
68
|
+
|
|
69
|
+
After initialization, refine with discussion and research, then create plans:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
/specd:discuss-feature user-dashboard # Clarify gray areas
|
|
73
|
+
/specd:research-feature user-dashboard # Research implementation
|
|
74
|
+
/specd:plan-feature user-dashboard # Create executable plans
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Codebase Documentation
|
|
27
80
|
|
|
28
81
|
```
|
|
29
82
|
/specd:map-codebase
|
|
30
83
|
```
|
|
31
84
|
|
|
32
|
-
|
|
85
|
+
Spawns 4 parallel agents to analyze your codebase and creates `.specd/codebase/`:
|
|
33
86
|
|
|
34
87
|
| Document | What it contains |
|
|
35
88
|
|----------|------------------|
|
|
@@ -38,7 +91,7 @@ This spawns 4 parallel agents to analyze your codebase and creates `.specd/codeb
|
|
|
38
91
|
| **STRUCTURE.md** | Organization: where to put new code |
|
|
39
92
|
| **CONCERNS.md** | Warnings: gotchas, anti-patterns, debt |
|
|
40
93
|
|
|
41
|
-
|
|
94
|
+
### Philosophy
|
|
42
95
|
|
|
43
96
|
These docs are **for Claude, not humans**.
|
|
44
97
|
|
|
@@ -50,6 +103,8 @@ Each document answers a question Claude can't get from reading code:
|
|
|
50
103
|
|
|
51
104
|
**Principle:** Don't document what Claude can grep. Document tribal knowledge, gotchas, and patterns.
|
|
52
105
|
|
|
106
|
+
---
|
|
107
|
+
|
|
53
108
|
## Updating
|
|
54
109
|
|
|
55
110
|
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>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specd:plan-feature
|
|
3
|
+
description: Create executable task plans for implementing a feature
|
|
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
|
+
Create executable task plans that an agent can implement without asking clarifying questions.
|
|
16
|
+
|
|
17
|
+
**Creates:**
|
|
18
|
+
- `.specd/features/{name}/ROADMAP.md` — Phase overview with dependencies
|
|
19
|
+
- `.specd/features/{name}/plans/phase-{NN}/{NN}-PLAN.md` — Executable task plans
|
|
20
|
+
|
|
21
|
+
**Each PLAN.md is a prompt** for an implementing agent with:
|
|
22
|
+
- Files to create/modify with specific paths
|
|
23
|
+
- Code patterns to follow (from codebase)
|
|
24
|
+
- Verification commands
|
|
25
|
+
- Clear completion criteria
|
|
26
|
+
|
|
27
|
+
**Prerequisite:** Feature should have sufficient discussion context (FEATURE.md, CONTEXT.md, DECISIONS.md). Research (RESEARCH.md) recommended but optional.
|
|
28
|
+
</objective>
|
|
29
|
+
|
|
30
|
+
<execution_context>
|
|
31
|
+
@~/.claude/specdacular/workflows/plan-feature.md
|
|
32
|
+
</execution_context>
|
|
33
|
+
|
|
34
|
+
<context>
|
|
35
|
+
Feature name: $ARGUMENTS
|
|
36
|
+
|
|
37
|
+
**Load ALL feature context:**
|
|
38
|
+
@.specd/features/{name}/FEATURE.md — Technical requirements
|
|
39
|
+
@.specd/features/{name}/CONTEXT.md — Resolved gray areas
|
|
40
|
+
@.specd/features/{name}/DECISIONS.md — Implementation decisions
|
|
41
|
+
@.specd/features/{name}/RESEARCH.md — Research findings (if exists)
|
|
42
|
+
|
|
43
|
+
**Load codebase context:**
|
|
44
|
+
@.specd/codebase/PATTERNS.md — Code patterns to follow
|
|
45
|
+
@.specd/codebase/STRUCTURE.md — Where files go
|
|
46
|
+
@.specd/codebase/MAP.md — System overview
|
|
47
|
+
</context>
|
|
48
|
+
|
|
49
|
+
<process>
|
|
50
|
+
1. **Validate** — Check feature exists, has required context
|
|
51
|
+
2. **Load Context** — Read ALL feature and codebase docs
|
|
52
|
+
3. **Assess Readiness** — Check if enough context to plan
|
|
53
|
+
4. **Derive Phases** — Based on dependencies (types→API→UI pattern)
|
|
54
|
+
5. **Break Into Tasks** — 2-3 tasks per plan, sized for agent execution
|
|
55
|
+
6. **Write PLAN Files** — As prompts for implementing agent
|
|
56
|
+
7. **Write ROADMAP.md** — Phase overview
|
|
57
|
+
8. **Commit and Present**
|
|
58
|
+
</process>
|
|
59
|
+
|
|
60
|
+
<success_criteria>
|
|
61
|
+
- [ ] Feature validated with sufficient context
|
|
62
|
+
- [ ] All context loaded (feature, codebase, research)
|
|
63
|
+
- [ ] Phases derived from dependency analysis
|
|
64
|
+
- [ ] Tasks are specific (files, actions, verification)
|
|
65
|
+
- [ ] PLAN.md files are self-contained prompts
|
|
66
|
+
- [ ] ROADMAP.md provides clear overview
|
|
67
|
+
- [ ] Committed to git
|
|
68
|
+
- [ ] User knows how to execute plans
|
|
69
|
+
</success_criteria>
|