@codename_inc/spectre 5.2.1 → 5.3.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.
- package/package.json +2 -2
- package/plugins/spectre/.claude-plugin/plugin.json +1 -1
- package/plugins/spectre/hooks/scripts/load-knowledge.mjs +14 -3
- package/plugins/spectre/hooks/scripts/register_learning.mjs +8 -1
- package/plugins/spectre/hooks/scripts/test_load-knowledge.mjs +4 -4
- package/plugins/spectre/hooks/scripts/test_register-learning.mjs +2 -2
- package/plugins/spectre/skills/{apply → spectre-apply}/SKILL.md +3 -3
- package/plugins/spectre/skills/{architecture_review → spectre-architecture_review}/SKILL.md +1 -1
- package/plugins/spectre/skills/{clean → spectre-clean}/SKILL.md +1 -1
- package/plugins/spectre/skills/{code_review → spectre-code_review}/SKILL.md +1 -1
- package/plugins/spectre/skills/{create_plan → spectre-create_plan}/SKILL.md +32 -8
- package/plugins/spectre/skills/{create_tasks → spectre-create_tasks}/SKILL.md +1 -1
- package/plugins/spectre/skills/{create_test_guide → spectre-create_test_guide}/SKILL.md +1 -1
- package/plugins/spectre/skills/{evaluate → spectre-evaluate}/SKILL.md +3 -3
- package/plugins/spectre/skills/{execute → spectre-execute}/SKILL.md +3 -3
- package/plugins/spectre/skills/{fix → spectre-fix}/SKILL.md +1 -1
- package/plugins/spectre/skills/{forget → spectre-forget}/SKILL.md +1 -1
- package/plugins/spectre/skills/{guide → spectre-guide}/SKILL.md +1 -1
- package/plugins/spectre/skills/{handoff → spectre-handoff}/SKILL.md +1 -1
- package/plugins/spectre/skills/{kickoff → spectre-kickoff}/SKILL.md +1 -1
- package/plugins/spectre/skills/{learn → spectre-learn}/SKILL.md +2 -2
- package/plugins/spectre/skills/{plan → spectre-plan}/SKILL.md +39 -13
- package/plugins/spectre/skills/{plan_review → spectre-plan_review}/SKILL.md +36 -6
- package/plugins/spectre/skills/{prototype → spectre-prototype}/SKILL.md +1 -1
- package/plugins/spectre/skills/{quick_dev → spectre-quick_dev}/SKILL.md +1 -1
- package/plugins/spectre/skills/{rebase → spectre-rebase}/SKILL.md +1 -1
- package/plugins/spectre/skills/spectre-recall/SKILL.md +22 -0
- package/plugins/spectre/skills/{research → spectre-research}/SKILL.md +1 -1
- package/plugins/spectre/skills/{scope → spectre-scope}/SKILL.md +1 -1
- package/plugins/spectre/skills/{ship → spectre-ship}/SKILL.md +1 -1
- package/plugins/spectre/skills/{sweep → spectre-sweep}/SKILL.md +1 -1
- package/plugins/spectre/skills/{tdd → spectre-tdd}/SKILL.md +1 -1
- package/plugins/spectre/skills/{test → spectre-test}/SKILL.md +1 -1
- package/plugins/spectre/skills/{ux → spectre-ux}/SKILL.md +1 -1
- package/plugins/spectre/skills/{validate → spectre-validate}/SKILL.md +1 -1
- package/plugins/spectre-codex/hooks/scripts/load-knowledge.mjs +14 -3
- package/plugins/spectre-codex/hooks/scripts/register_learning.mjs +8 -1
- package/plugins/spectre-codex/skills/{apply → spectre-apply}/SKILL.md +3 -3
- package/plugins/spectre-codex/skills/{architecture_review → spectre-architecture_review}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{clean → spectre-clean}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{code_review → spectre-code_review}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{create_plan → spectre-create_plan}/SKILL.md +32 -8
- package/plugins/spectre-codex/skills/{create_tasks → spectre-create_tasks}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{create_test_guide → spectre-create_test_guide}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{evaluate → spectre-evaluate}/SKILL.md +3 -3
- package/plugins/spectre-codex/skills/{execute → spectre-execute}/SKILL.md +3 -3
- package/plugins/spectre-codex/skills/{fix → spectre-fix}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{forget → spectre-forget}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{guide → spectre-guide}/SKILL.md +81 -81
- package/plugins/spectre-codex/skills/{handoff → spectre-handoff}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{kickoff → spectre-kickoff}/SKILL.md +7 -7
- package/plugins/spectre-codex/skills/{learn → spectre-learn}/SKILL.md +2 -2
- package/plugins/spectre-codex/skills/{plan → spectre-plan}/SKILL.md +40 -14
- package/plugins/spectre-codex/skills/{plan_review → spectre-plan_review}/SKILL.md +38 -8
- package/plugins/spectre-codex/skills/{prototype → spectre-prototype}/SKILL.md +9 -9
- package/plugins/spectre-codex/skills/{quick_dev → spectre-quick_dev}/SKILL.md +2 -2
- package/plugins/spectre-codex/skills/{rebase → spectre-rebase}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/spectre-recall/SKILL.md +22 -0
- package/plugins/spectre-codex/skills/{research → spectre-research}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{scope → spectre-scope}/SKILL.md +8 -8
- package/plugins/spectre-codex/skills/{ship → spectre-ship}/SKILL.md +4 -4
- package/plugins/spectre-codex/skills/{sweep → spectre-sweep}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{tdd → spectre-tdd}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{test → spectre-test}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/{ux → spectre-ux}/SKILL.md +6 -6
- package/plugins/spectre-codex/skills/{validate → spectre-validate}/SKILL.md +1 -1
- package/src/config.test.js +1 -1
- package/src/install.test.js +10 -6
- package/src/lib/constants.js +9 -9
- package/src/lib/install.js +29 -1
- package/src/lib/knowledge.js +7 -5
- package/src/pack.test.js +1 -1
- package/plugins/spectre/skills/recall/SKILL.md +0 -17
- package/plugins/spectre-codex/skills/recall/SKILL.md +0 -17
- /package/plugins/spectre/skills/{learn → spectre-learn}/references/recall-template.md +0 -0
- /package/plugins/spectre-codex/skills/{learn → spectre-learn}/references/recall-template.md +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: "guide"
|
|
2
|
+
name: "spectre-guide"
|
|
3
3
|
description: "Use when rendering the Next Steps footer after any spectre command, suggesting next actions, or when users need guidance on which SPECTRE command to run."
|
|
4
4
|
user-invocable: false
|
|
5
5
|
---
|
|
@@ -53,7 +53,7 @@ AI agents are 10x better at working around *working* existing code. That's why t
|
|
|
53
53
|
### Your First Feature
|
|
54
54
|
|
|
55
55
|
```plaintext
|
|
56
|
-
scope
|
|
56
|
+
spectre-scope
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
That's it. Start with scope, follow the prompts, and SPECTRE will guide you through the rest. Every command ends with "Next Steps" suggestions — you never have to remember what to run next.
|
|
@@ -63,9 +63,9 @@ That's it. Start with scope, follow the prompts, and SPECTRE will guide you thro
|
|
|
63
63
|
SPECTRE accumulates context across sessions:
|
|
64
64
|
|
|
65
65
|
1. Turn off auto-compact in Claude Code `/config`
|
|
66
|
-
2. Run `handoff` before session ends or when context window is getting full
|
|
66
|
+
2. Run `spectre-handoff` before session ends or when context window is getting full
|
|
67
67
|
3. Run `/clear` — next session auto-loads your progress
|
|
68
|
-
4. `forget` when switching gears to start fresh
|
|
68
|
+
4. `spectre-forget` when switching gears to start fresh
|
|
69
69
|
|
|
70
70
|
---
|
|
71
71
|
|
|
@@ -75,13 +75,13 @@ SPECTRE accumulates context across sessions:
|
|
|
75
75
|
|
|
76
76
|
| Phase | Command | What It Does |
|
|
77
77
|
|-------|---------|--------------|
|
|
78
|
-
| **S**cope | `scope` | Define requirements, constraints, what's IN and OUT |
|
|
79
|
-
| **P**lan | `plan` | Research codebase, create implementation plan + tasks |
|
|
80
|
-
| **E**xecute | `execute` | Parallel subagent development in waves |
|
|
81
|
-
| **C**lean | `clean` | Remove dead code, fix duplication, lint |
|
|
82
|
-
| **T**est | `test` | Risk-aware test coverage (not brute-force 100%) |
|
|
83
|
-
| **R**ebase | `rebase` | Safe merge preparation with conflict handling |
|
|
84
|
-
| **E**valuate | `evaluate` | Architecture review + knowledge capture |
|
|
78
|
+
| **S**cope | `spectre-scope` | Define requirements, constraints, what's IN and OUT |
|
|
79
|
+
| **P**lan | `spectre-plan` | Research codebase, create implementation plan + tasks |
|
|
80
|
+
| **E**xecute | `spectre-execute` | Parallel subagent development in waves |
|
|
81
|
+
| **C**lean | `spectre-clean` | Remove dead code, fix duplication, lint |
|
|
82
|
+
| **T**est | `spectre-test` | Risk-aware test coverage (not brute-force 100%) |
|
|
83
|
+
| **R**ebase | `spectre-rebase` | Safe merge preparation with conflict handling |
|
|
84
|
+
| **E**valuate | `spectre-evaluate` | Architecture review + knowledge capture |
|
|
85
85
|
|
|
86
86
|
You can use any command standalone — they don't require running in order.
|
|
87
87
|
|
|
@@ -93,30 +93,30 @@ This is how the creator of SPECTRE uses it daily:
|
|
|
93
93
|
|
|
94
94
|
### Building a Feature (the main loop)
|
|
95
95
|
|
|
96
|
-
1. **`scope`** — Get crisp on what's in/out. Non-negotiable unless it's a one-liner.
|
|
97
|
-
- If UX is unclear: run `ux` first for user flows and components
|
|
96
|
+
1. **`spectre-scope`** — Get crisp on what's in/out. Non-negotiable unless it's a one-liner.
|
|
97
|
+
- If UX is unclear: run `spectre-ux` first for user flows and components
|
|
98
98
|
|
|
99
|
-
2. **`plan`** — Build a well-researched technical design or task set
|
|
100
|
-
- Once you have scope/plan/tasks, run `handoff` for a fresh context window
|
|
99
|
+
2. **`spectre-plan`** — Build a well-researched technical design or task set
|
|
100
|
+
- Once you have scope/plan/tasks, run `spectre-handoff` for a fresh context window
|
|
101
101
|
|
|
102
|
-
3. **`execute`** — Parallel subagents work through the tasks
|
|
102
|
+
3. **`spectre-execute`** — Parallel subagents work through the tasks
|
|
103
103
|
- Execute also calls code review and validation automatically
|
|
104
|
-
- When done, run `handoff` again for clean context
|
|
104
|
+
- When done, run `spectre-handoff` again for clean context
|
|
105
105
|
|
|
106
106
|
4. **Manual testing + fixes** — Test the feature yourself
|
|
107
107
|
- Use Claude Code's built-in `/plan` mode for small fixes
|
|
108
|
-
- Use `fix` for structured debugging of tough bugs
|
|
109
|
-
- New scope needed? Run another `scope` cycle
|
|
110
|
-
- Use `handoff` liberally to keep context clean
|
|
108
|
+
- Use `spectre-fix` for structured debugging of tough bugs
|
|
109
|
+
- New scope needed? Run another `spectre-scope` cycle
|
|
110
|
+
- Use `spectre-handoff` liberally to keep context clean
|
|
111
111
|
|
|
112
|
-
5. **`sweep`** — Commit accumulated changes with lint + test
|
|
112
|
+
5. **`spectre-sweep`** — Commit accumulated changes with lint + test
|
|
113
113
|
- Groups changes logically with descriptive conventional commits
|
|
114
114
|
|
|
115
|
-
6. **`clean`** then **`test`** — Deep cleanup and risk-aware testing
|
|
115
|
+
6. **`spectre-clean`** then **`spectre-test`** — Deep cleanup and risk-aware testing
|
|
116
116
|
|
|
117
|
-
7. **`rebase`** — Rebase onto parent branch, prepare for merge
|
|
117
|
+
7. **`spectre-rebase`** — Rebase onto parent branch, prepare for merge
|
|
118
118
|
|
|
119
|
-
8. **`evaluate`** — Architecture review + capture knowledge for future sessions
|
|
119
|
+
8. **`spectre-evaluate`** — Architecture review + capture knowledge for future sessions
|
|
120
120
|
|
|
121
121
|
9. **Merge/PR** — Address PR comments, get it checked in
|
|
122
122
|
|
|
@@ -124,7 +124,7 @@ This is how the creator of SPECTRE uses it daily:
|
|
|
124
124
|
|
|
125
125
|
For small/medium changes (1-5 tasks):
|
|
126
126
|
```plaintext
|
|
127
|
-
quick_dev
|
|
127
|
+
spectre-quick_dev
|
|
128
128
|
```
|
|
129
129
|
Lightweight scope + plan that gets you to execution fast.
|
|
130
130
|
|
|
@@ -132,7 +132,7 @@ Lightweight scope + plan that gets you to execution fast.
|
|
|
132
132
|
|
|
133
133
|
For low-complexity features/fixes where you trust the agent:
|
|
134
134
|
```plaintext
|
|
135
|
-
ship
|
|
135
|
+
spectre-ship
|
|
136
136
|
```
|
|
137
137
|
Brain dump context, walk away, review the PR. Zero confirmation gates — scope, TDD, sweep, rebase, and PR creation happen autonomously.
|
|
138
138
|
|
|
@@ -144,118 +144,118 @@ Brain dump context, walk away, review the PR. Zero confirmation gates — scope,
|
|
|
144
144
|
|
|
145
145
|
| Command | When to Use |
|
|
146
146
|
|---------|-------------|
|
|
147
|
-
| `scope` | Starting any new feature — interactive scoping with IN/OUT boundaries |
|
|
148
|
-
| `kickoff` | High-ambiguity projects — includes web research for best practices |
|
|
149
|
-
| `research` | Need deep codebase understanding before planning |
|
|
150
|
-
| `ux` | UI-heavy features that need screen layouts, user flows, component states |
|
|
147
|
+
| `spectre-scope` | Starting any new feature — interactive scoping with IN/OUT boundaries |
|
|
148
|
+
| `spectre-kickoff` | High-ambiguity projects — includes web research for best practices |
|
|
149
|
+
| `spectre-research` | Need deep codebase understanding before planning |
|
|
150
|
+
| `spectre-ux` | UI-heavy features that need screen layouts, user flows, component states |
|
|
151
151
|
|
|
152
152
|
### Phase: Plan — Research & Task Breakdown
|
|
153
153
|
|
|
154
154
|
| Command | When to Use |
|
|
155
155
|
|---------|-------------|
|
|
156
|
-
| `plan` | Unified entry — researches, assesses complexity, routes to right workflow |
|
|
157
|
-
| `create_plan` | Complex work needing architectural design before tasking |
|
|
158
|
-
| `create_tasks` | Requirements/plan ready to become concrete tasks |
|
|
159
|
-
| `plan_review` | Sanity check a plan/task list for over-engineering |
|
|
156
|
+
| `spectre-plan` | Unified entry — researches, assesses complexity, routes to right workflow |
|
|
157
|
+
| `spectre-create_plan` | Complex work needing architectural design before tasking |
|
|
158
|
+
| `spectre-create_tasks` | Requirements/plan ready to become concrete tasks |
|
|
159
|
+
| `spectre-plan_review` | Sanity check a plan/task list for over-engineering |
|
|
160
160
|
|
|
161
161
|
### Phase: Execute — Development & Verification
|
|
162
162
|
|
|
163
163
|
| Command | When to Use |
|
|
164
164
|
|---------|-------------|
|
|
165
|
-
| `execute` | Tasks exist, ready for coordinated multi-agent parallel execution |
|
|
166
|
-
| `code_review` | Implementation complete, ready for in-depth review |
|
|
167
|
-
| `validate` | Verify implementation against original scope requirement-by-requirement |
|
|
168
|
-
| `create_test_guide` | Generate manual QA checklist based on features and risks |
|
|
165
|
+
| `spectre-execute` | Tasks exist, ready for coordinated multi-agent parallel execution |
|
|
166
|
+
| `spectre-code_review` | Implementation complete, ready for in-depth review |
|
|
167
|
+
| `spectre-validate` | Verify implementation against original scope requirement-by-requirement |
|
|
168
|
+
| `spectre-create_test_guide` | Generate manual QA checklist based on features and risks |
|
|
169
169
|
|
|
170
170
|
### Phase: Clean — Codebase Hygiene
|
|
171
171
|
|
|
172
172
|
| Command | When to Use |
|
|
173
173
|
|---------|-------------|
|
|
174
|
-
| `clean` | Deep cleanup — dead code, duplication, artifacts |
|
|
175
|
-
| `sweep` | Light pass — lint, test, descriptive commits for accumulated changes |
|
|
174
|
+
| `spectre-clean` | Deep cleanup — dead code, duplication, artifacts |
|
|
175
|
+
| `spectre-sweep` | Light pass — lint, test, descriptive commits for accumulated changes |
|
|
176
176
|
|
|
177
177
|
### Phase: Test — Risk-Aware Coverage
|
|
178
178
|
|
|
179
179
|
| Command | When to Use |
|
|
180
180
|
|---------|-------------|
|
|
181
|
-
| `test` | After changes — analyzes risk tiers (P0-P3), writes behavioral tests |
|
|
181
|
+
| `spectre-test` | After changes — analyzes risk tiers (P0-P3), writes behavioral tests |
|
|
182
182
|
|
|
183
183
|
### Phase: Rebase — Merge Preparation
|
|
184
184
|
|
|
185
185
|
| Command | When to Use |
|
|
186
186
|
|---------|-------------|
|
|
187
|
-
| `rebase` | Rebase working branch onto target with conflict handling |
|
|
187
|
+
| `spectre-rebase` | Rebase working branch onto target with conflict handling |
|
|
188
188
|
|
|
189
189
|
### Phase: Evaluate — Review & Learn
|
|
190
190
|
|
|
191
191
|
| Command | When to Use |
|
|
192
192
|
|---------|-------------|
|
|
193
|
-
| `evaluate` | Full evaluate — architecture review (background) + knowledge capture |
|
|
194
|
-
| `learn` | Just capture knowledge from this session |
|
|
195
|
-
| `architecture_review` | Just run the architecture review |
|
|
196
|
-
| `recall {query}` | Find and load existing knowledge |
|
|
193
|
+
| `spectre-evaluate` | Full evaluate — architecture review (background) + knowledge capture |
|
|
194
|
+
| `spectre-learn` | Just capture knowledge from this session |
|
|
195
|
+
| `spectre-architecture_review` | Just run the architecture review |
|
|
196
|
+
| `spectre-recall {query}` | Find and load existing knowledge |
|
|
197
197
|
|
|
198
198
|
### Session & Utilities
|
|
199
199
|
|
|
200
200
|
| Command | When to Use |
|
|
201
201
|
|---------|-------------|
|
|
202
|
-
| `handoff` | Save session state — end of session, context full, switching gears |
|
|
203
|
-
| `forget` | Clear memory, archive logs, start fresh |
|
|
204
|
-
| `fix` | Structured debugging for tough bugs |
|
|
205
|
-
| `quick_dev` | Lightweight scope + plan for small/medium tasks |
|
|
206
|
-
| `ship` | Autonomous end-to-end: brain dump → scope → TDD → commit → rebase → PR |
|
|
202
|
+
| `spectre-handoff` | Save session state — end of session, context full, switching gears |
|
|
203
|
+
| `spectre-forget` | Clear memory, archive logs, start fresh |
|
|
204
|
+
| `spectre-fix` | Structured debugging for tough bugs |
|
|
205
|
+
| `spectre-quick_dev` | Lightweight scope + plan for small/medium tasks |
|
|
206
|
+
| `spectre-ship` | Autonomous end-to-end: brain dump → scope → TDD → commit → rebase → PR |
|
|
207
207
|
|
|
208
208
|
---
|
|
209
209
|
|
|
210
210
|
## Quick Decision Tree
|
|
211
211
|
|
|
212
212
|
**Starting a feature?**
|
|
213
|
-
-> `scope` (always start here unless it's trivial)
|
|
213
|
+
-> `spectre-scope` (always start here unless it's trivial)
|
|
214
214
|
|
|
215
215
|
**Feature has complex UI?**
|
|
216
|
-
-> `ux` after scope, before plan
|
|
216
|
+
-> `spectre-ux` after scope, before plan
|
|
217
217
|
|
|
218
218
|
**High ambiguity / new project?**
|
|
219
|
-
-> `kickoff` (includes web research)
|
|
219
|
+
-> `spectre-kickoff` (includes web research)
|
|
220
220
|
|
|
221
221
|
**Need to understand code first?**
|
|
222
|
-
-> `research`
|
|
222
|
+
-> `spectre-research`
|
|
223
223
|
|
|
224
224
|
**Have scope, need plan?**
|
|
225
|
-
-> `plan` (auto-routes based on complexity)
|
|
225
|
+
-> `spectre-plan` (auto-routes based on complexity)
|
|
226
226
|
|
|
227
227
|
**Have tasks, ready to build?**
|
|
228
|
-
-> `execute`
|
|
228
|
+
-> `spectre-execute`
|
|
229
229
|
|
|
230
230
|
**Code complete, need review?**
|
|
231
|
-
-> `code_review` then `validate`
|
|
231
|
+
-> `spectre-code_review` then `spectre-validate`
|
|
232
232
|
|
|
233
233
|
**Accumulated uncommitted changes?**
|
|
234
|
-
-> `sweep` (light) or `clean` (deep)
|
|
234
|
+
-> `spectre-sweep` (light) or `spectre-clean` (deep)
|
|
235
235
|
|
|
236
236
|
**Need test coverage?**
|
|
237
|
-
-> `test`
|
|
237
|
+
-> `spectre-test`
|
|
238
238
|
|
|
239
239
|
**Ready to merge?**
|
|
240
|
-
-> `rebase`
|
|
240
|
+
-> `spectre-rebase`
|
|
241
241
|
|
|
242
242
|
**Feature done?**
|
|
243
|
-
-> `evaluate` (review + learn)
|
|
243
|
+
-> `spectre-evaluate` (review + learn)
|
|
244
244
|
|
|
245
245
|
**Ending session?**
|
|
246
|
-
-> `handoff`
|
|
246
|
+
-> `spectre-handoff`
|
|
247
247
|
|
|
248
248
|
**Switching contexts?**
|
|
249
|
-
-> `forget`
|
|
249
|
+
-> `spectre-forget`
|
|
250
250
|
|
|
251
251
|
**Bug to fix?**
|
|
252
|
-
-> `fix`
|
|
252
|
+
-> `spectre-fix`
|
|
253
253
|
|
|
254
254
|
**Small task, skip ceremony?**
|
|
255
|
-
-> `quick_dev`
|
|
255
|
+
-> `spectre-quick_dev`
|
|
256
256
|
|
|
257
257
|
**Low-complexity task, full autonomy?**
|
|
258
|
-
-> `ship` (brain dump → PR, zero gates)
|
|
258
|
+
-> `spectre-ship` (brain dump → PR, zero gates)
|
|
259
259
|
|
|
260
260
|
---
|
|
261
261
|
|
|
@@ -282,14 +282,14 @@ SPECTRE generates these documents in `docs/tasks/{branch_name}/`:
|
|
|
282
282
|
|
|
283
283
|
| Document | Generated By | Purpose |
|
|
284
284
|
|----------|-------------|---------|
|
|
285
|
-
| `concepts/scope.md` | `scope` | What's IN and OUT |
|
|
286
|
-
| `specs/ux.md` | `ux` | User flows, components, interactions |
|
|
287
|
-
| `specs/plan.md` | `create_plan` | Technical design and phasing |
|
|
288
|
-
| `specs/tasks.md` | `create_tasks` | Concrete tasks with acceptance criteria |
|
|
289
|
-
| `reviews/code_review.md` | `code_review` | Severity-based code review findings |
|
|
290
|
-
| `validation/validation_gaps.md` | `validate` | Gaps between scope and implementation |
|
|
291
|
-
| `testing/*_test_guide.md` | `create_test_guide` | Manual QA checklists |
|
|
292
|
-
| `session_logs/*_handoff.json` | `handoff` | Session state snapshots |
|
|
285
|
+
| `concepts/scope.md` | `spectre-scope` | What's IN and OUT |
|
|
286
|
+
| `specs/ux.md` | `spectre-ux` | User flows, components, interactions |
|
|
287
|
+
| `specs/plan.md` | `spectre-create_plan` | Technical design and phasing |
|
|
288
|
+
| `specs/tasks.md` | `spectre-create_tasks` | Concrete tasks with acceptance criteria |
|
|
289
|
+
| `reviews/code_review.md` | `spectre-code_review` | Severity-based code review findings |
|
|
290
|
+
| `validation/validation_gaps.md` | `spectre-validate` | Gaps between scope and implementation |
|
|
291
|
+
| `testing/*_test_guide.md` | `spectre-create_test_guide` | Manual QA checklists |
|
|
292
|
+
| `session_logs/*_handoff.json` | `spectre-handoff` | Session state snapshots |
|
|
293
293
|
|
|
294
294
|
Keep these checked into git — they're the context in context engineering.
|
|
295
295
|
|
|
@@ -310,9 +310,9 @@ Keep these checked into git — they're the context in context engineering.
|
|
|
310
310
|
║ Next — {concise recommendation; 1–2 lines max} ║
|
|
311
311
|
║ ║
|
|
312
312
|
║ Options: ║
|
|
313
|
-
║ - {command or action} — {why} ║
|
|
314
|
-
║ - {command or action} — {why} ║
|
|
315
|
-
║ - {command or action} — {why} ║
|
|
313
|
+
║ - {spectre-command or action} — {why} ║
|
|
314
|
+
║ - {spectre-command or action} — {why} ║
|
|
315
|
+
║ - {spectre-command or action} — {why} ║
|
|
316
316
|
║ … up to 5 total; max 2 manual actions ║
|
|
317
317
|
║ ║
|
|
318
318
|
║ Reply — {only if textual reply expected} ║
|
|
@@ -340,14 +340,14 @@ Keep these checked into git — they're the context in context engineering.
|
|
|
340
340
|
|
|
341
341
|
**CRITICAL:**
|
|
342
342
|
|
|
343
|
-
1. **All SPECTRE commands use `/spectre:` prefix** (e.g., `scope`, `execute`)
|
|
343
|
+
1. **All SPECTRE commands use `/spectre:` prefix** (e.g., `spectre-scope`, `spectre-execute`)
|
|
344
344
|
2. **Manual actions are NOT slash commands** (e.g., "Run tests", "Review PR feedback")
|
|
345
345
|
3. **Never invent slash commands** — only suggest commands listed in this guide
|
|
346
346
|
|
|
347
347
|
**Correct:**
|
|
348
348
|
```
|
|
349
|
-
scope — Interactive feature scoping
|
|
350
|
-
execute — Parallel agent execution
|
|
349
|
+
spectre-scope — Interactive feature scoping
|
|
350
|
+
spectre-execute — Parallel agent execution
|
|
351
351
|
Run manual tests — Execute test guide checklist
|
|
352
352
|
```
|
|
353
353
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: "kickoff"
|
|
2
|
+
name: "spectre-kickoff"
|
|
3
3
|
description: "👻 | Project kickoff with deep research & MVP pathfinding - primary agent"
|
|
4
4
|
user-invocable: true
|
|
5
5
|
---
|
|
@@ -114,11 +114,11 @@ $ARGUMENTS
|
|
|
114
114
|
> **Established**: User problem, user value, key findings (file:line), decisions made, remaining ambiguities
|
|
115
115
|
>
|
|
116
116
|
> **Options**:
|
|
117
|
-
> 1. "Proceed with scope" → `scope` with FROM_KICKOFF=true, SKIP_EXPLORATION=true
|
|
118
|
-
> 2. "Skip to planning" → `plan` with kickoff doc context
|
|
119
|
-
> 3. "Need to think" → `handoff`
|
|
117
|
+
> 1. "Proceed with scope" → `spectre-scope` with FROM_KICKOFF=true, SKIP_EXPLORATION=true
|
|
118
|
+
> 2. "Skip to planning" → `spectre-plan` with kickoff doc context
|
|
119
|
+
> 3. "Need to think" → `spectre-handoff`
|
|
120
120
|
|
|
121
121
|
- **Action** — ExecuteChoice:
|
|
122
|
-
- **If** scope → invoke `scope` with: FROM_KICKOFF=true, KICKOFF_DOC={path}, SKIP_EXPLORATION=true, context summary
|
|
123
|
-
- **If** planning → suggest `plan`
|
|
124
|
-
- **If** pause → run `handoff`
|
|
122
|
+
- **If** scope → invoke `spectre-scope` with: FROM_KICKOFF=true, KICKOFF_DOC={path}, SKIP_EXPLORATION=true, context summary
|
|
123
|
+
- **If** planning → suggest `spectre-plan`
|
|
124
|
+
- **If** pause → run `spectre-handoff`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: "learn"
|
|
2
|
+
name: "spectre-learn"
|
|
3
3
|
description: "Use when user invokes /learn or wants to save patterns, decisions, gotchas, procedures, or feature knowledge from a conversation for later re-use. Look for user requests like \"please remember\" or \"what did we learn from this?\"."
|
|
4
4
|
user-invocable: true
|
|
5
5
|
---
|
|
@@ -11,7 +11,7 @@ You capture durable project knowledge into Skills that Claude Code loads on-dema
|
|
|
11
11
|
<CRITICAL>
|
|
12
12
|
## Exclusive Knowledge Handler
|
|
13
13
|
|
|
14
|
-
When this skill is invoked (via `/learn`, `learn`, or `Skill(learn)`), it is the **exclusive handler** for knowledge capture. It supersedes ALL other memory systems.
|
|
14
|
+
When this skill is invoked (via `/learn`, `spectre-learn`, or `Skill(spectre-learn)`), it is the **exclusive handler** for knowledge capture. It supersedes ALL other memory systems.
|
|
15
15
|
|
|
16
16
|
**Do NOT**:
|
|
17
17
|
- Write to `MEMORY.md` or any auto-memory directory
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: "plan"
|
|
2
|
+
name: "spectre-plan"
|
|
3
3
|
description: "👻 | Unified planning entry point - researches, assesses complexity, routes to workflow - primary agent"
|
|
4
4
|
user-invocable: true
|
|
5
5
|
---
|
|
@@ -15,7 +15,7 @@ Treat the current command arguments as this workflow's input. When invoked from
|
|
|
15
15
|
## Description
|
|
16
16
|
|
|
17
17
|
- **What** — Research codebase, assess complexity, route to appropriate workflow (direct tasks or plan-first)
|
|
18
|
-
- **Outcome** —
|
|
18
|
+
- **Outcome** — A right-sized `plan.md` + `tasks.md`; STANDARD/COMPREHENSIVE include review and a final execution gate, while LIGHT stays non-blocking.
|
|
19
19
|
|
|
20
20
|
## ARGUMENTS Input
|
|
21
21
|
|
|
@@ -23,7 +23,7 @@ Treat the current command arguments as this workflow's input. When invoked from
|
|
|
23
23
|
|
|
24
24
|
## MANDATORY COMPLIANCE RULES
|
|
25
25
|
|
|
26
|
-
> **⚠️ NON-NEGOTIABLE**:
|
|
26
|
+
> **⚠️ NON-NEGOTIABLE**: After tier routing, this workflow MUST invoke nested workflows via the Skill tool. LIGHT must invoke `Skill(spectre-create_plan)` and `Skill(spectre-create_tasks)`; STANDARD/COMPREHENSIVE must invoke `Skill(spectre-create_plan)`, `Skill(spectre-create_tasks)`, and `Skill(spectre-plan_review)` (Claude slash route: `spectre-create_plan`, `spectre-create_tasks`, and `spectre-plan_review`). Failure to invoke the required skills is a critical error. Do NOT summarize, describe, or skip these workflows. INVOKE THEM.
|
|
27
27
|
|
|
28
28
|
**After ANY user conversation or questions:**
|
|
29
29
|
|
|
@@ -33,14 +33,16 @@ Treat the current command arguments as this workflow's input. When invoked from
|
|
|
33
33
|
|
|
34
34
|
**You MUST call these skills (not describe them):**
|
|
35
35
|
|
|
36
|
-
- Use the **Skill** tool with `skill: "spectre-create_plan"` and `args: "{path} --depth {tier}"` — generates plan.md
|
|
36
|
+
- Use the **Skill** tool with `skill: "spectre-create_plan"` and `args: "{path} --depth {tier}"` — generates plan.md, including LIGHT
|
|
37
37
|
- Use the **Skill** tool with `skill: "spectre-create_tasks"` and `args: "{path}"` — generates tasks.md
|
|
38
|
+
- Use the **Skill** tool with `skill: "spectre-plan_review"` and `args: "{OUT_DIR} --auto-apply scope-safe"` — reviews and integrates scope-safe feedback for STANDARD/COMPREHENSIVE
|
|
38
39
|
|
|
39
40
|
## Instructions
|
|
40
41
|
|
|
41
42
|
- Research before routing; present architectural options for user buy-in
|
|
42
43
|
- Route based on hard-stops and clarity, not point-scoring
|
|
43
44
|
- Never overwrite existing `tasks.md` or `plan.md` — use scoped names
|
|
45
|
+
- Treat `concepts/scope.md` (then `specs/prd.md` / `specs/ux.md` when present) as canonical. Plan generation, task generation, review, and feedback integration may change implementation approach, sequencing, verification, references, and YAGNI fences, but MUST NOT cut, narrow, expand, or reinterpret the agreed scope without an explicit user scope-change gate.
|
|
44
46
|
|
|
45
47
|
## Step 1 - Research Codebase
|
|
46
48
|
|
|
@@ -124,7 +126,7 @@ Use research findings from Step 1 to determine appropriate planning depth.
|
|
|
124
126
|
|
|
125
127
|
## Step 3 - High-Level Design
|
|
126
128
|
|
|
127
|
-
**SKIP IF LIGHT** — proceed directly to Step 4.
|
|
129
|
+
**SKIP IF LIGHT** — proceed directly to Step 4. LIGHT still generates a real plan in Step 4; it only skips this human alignment gate.
|
|
128
130
|
|
|
129
131
|
Goal: align on the *shape* of the solution before generating a full plan. This catches misalignments early and gives the user a chance to redirect before reading a long plan doc.
|
|
130
132
|
|
|
@@ -171,7 +173,7 @@ Goal: align on the *shape* of the solution before generating a full plan. This c
|
|
|
171
173
|
|
|
172
174
|
- **Action** — PersistDesign: Append a "Selected Design" section to `{OUT_DIR}/task_context.md` capturing the agreed approach, key decisions, and resolved questions. This is what `create_plan` consumes.
|
|
173
175
|
|
|
174
|
-
> **CHECKPOINT**: After alignment, proceed IMMEDIATELY to Step 4. The
|
|
176
|
+
> **CHECKPOINT**: After alignment, proceed IMMEDIATELY to Step 4. This is the early gate. The next valid actions are Skill invocations that generate the draft plan, generate tasks, run plan_review, integrate scope-safe feedback, and then present the final plan/tasks for the user's final gate.
|
|
175
177
|
|
|
176
178
|
## Step 4 - Route to Workflow
|
|
177
179
|
|
|
@@ -182,11 +184,12 @@ Goal: align on the *shape* of the solution before generating a full plan. This c
|
|
|
182
184
|
│ YOU MUST USE THE SKILL TOOL TO INVOKE THESE COMMANDS │
|
|
183
185
|
│ │
|
|
184
186
|
│ ❌ WRONG: "I'll now create the plan..." │
|
|
185
|
-
│ ❌ WRONG: "The next step would be to run create_plan" │
|
|
187
|
+
│ ❌ WRONG: "The next step would be to run spectre-create_plan" │
|
|
186
188
|
│ ❌ WRONG: Ending turn without invoking Skill tool │
|
|
187
189
|
│ │
|
|
188
190
|
│ ✅ CORRECT: Skill tool with skill: "spectre-create_plan", args: "..." │
|
|
189
191
|
│ ✅ CORRECT: Skill tool with skill: "spectre-create_tasks", args: "..."│
|
|
192
|
+
│ ✅ CORRECT: Skill tool with skill: "spectre-plan_review", args: "..." │
|
|
190
193
|
└────────────────────────────────────────────────────────────────────────┘
|
|
191
194
|
```
|
|
192
195
|
|
|
@@ -202,6 +205,7 @@ Goal: align on the *shape* of the solution before generating a full plan. This c
|
|
|
202
205
|
|
|
203
206
|
- Use the Skill tool: `skill: "spectre-create_plan"`, `args: "{OUT_DIR}/task_context.md --depth {tier}"`
|
|
204
207
|
- Use the Skill tool: `skill: "spectre-create_tasks"`, `args: "{OUT_DIR}/task_context.md"`
|
|
208
|
+
- For STANDARD/COMPREHENSIVE, use the Skill tool: `skill: "spectre-plan_review"`, `args: "{OUT_DIR} --auto-apply scope-safe"`
|
|
205
209
|
|
|
206
210
|
---
|
|
207
211
|
|
|
@@ -209,27 +213,34 @@ Goal: align on the *shape* of the solution before generating a full plan. This c
|
|
|
209
213
|
|
|
210
214
|
- **If LIGHT**:
|
|
211
215
|
|
|
216
|
+
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_plan"`, `args: "{OUT_DIR}/task_context.md --depth light --no-review"`
|
|
217
|
+
- **Wait** — Returns concise plan with solution shape, patterns, risks, and verification approach
|
|
212
218
|
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_tasks"`, `args: "{OUT_DIR}/task_context.md --depth light"`
|
|
213
|
-
- **Wait** — Returns task breakdown
|
|
219
|
+
- **Wait** — Returns task breakdown grounded in the light plan
|
|
220
|
+
- **Action** — PresentLightArtifacts: Summarize `{OUT_DIR}/specs/plan.md` and `{OUT_DIR}/specs/tasks.md`. State that LIGHT skipped `plan_review` and the human execution gate by design.
|
|
214
221
|
- Skip to footer
|
|
215
222
|
|
|
216
223
|
- **ElseIf STANDARD**:
|
|
217
224
|
|
|
218
|
-
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_plan"`, `args: "{OUT_DIR}/task_context.md --depth standard"`
|
|
225
|
+
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_plan"`, `args: "{OUT_DIR}/task_context.md --depth standard --no-review"`
|
|
219
226
|
- **Wait** — Returns focused plan (Overview, Approach, Out of Scope)
|
|
220
|
-
- **Action** — PromptUser: "Review plan. Reply 'Approved' or provide feedback."
|
|
221
|
-
- **Wait** — User approval
|
|
222
227
|
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_tasks"`, `args: "{OUT_DIR}/task_context.md"`
|
|
223
228
|
- **Wait** — Returns task breakdown
|
|
229
|
+
- **INVOKE NOW** → Skill tool with `skill: "spectre-plan_review"`, `args: "{OUT_DIR} --auto-apply scope-safe"`
|
|
230
|
+
- **Wait** — Returns findings, applied edits, skipped scope-changing recommendations, and updated artifacts
|
|
231
|
+
- **Action** — IntegratePlanReviewFeedback: Read the plan_review report path returned by `plan_review`. Confirm every scope-safe Blocker/High finding is reflected in `plan.md` and/or `tasks.md`. If `plan_review` produced a scope-safe suggested edit but did not apply it because it needed minor adaptation, apply the smallest artifact edit now and record it in the final summary. Do not apply Scope Change Required findings.
|
|
232
|
+
- Continue to Final Gate
|
|
224
233
|
|
|
225
234
|
- **ElseIf COMPREHENSIVE**:
|
|
226
235
|
|
|
227
|
-
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_plan"`, `args: "{OUT_DIR}/task_context.md --depth comprehensive"`
|
|
236
|
+
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_plan"`, `args: "{OUT_DIR}/task_context.md --depth comprehensive --no-review"`
|
|
228
237
|
- **Wait** — Returns full plan (all sections: Architecture, Phases, API Design, Testing Strategy, etc.)
|
|
229
|
-
- **Action** — PromptUser: "Review plan. Reply 'Approved' or provide feedback."
|
|
230
|
-
- **Wait** — User approval
|
|
231
238
|
- **INVOKE NOW** → Skill tool with `skill: "spectre-create_tasks"`, `args: "{OUT_DIR}/task_context.md"`
|
|
232
239
|
- **Wait** — Returns task breakdown
|
|
240
|
+
- **INVOKE NOW** → Skill tool with `skill: "spectre-plan_review"`, `args: "{OUT_DIR} --auto-apply scope-safe"`
|
|
241
|
+
- **Wait** — Returns findings, applied edits, skipped scope-changing recommendations, and updated artifacts
|
|
242
|
+
- **Action** — IntegratePlanReviewFeedback: Read the plan_review report path returned by `plan_review`. Confirm every scope-safe Blocker/High finding is reflected in `plan.md` and/or `tasks.md`. If `plan_review` produced a scope-safe suggested edit but did not apply it because it needed minor adaptation, apply the smallest artifact edit now and record it in the final summary. Do not apply Scope Change Required findings.
|
|
243
|
+
- Continue to Final Gate
|
|
233
244
|
|
|
234
245
|
---
|
|
235
246
|
|
|
@@ -253,4 +264,19 @@ Only proceed past this checkpoint when the user confirms.
|
|
|
253
264
|
|
|
254
265
|
---
|
|
255
266
|
|
|
267
|
+
### Final Gate
|
|
268
|
+
|
|
269
|
+
- **Action** — PresentFinalArtifacts:
|
|
270
|
+
- Summarize final artifact paths: `{OUT_DIR}/specs/plan.md`, `{OUT_DIR}/specs/tasks.md`, and the saved plan_review report under `{OUT_DIR}/reviews/`.
|
|
271
|
+
- Summarize review integration: findings applied by `plan_review`, any additional plan-orchestrator edits applied to integrate feedback, skipped edits, and any recommendations that were blocked because they would change canonical scope.
|
|
272
|
+
- If plan_review surfaced a scope-changing recommendation, state: "This requires a scope change; I did not apply it." Ask the user whether to reopen scope or approve the current canonical-scope-preserving plan/tasks.
|
|
273
|
+
- Otherwise prompt: "Final reviewed plan/tasks are ready. Reply `Approved` to proceed to execution, or provide final feedback."
|
|
274
|
+
|
|
275
|
+
- **Wait** — User final approval or feedback.
|
|
276
|
+
|
|
277
|
+
- **If feedback preserves canonical scope** — apply the smallest edits to `plan.md`/`tasks.md`, re-run `plan_review {OUT_DIR} --auto-apply scope-safe` if the feedback changes implementation approach, verification, dependencies, task sequencing, or references, then present the Final Gate again.
|
|
278
|
+
- **If feedback changes canonical scope** — stop and route back to `spectre-scope` (or explicitly update the canonical scope artifact if the user directs it). Do not silently update plan/tasks against stale scope.
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
256
282
|
- **Action** — RenderFooter: Use `Skill(spectre-guide)` skill for Next Steps
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: "plan_review"
|
|
2
|
+
name: "spectre-plan_review"
|
|
3
3
|
description: "👻 | Independent multi-lens review of plan.md and/or tasks.md — finds overengineering, missing verification, hallucinated deps, weak references"
|
|
4
4
|
user-invocable: true
|
|
5
5
|
---
|
|
@@ -16,8 +16,15 @@ Treat the current command arguments as this workflow's input. When invoked from
|
|
|
16
16
|
|
|
17
17
|
- **What** — Independent review of any available planning artifacts (`plan.md`, `tasks.md`, and optional `task_context.md`) from four specialized lenses, dispatched in parallel
|
|
18
18
|
- **Outcome** — Structured findings with concrete edit suggestions; optional write-back to update the available artifacts
|
|
19
|
+
- **Artifact** — Always save a Markdown review report before any write-back so pre-integration findings are auditable
|
|
19
20
|
- **Role** — Senior staff engineer + reviewer panel; bias toward pragmatic problem-solving, YAGNI enforcement, and verifiability
|
|
20
21
|
|
|
22
|
+
## Canonical Scope Invariant
|
|
23
|
+
|
|
24
|
+
`concepts/scope.md` is canonical when present. If absent, use `specs/prd.md`, `specs/ux.md`, and explicit requirements in `task_context.md` as the scope source, in that order.
|
|
25
|
+
|
|
26
|
+
Reviewers may recommend deleting unrequested implementation details, unnecessary abstractions, weak verification, hallucinated references, bad dependencies, or task sequencing problems. They MUST NOT cut, narrow, expand, or reinterpret agreed scope. If a reviewer believes the agreed scope itself is too large, internally inconsistent, or missing a requirement, phrase that as a **Scope Change Required** recommendation for the user. Do not apply it to `plan.md` or `tasks.md` during write-back.
|
|
27
|
+
|
|
21
28
|
## ARGUMENTS Input
|
|
22
29
|
|
|
23
30
|
<ARGUMENTS>
|
|
@@ -46,12 +53,15 @@ A single reviewer biases toward the issues it notices first. Published practice
|
|
|
46
53
|
- `PLAN=${TASK_DIR}/specs/plan.md` (or scoped name)
|
|
47
54
|
- `TASKS=${TASK_DIR}/specs/tasks.md` (or scoped name)
|
|
48
55
|
- `CONTEXT=${TASK_DIR}/task_context.md`
|
|
56
|
+
- `SCOPE=${TASK_DIR}/concepts/scope.md` when present; otherwise use `specs/prd.md` / `specs/ux.md` as available
|
|
57
|
+
- `REVIEWS_DIR=${TASK_DIR}/reviews`
|
|
58
|
+
- `REVIEW_REPORT=${REVIEWS_DIR}/plan_review.md`; if that exists, use `plan_review_{YYYY-MM-DD_HHMMSS}.md` to avoid overwriting prior review evidence.
|
|
49
59
|
- `plan.md` and `tasks.md` are independently reviewable. It is valid to review only `plan.md`, only `tasks.md`, or both.
|
|
50
60
|
- `task_context.md` is helpful context but is not required. If it is missing, continue and note that requirements traceability is limited.
|
|
51
|
-
- If both `plan.md` and `tasks.md` are missing, stop and suggest the user run `plan` or `create_tasks` first.
|
|
61
|
+
- If both `plan.md` and `tasks.md` are missing, stop and suggest the user run `spectre-plan` or `spectre-create_tasks` first.
|
|
52
62
|
- If exactly one of `plan.md` or `tasks.md` is missing, list it as absent context and continue. Do not decline, stop, or ask the user to create the missing artifact.
|
|
53
63
|
|
|
54
|
-
- **Action** — ReadAvailable: Read each available file completely into context before dispatching reviewers. Reviewers receive curated excerpts plus an artifact manifest that says which files are present and absent. Every reviewer must review the artifacts that exist and must not treat absent artifacts as a blocker.
|
|
64
|
+
- **Action** — ReadAvailable: Read each available file completely into context before dispatching reviewers. Reviewers receive curated excerpts plus an artifact manifest that says which files are present and absent. Every reviewer must review the artifacts that exist and must not treat absent artifacts as a blocker. The manifest must label the canonical scope source and state that review findings may not remove or narrow scope.
|
|
55
65
|
|
|
56
66
|
## Step 2 — Dispatch Four Parallel Reviewers
|
|
57
67
|
|
|
@@ -64,13 +74,15 @@ Missing-artifact rule for every lens: review what exists. If a finding depends o
|
|
|
64
74
|
> Review the available plan and/or task list for unrequested complexity. Agents have a documented "familiar-shape bias": shown a feature, they reproduce the mature-system shape from their training data (auth → adds rate-limiting; CRUD → adds soft-delete; form → adds optimistic UI; service → adds telemetry; module → adds feature flags). Your job is to find that bias here.
|
|
65
75
|
>
|
|
66
76
|
> Find:
|
|
67
|
-
> 1. When `plan.md` is present: anything in Technical Approach that isn't traceable to a requirement in available context (`task_context.md` /
|
|
77
|
+
> 1. When `plan.md` is present: anything in Technical Approach that isn't traceable to a requirement in available context (`scope.md` / `task_context.md` / PRD / UX). If context is absent, use the plan's own requirements and boundaries.
|
|
68
78
|
> 2. When `tasks.md` is present: tasks that implement something the available requirements don't ask for. If requirements context is absent, use the task list's stated goals and boundaries.
|
|
69
79
|
> 3. Abstractions, interfaces, or layers introduced for a single concrete caller.
|
|
70
80
|
> 4. Generality (config files, plugin points, factories) where the actual need is one specific behavior.
|
|
71
81
|
> 5. Overlap with the `Out-of-Bounds — DO NOT add` list (if anything violates that list, it's a hard fail).
|
|
72
82
|
>
|
|
73
|
-
>
|
|
83
|
+
> Scope guard: you may nominate implementation detail to delete only when it is not required by canonical scope. Do not nominate an agreed requirement, user-approved behavior, or required task as the thing to delete. If the best "cut" would change canonical scope, label it **Scope Change Required** and do not include it as an auto-applicable deletion.
|
|
84
|
+
>
|
|
85
|
+
> Required output: nominate the SINGLE highest-leverage implementation detail to delete and justify it. You must pick one unless every possible deletion would change canonical scope; in that case, say "No scope-safe deletion found" and provide the nearest Scope Change Required recommendation separately. Then list other simplifications ranked by impact. For each finding, cite the exact file:line or section header it lives in.
|
|
74
86
|
|
|
75
87
|
### Lens 2 — Verifiability (`@analyst`)
|
|
76
88
|
|
|
@@ -118,6 +130,7 @@ Missing-artifact rule for every lens: review what exists. If a finding depends o
|
|
|
118
130
|
- **High** — meaningfully reduces output quality (missing RED test, weak canonical reference, prose criterion)
|
|
119
131
|
- **Medium** — overengineering or reuse miss without functional blast radius
|
|
120
132
|
- **Low** — stylistic or nice-to-have
|
|
133
|
+
- **Scope Change Required** — may be valid feedback, but would cut, expand, or reinterpret canonical scope and therefore needs explicit user approval before any artifact edit
|
|
121
134
|
|
|
122
135
|
- **Action** — RenderFindingsTable: Output a single structured table. Schema is fixed.
|
|
123
136
|
|
|
@@ -143,11 +156,24 @@ Missing-artifact rule for every lens: review what exists. If a finding depends o
|
|
|
143
156
|
- Low: {N}
|
|
144
157
|
```
|
|
145
158
|
|
|
159
|
+
- **Action** — SaveReviewArtifact: Before applying any edits to `plan.md` or `tasks.md`, save the pre-integration review findings as a Markdown report.
|
|
160
|
+
- Create `${REVIEWS_DIR}` if missing.
|
|
161
|
+
- Write `${REVIEW_REPORT}` using the RenderFindingsTable content plus:
|
|
162
|
+
- Reviewed artifacts: exact plan/tasks/context/scope paths present and absent.
|
|
163
|
+
- Canonical scope source used.
|
|
164
|
+
- Auto-apply mode: enabled/disabled.
|
|
165
|
+
- Timestamp.
|
|
166
|
+
- Explicit note: "This report captures plan_review findings before any write-back to plan.md or tasks.md."
|
|
167
|
+
- Do not overwrite an existing report. Use the timestamped filename if the default already exists.
|
|
168
|
+
- Include the saved report path in all subsequent summaries and in `ReportApplied`.
|
|
169
|
+
|
|
146
170
|
## Step 4 — Surface Findings & Apply Edits
|
|
147
171
|
|
|
148
|
-
- **Action** — PresentFindings: Render the findings table inline
|
|
172
|
+
- **Action** — PresentFindings: Render the findings table inline and include `Review report saved: {REVIEW_REPORT}`.
|
|
173
|
+
|
|
174
|
+
- **Action** — DetectAutoApplyMode: If ARGUMENTS contains `--auto-apply scope-safe`, skip the user selection prompt and apply all scope-safe Blocker and High findings, plus Medium/Low findings only when the Suggested Edit is unambiguous and cannot change canonical scope. Do not apply findings marked Scope Change Required. Continue to ApplyEdits and SelfCheck, then return the applied/skipped summary to the invoking workflow.
|
|
149
175
|
|
|
150
|
-
- **Action** — OfferWriteBack:
|
|
176
|
+
- **Action** — OfferWriteBack: Unless `--auto-apply scope-safe` is present, after the table prompt:
|
|
151
177
|
|
|
152
178
|
> Reply with which findings to apply:
|
|
153
179
|
> - `all` — apply every suggested edit
|
|
@@ -163,17 +189,21 @@ Missing-artifact rule for every lens: review what exists. If a finding depends o
|
|
|
163
189
|
- Open the named artifact (`plan.md` or `tasks.md`)
|
|
164
190
|
- Apply the Suggested Edit verbatim where possible; if the edit needs adaptation, make the minimum change consistent with the finding's intent
|
|
165
191
|
- Track which findings were applied
|
|
192
|
+
- Before writing, confirm the edit preserves every requirement and boundary in the canonical scope source. If it would remove, narrow, expand, or reinterpret scope, skip it and record it as "skipped: requires scope change."
|
|
166
193
|
|
|
167
194
|
- **Action** — SelfCheck: After edits, run a fast pass over the modified sections:
|
|
168
195
|
- Re-verify any file:line refs touched
|
|
169
196
|
- Re-verify acceptance criteria are still executable
|
|
170
197
|
- Confirm no edit introduced a new Out-of-Bounds violation
|
|
198
|
+
- Confirm canonical scope is still fully represented by the resulting plan/tasks
|
|
171
199
|
- If any check fails, surface it and ask the user before continuing
|
|
172
200
|
|
|
173
201
|
- **Action** — ReportApplied:
|
|
174
202
|
|
|
175
203
|
> Applied: {list of finding numbers}. Skipped: {list}.
|
|
204
|
+
> Review report: {REVIEW_REPORT}.
|
|
176
205
|
> {Path to updated artifact(s)}.
|
|
206
|
+
> Scope-change recommendations not applied: {list or "none"}.
|
|
177
207
|
|
|
178
208
|
## Step 5 — Next Steps
|
|
179
209
|
|
|
@@ -183,6 +213,6 @@ Missing-artifact rule for every lens: review what exists. If a finding depends o
|
|
|
183
213
|
|
|
184
214
|
## Notes
|
|
185
215
|
|
|
186
|
-
- This skill does NOT generate plans or tasks. It reviews available planning artifacts. If only one of `plan.md` or `tasks.md` exists, review that artifact. Only route the user to `plan` or `create_tasks` when neither reviewable artifact exists.
|
|
216
|
+
- This skill does NOT generate plans or tasks. It reviews available planning artifacts. If only one of `plan.md` or `tasks.md` exists, review that artifact. Only route the user to `spectre-plan` or `spectre-create_tasks` when neither reviewable artifact exists.
|
|
187
217
|
- The four lenses are intentionally non-overlapping by design but will surface overlap in practice — dedupe at synthesis, don't ask reviewers to coordinate.
|
|
188
218
|
- The "Must-Delete" nomination from Lens 1 is mandatory output — even on a tight plan, naming the single weakest element is a forcing function against under-review.
|