specdacular 0.9.2 → 0.10.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 (31) hide show
  1. package/README.md +40 -36
  2. package/agents/specd-codebase-mapper.md +1 -1
  3. package/bin/install.js +46 -12
  4. package/commands/{specd/map-codebase.md → specd.codebase.map.md} +1 -1
  5. package/commands/specd.codebase.review.md +39 -0
  6. package/commands/{specd/config.md → specd.config.md} +1 -1
  7. package/commands/{specd/continue.md → specd.continue.md} +1 -1
  8. package/commands/{specd/help.md → specd.help.md} +1 -1
  9. package/commands/{specd/new.md → specd.new.md} +4 -4
  10. package/commands/{specd/status.md → specd.status.md} +1 -1
  11. package/commands/specd.toolbox.md +63 -0
  12. package/commands/{specd/update.md → specd.update.md} +1 -1
  13. package/hooks/specd-statusline.js +1 -1
  14. package/package.json +1 -1
  15. package/specdacular/HELP.md +18 -20
  16. package/specdacular/agents/feature-researcher.md +4 -4
  17. package/specdacular/references/execute-hooks.md +1 -1
  18. package/specdacular/references/select-feature.md +1 -1
  19. package/specdacular/references/select-phase.md +1 -1
  20. package/specdacular/references/validate-task.md +3 -3
  21. package/specdacular/templates/tasks/STATE.md +1 -1
  22. package/specdacular/workflows/brain.md +2 -2
  23. package/specdacular/workflows/config.md +1 -1
  24. package/specdacular/workflows/context-add.md +1 -1
  25. package/specdacular/workflows/context-manual-review.md +1 -1
  26. package/specdacular/workflows/new.md +6 -6
  27. package/specdacular/workflows/orchestrator/new.md +3 -3
  28. package/specdacular/workflows/orchestrator/plan.md +1 -1
  29. package/specdacular/workflows/plan.md +3 -3
  30. package/specdacular/workflows/status.md +3 -3
  31. package/commands/specd/toolbox.md +0 -103
package/README.md CHANGED
@@ -59,14 +59,14 @@ For monorepos and multi-repo setups, it maps each sub-project in parallel, then
59
59
  Three commands drive the entire task lifecycle:
60
60
 
61
61
  ```
62
- /specd:new my-feature # Initialize + first discussion
63
- /specd:continue my-feature # Everything else — discussion, research, planning, execution, review
64
- /specd:toolbox my-feature # Advanced operations menu
62
+ /specd.new my-feature # Initialize + first discussion
63
+ /specd.continue my-feature # Everything else — discussion, research, planning, execution, review
64
+ /specd.toolbox my-feature # Advanced operations menu
65
65
  ```
66
66
 
67
67
  `continue` reads your task's current state and offers the natural next step. You never need to remember which command comes next.
68
68
 
69
- `toolbox` gives you direct access to advanced operations — discuss, research, plan, execute, review and codebase context management (status dashboard, section-by-section review with edit/re-map/add).
69
+ `toolbox` gives you direct access to advanced task operations — discuss, research, plan, execute, review. Use `/specd.codebase.review` for section-by-section context file review with edit/re-map/add.
70
70
 
71
71
  Works with single projects and multi-project setups (monorepos, multi-repo). In multi-project mode, features are discussed at the system level and routed to the relevant sub-projects, with cross-project dependency tracking and contract validation.
72
72
 
@@ -94,7 +94,7 @@ Choose:
94
94
 
95
95
  In Claude Code:
96
96
  ```
97
- /specd:help
97
+ /specd.help
98
98
  ```
99
99
 
100
100
  ---
@@ -104,7 +104,7 @@ In Claude Code:
104
104
  ### Map a Codebase
105
105
 
106
106
  ```
107
- /specd:map-codebase
107
+ /specd.codebase.map
108
108
  ```
109
109
 
110
110
  Creates `.specd/codebase/` with 4 AI-optimized documents. This gives Claude context about your codebase's architecture, patterns, structure, and gotchas. For multi-project setups, it detects sub-projects automatically and maps each one in parallel before producing system-level documentation.
@@ -114,7 +114,7 @@ Creates `.specd/codebase/` with 4 AI-optimized documents. This gives Claude cont
114
114
  **Step 1: Initialize**
115
115
 
116
116
  ```
117
- /specd:new user-dashboard
117
+ /specd.new user-dashboard
118
118
  ```
119
119
 
120
120
  Creates `.specd/tasks/user-dashboard/` and starts the first discussion. Claude asks what you're building, follows the thread, and captures technical requirements. When done, offers to continue discussing or stop.
@@ -122,7 +122,7 @@ Creates `.specd/tasks/user-dashboard/` and starts the first discussion. Claude a
122
122
  **Step 2: Drive the lifecycle**
123
123
 
124
124
  ```
125
- /specd:continue user-dashboard
125
+ /specd.continue user-dashboard
126
126
  ```
127
127
 
128
128
  That's it. `continue` reads the current state and guides you through each stage:
@@ -133,20 +133,20 @@ That's it. `continue` reads the current state and guides you through each stage:
133
133
  4. **Phase execution** — Plans each phase just-in-time, then implements with progress tracking
134
134
  5. **Phase review** — Code review agent compares plans against actual code
135
135
 
136
- After each step, you can continue or stop. Resume anytime with `/specd:continue`.
136
+ After each step, you can continue or stop. Resume anytime with `/specd.continue`.
137
137
 
138
138
  **Execution modes:**
139
139
 
140
140
  ```
141
- /specd:continue user-dashboard # Default — auto-runs, pauses at phase steps
142
- /specd:continue user-dashboard --interactive # Prompt at every step with skip/jump options
143
- /specd:continue user-dashboard --auto # Run everything, stop only on review issues
141
+ /specd.continue user-dashboard # Default — auto-runs, pauses at phase steps
142
+ /specd.continue user-dashboard --interactive # Prompt at every step with skip/jump options
143
+ /specd.continue user-dashboard --auto # Run everything, stop only on review issues
144
144
  ```
145
145
 
146
146
  **No argument? It picks for you:**
147
147
 
148
148
  ```
149
- /specd:continue
149
+ /specd.continue
150
150
  ```
151
151
 
152
152
  Scans for in-progress tasks and shows a picker.
@@ -154,10 +154,18 @@ Scans for in-progress tasks and shows a picker.
154
154
  **Need a specific operation?**
155
155
 
156
156
  ```
157
- /specd:toolbox user-dashboard
157
+ /specd.toolbox user-dashboard
158
158
  ```
159
159
 
160
- Opens a menu with task operations (Discuss, Research, Plan, Execute, Review) and context management (Status, Review). Useful when you want to jump to a specific action outside the normal flow.
160
+ Opens a menu with task operations (Discuss, Research, Plan, Execute, Review). Useful when you want to jump to a specific action outside the normal flow.
161
+
162
+ **Need to review codebase context?**
163
+
164
+ ```
165
+ /specd.codebase.review
166
+ ```
167
+
168
+ Section-by-section review of any context file: confirm, edit, remove, re-map, or add new content.
161
169
 
162
170
  ---
163
171
 
@@ -167,25 +175,25 @@ Opens a menu with task operations (Discuss, Research, Plan, Execute, Review) and
167
175
 
168
176
  | Command | Description |
169
177
  |---------|-------------|
170
- | `/specd:new [name]` | Initialize a task, start first discussion |
171
- | `/specd:continue [name] [--interactive\|--auto]` | **Drive the entire lifecycle** — picks up where you left off |
172
- | `/specd:toolbox [tasks name\|context]` | Task operations or codebase context management |
178
+ | `/specd.new [name]` | Initialize a task, start first discussion |
179
+ | `/specd.continue [name] [--interactive\|--auto]` | **Drive the entire lifecycle** — picks up where you left off |
180
+ | `/specd.toolbox [name]` | Advanced task operations |
173
181
 
174
182
  ### Codebase Documentation
175
183
 
176
184
  | Command | Description |
177
185
  |---------|-------------|
178
- | `/specd:map-codebase` | Analyze codebase with parallel agents |
179
- | `/specd:toolbox context` | Status dashboard or section-by-section review |
186
+ | `/specd.codebase.map` | Analyze codebase with parallel agents |
187
+ | `/specd.codebase.review` | Review and edit codebase context files section by section |
180
188
 
181
189
  ### Utilities
182
190
 
183
191
  | Command | Description |
184
192
  |---------|-------------|
185
- | `/specd:config` | Configure auto-commit settings for docs and code |
186
- | `/specd:status [--all]` | Show task status dashboard |
187
- | `/specd:help` | Show available commands |
188
- | `/specd:update` | Update to latest version |
193
+ | `/specd.config` | Configure auto-commit settings for docs and code |
194
+ | `/specd.status [--all]` | Show task status dashboard |
195
+ | `/specd.help` | Show available commands |
196
+ | `/specd.update` | Update to latest version |
189
197
 
190
198
  ---
191
199
 
@@ -207,18 +215,14 @@ Opens a menu with task operations (Discuss, Research, Plan, Execute, Review) and
207
215
  - **Phase review** — Code review agent inspects executed code against plan intent. Generates fix plans (decimal phases like `phase-01.1`) if needed.
208
216
  - **Revise** — Collects feedback from review, creates fix plans, signals brain to re-execute.
209
217
 
210
- **`toolbox`** provides direct access to advanced operations outside the normal flow. Two subdomains:
211
-
212
- **Tasks** (`/specd:toolbox tasks my-feature`):
218
+ **`toolbox`** (`/specd.toolbox my-feature`) provides direct access to task operations outside the normal flow:
213
219
  - **Discuss** — Explore open questions, record decisions
214
220
  - **Research** — Spawn parallel agents for patterns/pitfalls
215
221
  - **Plan** — Create execution phases from task context
216
222
  - **Execute** — Execute the next phase's plan
217
223
  - **Review** — Review executed phase, approve or request fixes
218
224
 
219
- **Context** (`/specd:toolbox context`):
220
- - **Status** — Dashboard showing all context files with freshness indicators
221
- - **Review** — Section-by-section review of any context file: confirm, edit, remove, re-map (spawns a mapper agent to regenerate a section), or add new content. Sections are tracked with `AUTO_GENERATED` and `USER_MODIFIED` tags with dates.
225
+ **`codebase.review`** (`/specd.codebase.review`) — Section-by-section review of any codebase context file: confirm, edit, remove, re-map (spawns a mapper agent to regenerate a section), or add new content. Sections are tracked with `AUTO_GENERATED` and `USER_MODIFIED` tags with dates.
222
226
 
223
227
  ---
224
228
 
@@ -368,7 +372,7 @@ Specdacular spawns specialized agents that run simultaneously:
368
372
 
369
373
  ```
370
374
  ┌─────────────────────────────────────────────────────────┐
371
- │ /specd:map-codebase
375
+ │ /specd.codebase.map │
372
376
  └─────────────────────────────────────────────────────────┘
373
377
 
374
378
  ┌───────────────┼───────────────┐
@@ -396,7 +400,7 @@ Specdacular supports monorepos and multi-repo setups through an orchestrator lay
396
400
  ### Setup
397
401
 
398
402
  ```
399
- /specd:map-codebase
403
+ /specd.codebase.map
400
404
  ```
401
405
 
402
406
  When it detects multiple projects (via `package.json`, `go.mod`, `Cargo.toml`, etc.), it offers to enable multi-project mode. This:
@@ -423,8 +427,8 @@ Planning creates per-project roadmaps plus a cross-project dependency graph (`DE
423
427
  `continue` schedules across projects, respecting cross-project dependencies. After each phase, it performs contract review — comparing what was implemented against system-level expectations and flagging deviations before they cascade to downstream projects.
424
428
 
425
429
  ```
426
- /specd:continue auth-system # Auto-picks next unblocked phase across projects
427
- /specd:continue auth-system api # Target a specific sub-project
430
+ /specd.continue auth-system # Auto-picks next unblocked phase across projects
431
+ /specd.continue auth-system api # Target a specific sub-project
428
432
  ```
429
433
 
430
434
  ---
@@ -441,7 +445,7 @@ your-project/
441
445
  │ │ ├── pre-execute.md
442
446
  │ │ └── post-review.md
443
447
  │ │
444
- │ ├── codebase/ # From /specd:map-codebase
448
+ │ ├── codebase/ # From /specd.codebase.map
445
449
  │ │ ├── MAP.md
446
450
  │ │ ├── PATTERNS.md
447
451
  │ │ ├── STRUCTURE.md
@@ -537,7 +541,7 @@ npx specdacular@latest
537
541
 
538
542
  Or in Claude Code:
539
543
  ```
540
- /specd:update
544
+ /specd.update
541
545
  ```
542
546
 
543
547
  ---
@@ -8,7 +8,7 @@ color: cyan
8
8
  <role>
9
9
  You are a codebase mapper optimized for AI consumption. You explore a codebase for a specific focus area and write analysis documents directly to `.specd/codebase/`.
10
10
 
11
- You are spawned by `/specd:map-codebase` with one of four focus areas:
11
+ You are spawned by `/specd.codebase.map` with one of four focus areas:
12
12
  - **map**: Create navigation map → write MAP.md
13
13
  - **patterns**: Extract code patterns → write PATTERNS.md
14
14
  - **structure**: Document organization → write STRUCTURE.md
package/bin/install.js CHANGED
@@ -166,13 +166,27 @@ function uninstall(isGlobal) {
166
166
 
167
167
  let removedCount = 0;
168
168
 
169
- // Remove specd commands
169
+ // Remove specd commands (both old directory format and new flat format)
170
170
  const specCommandsDir = path.join(targetDir, 'commands', 'specd');
171
171
  if (fs.existsSync(specCommandsDir)) {
172
172
  fs.rmSync(specCommandsDir, { recursive: true });
173
173
  removedCount++;
174
174
  console.log(` ${green}✓${reset} Removed commands/specd/`);
175
175
  }
176
+ const commandsDir = path.join(targetDir, 'commands');
177
+ if (fs.existsSync(commandsDir)) {
178
+ let cmdCount = 0;
179
+ for (const file of fs.readdirSync(commandsDir)) {
180
+ if (file.startsWith('specd.') && file.endsWith('.md')) {
181
+ fs.unlinkSync(path.join(commandsDir, file));
182
+ cmdCount++;
183
+ }
184
+ }
185
+ if (cmdCount > 0) {
186
+ removedCount++;
187
+ console.log(` ${green}✓${reset} Removed ${cmdCount} specd commands`);
188
+ }
189
+ }
176
190
 
177
191
  // Remove specdacular directory
178
192
  const specDir = path.join(targetDir, 'specdacular');
@@ -292,14 +306,34 @@ function install(isGlobal) {
292
306
  const commandsDir = path.join(targetDir, 'commands');
293
307
  fs.mkdirSync(commandsDir, { recursive: true });
294
308
 
295
- const specSrc = path.join(src, 'commands', 'specd');
296
- const specDest = path.join(commandsDir, 'specd');
297
- if (fs.existsSync(specSrc)) {
298
- copyWithPathReplacement(specSrc, specDest, pathPrefix);
299
- if (verifyInstalled(specDest, 'commands/specd')) {
300
- console.log(` ${green}✓${reset} Installed commands/specd`);
309
+ // Remove old commands/specd/ directory if it exists (pre-0.10.0 format)
310
+ const oldSpecDir = path.join(commandsDir, 'specd');
311
+ if (fs.existsSync(oldSpecDir)) {
312
+ fs.rmSync(oldSpecDir, { recursive: true });
313
+ }
314
+
315
+ // Remove old specd.*.md command files before copying new ones
316
+ for (const file of fs.readdirSync(commandsDir)) {
317
+ if (file.startsWith('specd.') && file.endsWith('.md')) {
318
+ fs.unlinkSync(path.join(commandsDir, file));
319
+ }
320
+ }
321
+
322
+ const commandsSrc = path.join(src, 'commands');
323
+ if (fs.existsSync(commandsSrc)) {
324
+ let commandCount = 0;
325
+ for (const file of fs.readdirSync(commandsSrc)) {
326
+ if (file.startsWith('specd.') && file.endsWith('.md')) {
327
+ let content = fs.readFileSync(path.join(commandsSrc, file), 'utf8');
328
+ content = content.replace(/~\/\.claude\//g, pathPrefix);
329
+ fs.writeFileSync(path.join(commandsDir, file), content);
330
+ commandCount++;
331
+ }
332
+ }
333
+ if (commandCount > 0) {
334
+ console.log(` ${green}✓${reset} Installed ${commandCount} specd commands`);
301
335
  } else {
302
- failures.push('commands/specd');
336
+ failures.push('commands');
303
337
  }
304
338
  }
305
339
 
@@ -430,12 +464,12 @@ function install(isGlobal) {
430
464
  }
431
465
 
432
466
  console.log(`
433
- ${green}Done!${reset} Launch Claude Code and run ${cyan}/specd:help${reset}.
467
+ ${green}Done!${reset} Launch Claude Code and run ${cyan}/specd.help${reset}.
434
468
 
435
469
  ${yellow}Commands:${reset}
436
- /specd:map-codebase - Analyze and document your codebase
437
- /specd:update - Update to latest version
438
- /specd:help - Show all commands
470
+ /specd.codebase.map - Analyze and document your codebase
471
+ /specd.update - Update to latest version
472
+ /specd.help - Show all commands
439
473
  `);
440
474
  }
441
475
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: specd:map-codebase
2
+ name: specd.codebase.map
3
3
  description: Analyze codebase with parallel agents to produce AI-optimized documentation
4
4
  argument-hint: ""
5
5
  allowed-tools:
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: specd.codebase.review
3
+ description: "Review and edit codebase context files section by section"
4
+ argument-hint: ""
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Task
13
+ - AskUserQuestion
14
+ ---
15
+
16
+ <objective>
17
+ Walk through and review a codebase context file (.specd/codebase/*.md) section by section. Confirm, edit, remove, or re-map individual sections.
18
+
19
+ Output: Updated context file with reviewed/edited sections and updated timestamps.
20
+ </objective>
21
+
22
+ <execution_context>
23
+ Follow the context-manual-review workflow:
24
+ @~/.claude/specdacular/workflows/context-manual-review.md
25
+ </execution_context>
26
+
27
+ <context>
28
+ **Context workflows:**
29
+ @~/.claude/specdacular/workflows/context-manual-review.md
30
+ @~/.claude/specdacular/workflows/context-add.md
31
+ </context>
32
+
33
+ <success_criteria>
34
+ - [ ] User selects a context file to review
35
+ - [ ] Section list shown with tag status
36
+ - [ ] User can confirm, edit, remove, or re-map each section
37
+ - [ ] Timestamps updated after review
38
+ - [ ] Changes committed
39
+ </success_criteria>
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: specd:config
2
+ name: specd.config
3
3
  description: Create or update .specd/config.json with commit settings
4
4
  argument-hint: ""
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: specd:continue
2
+ name: specd.continue
3
3
  description: Continue task lifecycle — picks up where you left off
4
4
  argument-hint: "[task-name] [--interactive|--auto]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: specd:help
2
+ name: specd.help
3
3
  description: Show all specdacular commands and usage guide
4
4
  allowed-tools:
5
5
  - Read
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: specd:new
2
+ name: specd.new
3
3
  description: Initialize a new task and start the first discussion
4
4
  argument-hint: "[task-name]"
5
5
  allowed-tools:
@@ -22,7 +22,7 @@ Initialize a task folder and start the first discussion. Creates structure, asks
22
22
  - `.specd/tasks/{name}/STATE.md` — Progress tracking
23
23
  - `.specd/tasks/{name}/config.json` — Task configuration
24
24
 
25
- **This is the entry point.** After this, continue with `/specd:continue` to drive the entire lifecycle.
25
+ **This is the entry point.** After this, continue with `/specd.continue` to drive the entire lifecycle.
26
26
  </objective>
27
27
 
28
28
  <execution_context>
@@ -35,7 +35,7 @@ Task name: $ARGUMENTS
35
35
  **Codebase context discovery:**
36
36
  1. Check for `.specd/config.json` — if exists, read `codebase_docs` path
37
37
  2. If no config, check for `.specd/codebase/` (default location)
38
- 3. If neither found, offer `/specd:map-codebase`
38
+ 3. If neither found, offer `/specd.codebase.map`
39
39
 
40
40
  **Referenced docs (when available):**
41
41
  - `MAP.md` — System structure
@@ -61,5 +61,5 @@ Task name: $ARGUMENTS
61
61
  - [ ] STATE.md tracks current position
62
62
  - [ ] config.json created
63
63
  - [ ] Committed to git
64
- - [ ] User offered to continue with `/specd:continue`
64
+ - [ ] User offered to continue with `/specd.continue`
65
65
  </success_criteria>
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: specd:status
2
+ name: specd.status
3
3
  description: Show feature status dashboard
4
4
  argument-hint: "[--all]"
5
5
  allowed-tools:
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: specd.toolbox
3
+ description: "Advanced task operations"
4
+ argument-hint: "[<task-name>]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Task
13
+ - AskUserQuestion
14
+ - WebSearch
15
+ - WebFetch
16
+ ---
17
+
18
+ <objective>
19
+ Task lifecycle operations: discuss, research, plan, execute, review.
20
+ </objective>
21
+
22
+ <execution_context>
23
+ **Parse $ARGUMENTS as task name.**
24
+
25
+ - If a bare word that matches a directory in `.specd/tasks/` or `.specd/features/` → use as task name
26
+ - If empty → check `.specd/tasks/` for available tasks. If only one task exists, use it automatically. If multiple, ask.
27
+
28
+ Validate using:
29
+ @~/.claude/specdacular/references/validate-task.md
30
+
31
+ Then present the menu using AskUserQuestion:
32
+ - header: "Operation"
33
+ - question: "What would you like to do with {task-name}?"
34
+ - options:
35
+ - "Discuss" — Explore gray areas and record decisions
36
+ - "Research" — Spawn parallel agents for patterns/pitfalls
37
+ - "Plan" — Create execution phases
38
+ - "Execute" — Execute the next phase
39
+ - "Review" — Review executed phase
40
+
41
+ Based on selection, delegate to the appropriate workflow:
42
+ - Discuss → @~/.claude/specdacular/workflows/discuss.md
43
+ - Research → @~/.claude/specdacular/workflows/research.md
44
+ - Plan → @~/.claude/specdacular/workflows/plan.md
45
+ - Execute → @~/.claude/specdacular/workflows/execute.md
46
+ - Review → @~/.claude/specdacular/workflows/review.md
47
+
48
+ </execution_context>
49
+
50
+ <context>
51
+ Arguments: $ARGUMENTS
52
+
53
+ @~/.claude/specdacular/workflows/discuss.md
54
+ @~/.claude/specdacular/workflows/research.md
55
+ @~/.claude/specdacular/workflows/plan.md
56
+ @~/.claude/specdacular/workflows/execute.md
57
+ @~/.claude/specdacular/workflows/review.md
58
+ </context>
59
+
60
+ <success_criteria>
61
+ - [ ] Task validated and operation menu shown
62
+ - [ ] Selected operation executed via correct workflow
63
+ </success_criteria>
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: specd:update
2
+ name: specd.update
3
3
  description: Update Specdacular to the latest version
4
4
  allowed-tools:
5
5
  - Bash
@@ -49,7 +49,7 @@ process.stdin.on('end', () => {
49
49
  try {
50
50
  const cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8'));
51
51
  if (cache.update_available) {
52
- specdUpdate = '\x1b[33m⬆ /specd:update\x1b[0m │ ';
52
+ specdUpdate = '\x1b[33m⬆ /specd.update\x1b[0m │ ';
53
53
  }
54
54
  } catch (e) {}
55
55
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specdacular",
3
- "version": "0.9.2",
3
+ "version": "0.10.0",
4
4
  "description": "Feature planning system for existing codebases. Map, understand, and plan features in large projects.",
5
5
  "bin": {
6
6
  "specdacular": "bin/install.js"
@@ -8,48 +8,46 @@
8
8
 
9
9
  | Command | Description |
10
10
  |---------|-------------|
11
- | `/specd:new [name]` | Initialize a task, start first discussion |
12
- | `/specd:continue [name] [--interactive\|--auto]` | Continue task lifecycle — picks up where you left off |
11
+ | `/specd.new [name]` | Initialize a task, start first discussion |
12
+ | `/specd.continue [name] [--interactive\|--auto]` | Continue task lifecycle — picks up where you left off |
13
13
 
14
- | `/specd:toolbox [tasks <name>\|context]` | Task operations or context management |
14
+ | `/specd.toolbox [<name>]` | Advanced task operations |
15
15
 
16
16
  ### Utilities
17
17
 
18
18
  | Command | Description |
19
19
  |---------|-------------|
20
- | `/specd:map-codebase` | Analyze codebase with parallel agents → AI-optimized docs |
21
- | `/specd:config` | Configure auto-commit settings for docs and code |
22
- | `/specd:status [--all]` | Show task status dashboard |
23
- | `/specd:help` | Show this help |
24
- | `/specd:update` | Update Specdacular to the latest version |
20
+ | `/specd.codebase.map` | Analyze codebase with parallel agents → AI-optimized docs |
21
+ | `/specd.codebase.review` | Review and edit codebase context files section by section |
22
+ | `/specd.config` | Configure auto-commit settings for docs and code |
23
+ | `/specd.status [--all]` | Show task status dashboard |
24
+ | `/specd.help` | Show this help |
25
+ | `/specd.update` | Update Specdacular to the latest version |
25
26
 
26
27
  ---
27
28
 
28
29
  ## Task Flow
29
30
 
30
31
  ```
31
- /specd:new → /specd:continue → continue → continue → done
32
+ /specd.new → /specd.continue → continue → continue → done
32
33
  ```
33
34
 
34
35
  **You only need three commands:**
35
36
 
36
- 1. **`/specd:new [name]`** — Start here. Creates task folder, asks initial questions.
37
- 2. **`/specd:continue [name]`** — Picks up where you left off. Drives the entire lifecycle:
37
+ 1. **`/specd.new [name]`** — Start here. Creates task folder, asks initial questions.
38
+ 2. **`/specd.continue [name]`** — Picks up where you left off. Drives the entire lifecycle:
38
39
  - Discussion → Research → Planning → Phase Execution → Review
39
40
  - After each step, offers the next step or "stop for now"
40
41
  - Works across context windows — reads state fresh each time
41
42
  - Modes: default (auto-runs, pauses at phase steps), `--interactive` (prompt at each step), `--auto` (run everything)
42
- 3. **`/specd:toolbox`** — Two subdomains:
43
- - **`/specd:toolbox tasks <name>`** Task operations:
44
- - Discuss, Research, Plan, Execute, Review
45
- - **`/specd:toolbox context`** — Context management:
46
- - Status, Review, Add
43
+ 3. **`/specd.toolbox [name]`** — Direct access to task operations: Discuss, Research, Plan, Execute, Review
44
+ 4. **`/specd.codebase.review`** Review and edit codebase context files section by section
47
45
 
48
46
  ### Quick Start
49
47
 
50
48
  ```
51
- /specd:new user-dashboard
52
- /specd:continue user-dashboard
49
+ /specd.new user-dashboard
50
+ /specd.continue user-dashboard
53
51
  ```
54
52
 
55
53
  After initialization, just keep running `continue`. It figures out what's next.
@@ -121,7 +119,7 @@ Hooks are markdown workflow files that run before and after pipeline steps. They
121
119
  ## Codebase Documentation
122
120
 
123
121
  ```
124
- /specd:map-codebase
122
+ /specd.codebase.map
125
123
  ```
126
124
 
127
125
  Spawns 4 parallel agents to analyze your codebase and creates `.specd/codebase/`:
@@ -139,7 +137,7 @@ Spawns 4 parallel agents to analyze your codebase and creates `.specd/codebase/`
139
137
 
140
138
  When an update is available, you'll see `update available` in your statusline. Run:
141
139
  ```
142
- /specd:update
140
+ /specd.update
143
141
  ```
144
142
  Or manually: `npx specdacular@latest`
145
143
 
@@ -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 and /specd:research (phase-level).
3
+ description: Researches implementation patterns, libraries, and pitfalls for features. Spawned by /specd.research and /specd.research (phase-level).
4
4
  tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch
5
5
  ---
6
6
 
@@ -8,9 +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` orchestrator (parallel research)
12
- - `/specd:research (phase-level)` (when user opts into research)
13
- - `/specd:research` (standalone phase research)
11
+ - `/specd.research` orchestrator (parallel research)
12
+ - `/specd.research (phase-level)` (when user opts into research)
13
+ - `/specd.research` (standalone phase research)
14
14
 
15
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.
16
16
 
@@ -92,7 +92,7 @@ After completing the hook instructions, return a brief summary of what you did."
92
92
  Hook failed: {hook-file-name}
93
93
  Error: {description of what went wrong}
94
94
 
95
- Pipeline stopped. Resume with /specd:continue {task-name}
95
+ Pipeline stopped. Resume with /specd.continue {task-name}
96
96
  ```
97
97
  - End workflow
98
98
 
@@ -49,7 +49,7 @@ Read each `config.json` and filter where `stage != "complete"`.
49
49
  ```
50
50
  No tasks in progress.
51
51
 
52
- Start one with /specd:new
52
+ Start one with /specd.new
53
53
  ```
54
54
  End workflow.
55
55
 
@@ -8,7 +8,7 @@ Determine which phase to work on. Requires a task name to be already selected.
8
8
  Read `.specd/tasks/{task-name}/ROADMAP.md` and extract the phase list with status.
9
9
 
10
10
  ```bash
11
- [ -f ".specd/tasks/{task-name}/ROADMAP.md" ] || { echo "No roadmap found. Run /specd:continue to create one."; exit 1; }
11
+ [ -f ".specd/tasks/{task-name}/ROADMAP.md" ] || { echo "No roadmap found. Run /specd.continue to create one."; exit 1; }
12
12
  ```
13
13
 
14
14
  Parse the ROADMAP.md "Phases" section to get:
@@ -33,7 +33,7 @@ fi
33
33
  ```
34
34
  Task '{name}' not found.
35
35
 
36
- Run /specd:new {name} to create it.
36
+ Run /specd.new {name} to create it.
37
37
  ```
38
38
 
39
39
  **If required files missing:**
@@ -41,7 +41,7 @@ Run /specd:new {name} to create it.
41
41
  Task '{name}' is missing required files:
42
42
  - {missing file}
43
43
 
44
- Run /specd:discuss {name} to rebuild context.
44
+ Run /specd.discuss {name} to rebuild context.
45
45
  ```
46
46
 
47
47
  **Extended validation (for plan/execute/review):**
@@ -58,7 +58,7 @@ Run /specd:discuss {name} to rebuild context.
58
58
  ```
59
59
  Task '{name}' has no phases yet.
60
60
 
61
- Run /specd:plan {name} to create phases.
61
+ Run /specd.plan {name} to create phases.
62
62
  ```
63
63
 
64
64
  **Optional file checks (note existence, don't fail):**
@@ -80,7 +80,7 @@
80
80
 
81
81
  {What the user should do next based on current state.}
82
82
 
83
- **Resume:** `/specd:continue {task-name}` — Picks up where you left off.
83
+ **Resume:** `/specd.continue {task-name}` — Picks up where you left off.
84
84
 
85
85
  ---
86
86
 
@@ -197,7 +197,7 @@ Save state and exit:
197
197
 
198
198
  Progress saved. Pick up where you left off anytime:
199
199
 
200
- /specd:continue {task-name}
200
+ /specd.continue {task-name}
201
201
  ```
202
202
  End workflow.
203
203
 
@@ -373,6 +373,6 @@ End workflow.
373
373
  - Phase-execution sub-pipeline loops correctly per phase
374
374
  - Decimal fix phases handled
375
375
  - State saved before dispatch for reliable resume
376
- - Stop/resume works at any point via /specd:continue
376
+ - Stop/resume works at any point via /specd.continue
377
377
  - Hook execution points marked for Phase 2
378
378
  </success_criteria>
@@ -96,7 +96,7 @@ Config written to `.specd/config.json`:
96
96
  - Auto-commit code (implementation): {on|off}
97
97
 
98
98
  These settings apply to all specd workflows in this project.
99
- To change later, run `/specd:config` again.
99
+ To change later, run `/specd.config` again.
100
100
  ```
101
101
 
102
102
  End workflow.
@@ -53,7 +53,7 @@ ls .specd/codebase/*.md 2>/dev/null
53
53
  ```
54
54
  No codebase context files found.
55
55
 
56
- Run /specd:map-codebase to generate codebase documentation.
56
+ Run /specd.codebase.map to generate codebase documentation.
57
57
  ```
58
58
  End workflow.
59
59
 
@@ -98,7 +98,7 @@ ls .specd/codebase/*.md 2>/dev/null
98
98
  ```
99
99
  No codebase context files found.
100
100
 
101
- Run /specd:map-codebase to generate codebase documentation.
101
+ Run /specd.codebase.map to generate codebase documentation.
102
102
  ```
103
103
  End workflow.
104
104
 
@@ -31,7 +31,7 @@ Keep asking until you understand:
31
31
  2. What it integrates with (existing code)
32
32
  3. Key constraints (technical, timeline, scope)
33
33
 
34
- You don't need to resolve everything — that's what `/specd:discuss` is for.
34
+ You don't need to resolve everything — that's what `/specd.discuss` is for.
35
35
 
36
36
  ## Decisions Get Recorded
37
37
 
@@ -63,7 +63,7 @@ Use AskUserQuestion:
63
63
  - header: "Task Exists"
64
64
  - question: "Task '{name}' already exists. What would you like to do?"
65
65
  - options:
66
- - "Resume" — Continue with existing task (suggest /specd:continue)
66
+ - "Resume" — Continue with existing task (suggest /specd.continue)
67
67
  - "Reset" — Delete and start fresh
68
68
  - "Different name" — Use a different name
69
69
 
@@ -150,7 +150,7 @@ Does that capture it, or should we dig into anything more?
150
150
  **When to move on:**
151
151
  - User confirms understanding is correct
152
152
  - You have enough for initial FEATURE.md
153
- - Further details can be discussed later with /specd:discuss
153
+ - Further details can be discussed later with /specd.discuss
154
154
 
155
155
  Continue to write_feature.
156
156
  </step>
@@ -252,7 +252,7 @@ Use AskUserQuestion:
252
252
  - question: "Want to keep discussing the open areas, or come back later?"
253
253
  - options:
254
254
  - "Keep discussing" — Dive into the gray areas now
255
- - "Stop for now" — Come back with /specd:continue {task-name}
255
+ - "Stop for now" — Come back with /specd.continue {task-name}
256
256
 
257
257
  **If Keep discussing:**
258
258
  Execute the discuss workflow logic:
@@ -266,7 +266,7 @@ Use AskUserQuestion:
266
266
  - question: "Discussion looks solid. Want to keep going or come back later?"
267
267
  - options:
268
268
  - "Continue" — Move to the next step (research or planning)
269
- - "Stop for now" — Come back with /specd:continue {task-name}
269
+ - "Stop for now" — Come back with /specd.continue {task-name}
270
270
 
271
271
  **If Continue:**
272
272
  Hand off to continue workflow:
@@ -278,7 +278,7 @@ Hand off to continue workflow:
278
278
 
279
279
  Progress saved. Pick up where you left off anytime:
280
280
 
281
- /specd:continue {task-name}
281
+ /specd.continue {task-name}
282
282
  ```
283
283
 
284
284
  End workflow.
@@ -234,7 +234,7 @@ Use AskUserQuestion:
234
234
  - question: "Want to keep discussing the open areas, or come back later?"
235
235
  - options:
236
236
  - "Keep discussing" — Dive into the gray areas now
237
- - "Stop for now" — Come back with `/specd:continue {task-name}`
237
+ - "Stop for now" — Come back with `/specd.continue {task-name}`
238
238
 
239
239
  **If Keep discussing:**
240
240
  Execute the discuss workflow:
@@ -248,7 +248,7 @@ Use AskUserQuestion:
248
248
  - question: "Discussion looks solid. Want to keep going or come back later?"
249
249
  - options:
250
250
  - "Continue" — Move to next step
251
- - "Stop for now" — Come back with `/specd:continue {task-name}`
251
+ - "Stop for now" — Come back with `/specd.continue {task-name}`
252
252
 
253
253
  **If Continue:**
254
254
  Hand off to continue workflow:
@@ -258,7 +258,7 @@ Hand off to continue workflow:
258
258
  ```
259
259
  Progress saved. Pick up where you left off anytime:
260
260
 
261
- /specd:continue {task-name}
261
+ /specd.continue {task-name}
262
262
  ```
263
263
 
264
264
  End workflow.
@@ -162,7 +162,7 @@ Present multi-project roadmap summary.
162
162
 
163
163
  ## What's Next
164
164
 
165
- /specd:continue {task-name} — Start executing phases
165
+ /specd.continue {task-name} — Start executing phases
166
166
  ```
167
167
 
168
168
  End workflow.
@@ -63,15 +63,15 @@ Missing:
63
63
  - {what's missing}
64
64
 
65
65
  Recommended next:
66
- - /specd:discuss {task-name} — Resolve gray areas
67
- - /specd:research {task-name} — Research implementation patterns
66
+ - /specd.discuss {task-name} — Resolve gray areas
67
+ - /specd.research {task-name} — Research implementation patterns
68
68
  ```
69
69
  End workflow.
70
70
 
71
71
  **If ready but RESEARCH.md missing:**
72
72
  ```
73
73
  Note: No research findings available. Plans will be based on discussion context only.
74
- Consider running /specd:research {task-name} first for better plans.
74
+ Consider running /specd.research {task-name} first for better plans.
75
75
  ```
76
76
 
77
77
  Continue to derive_phases.
@@ -37,7 +37,7 @@ Also check sub-project features — scan each project path for `{project-path}/.
37
37
  **If no features found anywhere:** output the following and stop:
38
38
 
39
39
  ```
40
- No tasks found. Start one with `/specd:new [name]`.
40
+ No tasks found. Start one with `/specd.new [name]`.
41
41
  ```
42
42
 
43
43
  ### 4. Gather feature data
@@ -119,7 +119,7 @@ _{total} features, {in_progress} in progress_
119
119
  **If `--all` flag is NOT set and there are completed tasks:**
120
120
 
121
121
  ```
122
- Run `/specd:status --all` to include completed tasks.
122
+ Run `/specd.status --all` to include completed tasks.
123
123
  ```
124
124
 
125
125
  **If `--all` flag IS set and there are completed tasks, add:**
@@ -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 tasks.
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,103 +0,0 @@
1
- ---
2
- name: specd:toolbox
3
- description: "Advanced task operations and context management"
4
- argument-hint: "[tasks <task-name>|context]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Task
13
- - AskUserQuestion
14
- - WebSearch
15
- - WebFetch
16
- ---
17
-
18
- <objective>
19
- Toolbox with two subdomains:
20
-
21
- 1. **tasks** — Task lifecycle operations (requires task name): discuss, research, plan, execute, review
22
- 2. **context** — Codebase context management (no task name): review, add
23
- </objective>
24
-
25
- <execution_context>
26
- **Parse $ARGUMENTS to determine subdomain:**
27
-
28
- - If starts with "tasks" → extract remaining words as task name, go to Tasks flow
29
- - If starts with "context" → go to Context flow
30
- - If a bare word that matches a directory in `.specd/tasks/` or `.specd/features/` → treat as `tasks {name}`
31
- - If empty or unrecognized → ask user which subdomain
32
-
33
- **If subdomain unclear, ask:**
34
- Use AskUserQuestion:
35
- - header: "Toolbox"
36
- - question: "Which toolbox?"
37
- - options:
38
- - "Tasks" — Discuss, research, plan, execute, or review a task
39
- - "Context" — Review or add to codebase context
40
-
41
- ---
42
-
43
- ## Tasks Flow
44
-
45
- Requires a task name. If not provided after "tasks", check `.specd/tasks/` for available tasks. If only one task exists, use it automatically. If multiple, ask.
46
-
47
- Validate using:
48
- @~/.claude/specdacular/references/validate-task.md
49
-
50
- Then present the menu using AskUserQuestion:
51
- - header: "Operation"
52
- - question: "What would you like to do with {task-name}?"
53
- - options:
54
- - "Discuss" — Explore gray areas and record decisions
55
- - "Research" — Spawn parallel agents for patterns/pitfalls
56
- - "Plan" — Create execution phases
57
- - "Execute" — Execute the next phase
58
- - "Review" — Review executed phase
59
-
60
- Based on selection, delegate to the appropriate workflow:
61
- - Discuss → @~/.claude/specdacular/workflows/discuss.md
62
- - Research → @~/.claude/specdacular/workflows/research.md
63
- - Plan → @~/.claude/specdacular/workflows/plan.md
64
- - Execute → @~/.claude/specdacular/workflows/execute.md
65
- - Review → @~/.claude/specdacular/workflows/review.md
66
-
67
- ---
68
-
69
- ## Context Flow
70
-
71
- No task name needed. Present the menu using AskUserQuestion:
72
- - header: "Context"
73
- - question: "What would you like to do with codebase context?"
74
- - options:
75
- - "Review" — Walk through and review a context file section by section
76
- - "Add" — Add new content to a context file
77
-
78
- Based on selection, delegate to the appropriate workflow:
79
- - Review → follow the context-manual-review.md workflow
80
- - Add → follow the context-add.md workflow
81
- </execution_context>
82
-
83
- <context>
84
- Arguments: $ARGUMENTS
85
-
86
- **Task workflows:**
87
- @~/.claude/specdacular/workflows/discuss.md
88
- @~/.claude/specdacular/workflows/research.md
89
- @~/.claude/specdacular/workflows/plan.md
90
- @~/.claude/specdacular/workflows/execute.md
91
- @~/.claude/specdacular/workflows/review.md
92
-
93
- **Context workflows:**
94
- @~/.claude/specdacular/workflows/context-manual-review.md
95
- @~/.claude/specdacular/workflows/context-add.md
96
- </context>
97
-
98
- <success_criteria>
99
- - [ ] Subdomain selected (tasks or context) — from argument or prompt
100
- - [ ] For tasks: task validated and operation menu shown
101
- - [ ] For context: context operation menu shown
102
- - [ ] Selected operation executed via correct workflow
103
- </success_criteria>