@codename_inc/spectre 3.7.0 → 5.0.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 (106) hide show
  1. package/README.md +6 -7
  2. package/package.json +3 -2
  3. package/plugins/spectre/.claude-plugin/plugin.json +1 -1
  4. package/plugins/spectre/bin/spectre-register +5 -0
  5. package/plugins/spectre/hooks/hooks.json +3 -14
  6. package/plugins/spectre/hooks/scripts/bootstrap.mjs +98 -0
  7. package/plugins/spectre/hooks/scripts/handoff-resume.mjs +404 -0
  8. package/plugins/spectre/hooks/scripts/lib.mjs +82 -0
  9. package/plugins/spectre/hooks/scripts/load-knowledge.mjs +189 -0
  10. package/plugins/spectre/hooks/scripts/register_learning.mjs +264 -0
  11. package/plugins/spectre/hooks/scripts/{test_bootstrap.cjs → test_bootstrap.mjs} +12 -7
  12. package/plugins/spectre/hooks/scripts/{test_handoff-resume.cjs → test_handoff-resume.mjs} +13 -11
  13. package/plugins/spectre/hooks/scripts/{test_load-knowledge.cjs → test_load-knowledge.mjs} +103 -22
  14. package/plugins/spectre/hooks/scripts/test_register-learning.mjs +335 -0
  15. package/plugins/spectre/skills/apply/SKILL.md +87 -0
  16. package/plugins/spectre/{commands/architecture_review.md → skills/architecture_review/SKILL.md} +9 -0
  17. package/plugins/spectre/{commands/clean.md → skills/clean/SKILL.md} +9 -0
  18. package/plugins/spectre/{commands/code_review.md → skills/code_review/SKILL.md} +9 -0
  19. package/plugins/spectre/{commands/create_plan.md → skills/create_plan/SKILL.md} +9 -0
  20. package/plugins/spectre/{commands/create_tasks.md → skills/create_tasks/SKILL.md} +9 -0
  21. package/plugins/spectre/{commands/create_test_guide.md → skills/create_test_guide/SKILL.md} +9 -0
  22. package/plugins/spectre/{commands/evaluate.md → skills/evaluate/SKILL.md} +11 -2
  23. package/plugins/spectre/{commands/execute.md → skills/execute/SKILL.md} +12 -3
  24. package/plugins/spectre/{commands/fix.md → skills/fix/SKILL.md} +9 -0
  25. package/plugins/spectre/{commands/forget.md → skills/forget/SKILL.md} +9 -0
  26. package/plugins/spectre/skills/{spectre-guide → guide}/SKILL.md +6 -5
  27. package/plugins/spectre/{commands/handoff.md → skills/handoff/SKILL.md} +9 -0
  28. package/plugins/spectre/{commands/kickoff.md → skills/kickoff/SKILL.md} +9 -0
  29. package/plugins/spectre/skills/{spectre-learn → learn}/SKILL.md +19 -59
  30. package/plugins/spectre/skills/learn/references/recall-template.md +34 -0
  31. package/plugins/spectre/{commands/plan.md → skills/plan/SKILL.md} +66 -25
  32. package/plugins/spectre/{commands/plan_review.md → skills/plan_review/SKILL.md} +9 -0
  33. package/plugins/spectre/skills/prototype/SKILL.md +314 -0
  34. package/plugins/spectre/{commands/quick_dev.md → skills/quick_dev/SKILL.md} +9 -0
  35. package/plugins/spectre/{commands/rebase.md → skills/rebase/SKILL.md} +9 -0
  36. package/plugins/spectre/skills/recall/SKILL.md +17 -0
  37. package/plugins/spectre/{commands/research.md → skills/research/SKILL.md} +9 -0
  38. package/plugins/spectre/skills/scope/SKILL.md +174 -0
  39. package/plugins/spectre/{commands/ship.md → skills/ship/SKILL.md} +9 -0
  40. package/plugins/spectre/{commands/sweep.md → skills/sweep/SKILL.md} +9 -0
  41. package/plugins/spectre/skills/tdd/SKILL.md +111 -0
  42. package/plugins/spectre/{commands/test.md → skills/test/SKILL.md} +9 -0
  43. package/plugins/spectre/skills/ux/SKILL.md +121 -0
  44. package/plugins/spectre/{commands/validate.md → skills/validate/SKILL.md} +9 -0
  45. package/plugins/spectre-codex/agents/analyst.toml +117 -0
  46. package/plugins/spectre-codex/agents/dev.toml +65 -0
  47. package/plugins/spectre-codex/agents/finder.toml +101 -0
  48. package/plugins/spectre-codex/agents/patterns.toml +203 -0
  49. package/plugins/spectre-codex/agents/reviewer.toml +123 -0
  50. package/plugins/spectre-codex/agents/sync.toml +146 -0
  51. package/plugins/spectre-codex/agents/tester.toml +205 -0
  52. package/plugins/spectre-codex/agents/web-research.toml +104 -0
  53. package/plugins/spectre-codex/hooks/hooks.json +23 -0
  54. package/plugins/{spectre/hooks/scripts/bootstrap.cjs → spectre-codex/hooks/scripts/bootstrap.mjs} +15 -16
  55. package/plugins/{spectre/hooks/scripts/handoff-resume.cjs → spectre-codex/hooks/scripts/handoff-resume.mjs} +21 -27
  56. package/plugins/{spectre/hooks/scripts/lib.cjs → spectre-codex/hooks/scripts/lib.mjs} +3 -4
  57. package/plugins/spectre-codex/hooks/scripts/load-knowledge.mjs +189 -0
  58. package/plugins/spectre-codex/hooks/scripts/register_learning.mjs +264 -0
  59. package/plugins/spectre-codex/skills/apply/SKILL.md +87 -0
  60. package/plugins/spectre-codex/skills/architecture_review/SKILL.md +129 -0
  61. package/plugins/spectre-codex/skills/clean/SKILL.md +322 -0
  62. package/plugins/spectre-codex/skills/code_review/SKILL.md +417 -0
  63. package/plugins/spectre-codex/skills/create_plan/SKILL.md +126 -0
  64. package/plugins/spectre-codex/skills/create_tasks/SKILL.md +383 -0
  65. package/plugins/spectre-codex/skills/create_test_guide/SKILL.md +129 -0
  66. package/plugins/spectre-codex/skills/evaluate/SKILL.md +59 -0
  67. package/plugins/spectre-codex/skills/execute/SKILL.md +96 -0
  68. package/plugins/spectre-codex/skills/fix/SKILL.md +70 -0
  69. package/plugins/spectre-codex/skills/forget/SKILL.md +67 -0
  70. package/plugins/spectre-codex/skills/guide/SKILL.md +359 -0
  71. package/plugins/spectre-codex/skills/handoff/SKILL.md +170 -0
  72. package/plugins/spectre-codex/skills/kickoff/SKILL.md +124 -0
  73. package/plugins/spectre-codex/skills/learn/SKILL.md +595 -0
  74. package/plugins/{spectre/skills/spectre-learn → spectre-codex/skills/learn}/references/recall-template.md +4 -1
  75. package/plugins/spectre-codex/skills/plan/SKILL.md +211 -0
  76. package/plugins/spectre-codex/skills/plan_review/SKILL.md +42 -0
  77. package/plugins/spectre-codex/skills/prototype/SKILL.md +314 -0
  78. package/plugins/spectre-codex/skills/quick_dev/SKILL.md +110 -0
  79. package/plugins/spectre-codex/skills/rebase/SKILL.md +82 -0
  80. package/plugins/spectre-codex/skills/recall/SKILL.md +17 -0
  81. package/plugins/spectre-codex/skills/research/SKILL.md +168 -0
  82. package/plugins/spectre-codex/skills/scope/SKILL.md +174 -0
  83. package/plugins/spectre-codex/skills/ship/SKILL.md +181 -0
  84. package/plugins/spectre-codex/skills/sweep/SKILL.md +91 -0
  85. package/plugins/{spectre/skills/spectre-tdd → spectre-codex/skills/tdd}/SKILL.md +1 -1
  86. package/plugins/spectre-codex/skills/test/SKILL.md +389 -0
  87. package/plugins/spectre-codex/skills/ux/SKILL.md +121 -0
  88. package/plugins/spectre-codex/skills/validate/SKILL.md +352 -0
  89. package/src/config.test.js +6 -5
  90. package/src/install.test.js +100 -11
  91. package/src/lib/config.js +107 -54
  92. package/src/lib/constants.js +17 -23
  93. package/src/lib/doctor.js +19 -22
  94. package/src/lib/install.js +98 -313
  95. package/src/lib/knowledge.js +7 -37
  96. package/src/lib/paths.js +0 -12
  97. package/src/pack.test.js +87 -0
  98. package/plugins/spectre/commands/learn.md +0 -15
  99. package/plugins/spectre/commands/recall.md +0 -5
  100. package/plugins/spectre/commands/scope.md +0 -119
  101. package/plugins/spectre/commands/ux_spec.md +0 -91
  102. package/plugins/spectre/hooks/scripts/load-knowledge.cjs +0 -120
  103. package/plugins/spectre/hooks/scripts/precompact-warning.cjs +0 -19
  104. package/plugins/spectre/hooks/scripts/register_learning.cjs +0 -144
  105. package/plugins/spectre/hooks/scripts/test_register-learning.cjs +0 -146
  106. package/plugins/spectre/skills/spectre-apply/SKILL.md +0 -189
@@ -0,0 +1,383 @@
1
+ ---
2
+ name: "create_tasks"
3
+ description: "👻 | Transform requirements into executable tasks - primary agent"
4
+ user-invocable: true
5
+ ---
6
+
7
+ # create_tasks
8
+
9
+ ## Input Handling
10
+
11
+ Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
12
+
13
+
14
+ # create_tasks: Unified Task Breakdown
15
+
16
+ ## Description
17
+ - Transform requirements into detailed, actionable task lists with dependency analysis and execution options.
18
+ - Adapts to available context: uses existing research when sufficient, conducts research when needed.
19
+ - Outputs both sequential and parallel execution strategies.
20
+ - Scales naturally: generates as many phases and tasks as the scope requires.
21
+
22
+ ## ARGUMENTS Input
23
+
24
+ <ARGUMENTS>
25
+ $ARGUMENTS
26
+ </ARGUMENTS>
27
+
28
+ ---
29
+
30
+ ## Step 1 - Establish Context
31
+
32
+ ### 1a. Determine Output Location
33
+ - `branch_name=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo unknown)`
34
+ - **If** user specifies path → `TASK_DIR={that value}`
35
+ - **Else** → `TASK_DIR=docs/tasks/{branch_name}`
36
+ - Ensure dirs exist: `mkdir -p "${TASK_DIR}/specs" "${TASK_DIR}/research" "${TASK_DIR}/clarifications"`
37
+
38
+ ### 1b. Scan Available Artifacts
39
+ Inventory what exists in `TASK_DIR/`:
40
+ - [ ] `task_summary.md` — scope/objectives
41
+ - [ ] `prd.md` — detailed requirements
42
+ - [ ] `ux.md` — user experience specs
43
+ - [ ] `plan.md` — technical approach
44
+ - [ ] `task_context.md` — technical research
45
+ - [ ] `research/*.md` — analysis docs
46
+
47
+ Also note: thread context, user-provided docs, ARGUMENTS content.
48
+
49
+ ### 1c. Assess Complexity
50
+ **Simple task** (research likely unnecessary):
51
+ - Single file/component change
52
+ - Clear pattern already exists in codebase
53
+ - Scope explicitly stated, no ambiguity
54
+
55
+ **Complex task** (research likely needed):
56
+ - Multi-component or cross-cutting
57
+ - New patterns or integrations
58
+ - Unclear technical approach
59
+
60
+ ---
61
+
62
+ ## Step 2 - Research Decision
63
+
64
+ ### 2a. Do We NEED Research?
65
+ Based on complexity assessment from 1c:
66
+ - **If** simple task with clear scope → `NEED_RESEARCH=false`
67
+ - **If** complex task or unclear approach → `NEED_RESEARCH=true`
68
+
69
+ ### 2b. Do We HAVE Research? (if NEED_RESEARCH=true)
70
+ Assess existing artifacts with judgment:
71
+
72
+ | Artifact | Check For |
73
+ |----------|-----------|
74
+ | `task_context.md` | "## Technical Research" section with relevant analysis |
75
+ | `research/*.md` | Docs covering codebase patterns, integration points |
76
+ | `plan.md` | Technical approach, file locations, architecture decisions |
77
+
78
+ **Judgment call**: Do existing artifacts sufficiently cover:
79
+ - Codebase patterns relevant to this scope?
80
+ - Integration points and dependencies?
81
+ - Technical approach and target files?
82
+
83
+ - **If** sufficient coverage → `HAVE_RESEARCH=true`
84
+ - **If** gaps exist → `HAVE_RESEARCH=false` (note specific gaps)
85
+
86
+ ### 2c. Action
87
+ - **If** `NEED_RESEARCH=false` → proceed to Step 3
88
+ - **If** `NEED_RESEARCH=true` AND `HAVE_RESEARCH=true` → read existing, proceed to Step 3
89
+ - **If** `NEED_RESEARCH=true` AND `HAVE_RESEARCH=false` → conduct research (Step 2d)
90
+
91
+ ### 2d. Conduct Research (conditional)
92
+ - Spawn parallel agents: @codebase-locator, @codebase-analyzer, @codebase-pattern-finder
93
+ - Review: `CLAUDE.md`, `README.md`, architecture docs
94
+ - Identify: patterns, integration points, technical constraints
95
+ - Save to `${TASK_DIR}/task_context.md` under "## Technical Research"
96
+
97
+ ---
98
+
99
+ ## Step 3 - Extract Requirements
100
+
101
+ ### 3a. Gather From All Sources
102
+ Read completely (no limits):
103
+ - Planning docs: `task_summary.md`, `prd.md`, `plan.md`, `ux.md`
104
+ - Thread context: discussed requirements, user goals
105
+ - ARGUMENTS: any provided scope
106
+
107
+ ### 3b. Synthesize Requirements
108
+ - Extract: what must be built, who uses it, success criteria
109
+ - Extract: out of scope, constraints, boundaries
110
+ - Number each: REQ-001, REQ-002, etc.
111
+ - Categorize: Core functionality, UX, Technical constraints
112
+
113
+ ### 3c. Requirements Boundary Check
114
+ - [ ] Clear on what IS explicitly requested?
115
+ - [ ] Clear on what is NOT mentioned (exclude)?
116
+ - [ ] **Scope Litmus Test**: Would user recognize this as exactly what they asked?
117
+
118
+ **STRICT COMPLIANCE**: Tasks deliver ONLY what's explicitly stated. No performance optimizations, extra features, future-proofing, or "best practices" unless requested.
119
+
120
+ ---
121
+
122
+ ## Step 4 - Generate Tasks
123
+
124
+ ### 4a. Synthesize Architecture Context
125
+ - **Action** — SynthesizeArchitectureContext: Based on research findings, document where this work fits and how we'll approach it.
126
+ - **Where This Fits**: Which system/component this extends, how it connects to existing architecture (with file references)
127
+ - **Technical Approach**: Key pattern we're following, why this approach vs alternatives, what existing code we're leveraging
128
+ - **Key Decisions**: Important technical decisions made and their rationale
129
+ - This section helps the user understand how the work integrates with the product before diving into tasks
130
+
131
+ ### Task Hierarchy (4 Levels)
132
+ - **📦 Phase**: Organizational header (no checkbox) — groups related parent tasks
133
+ - **📋 Parent Task**: Cohesive deliverable (small-medium scope) — one component/file
134
+ - **✓ Sub-task**: Atomic work (single focused change) — single action, 2-3 acceptance criteria
135
+ - **✓ Acceptance Criteria**: Verifiable outcomes (not implementation steps)
136
+
137
+ **Numbering**: Phase 1 → Parent 1.1, 1.2 → Sub-tasks 1.1.1, 1.1.2 → Criteria ✓
138
+
139
+ ### Integration-Aware Task Principle
140
+
141
+ > **"A feature isn't done when pieces exist. It's done when data flows from user action to rendered pixels."**
142
+
143
+ Every task that creates something must specify:
144
+ 1. **What it produces** — exact output (variable, return value, prop, event)
145
+ 2. **What consumes it** — exact consumer (component, hook, handler) that uses the output
146
+ 3. **What it replaces** — old code path being deprecated (if any)
147
+
148
+ Tasks without consumers are incomplete. Tasks that don't address old code paths leave dead/duplicate logic.
149
+
150
+ **Task Types**:
151
+ - **Build tasks**: Create a component/hook/utility/function
152
+ - **Integration tasks**: Wire producer output to consumer input (MANDATORY for every build task)
153
+ - **Cleanup tasks**: Remove/redirect old code paths (MANDATORY when replacing patterns)
154
+
155
+ ### 4b. Create Parent Tasks
156
+ - **Action** — CreateParentTasks: Draft as many phases as needed to logically organize work, each with as many parent tasks (📋) as required to cover complete scope.
157
+ - Each parent task = single cohesive deliverable (small-medium scope)
158
+ - Cover ALL extracted requirements with no gaps
159
+ - Group related work into phases for clarity
160
+ - Align with technical approach (from research or existing docs)
161
+
162
+ ### 4c. Break Down Sub-tasks
163
+ - **Action** — BreakdownSubTasks: For each parent, generate as many detailed sub-tasks as needed to complete the parent.
164
+ - **Sub-task structure**:
165
+ - Start with action verb (Create, Implement, Add, Update, Configure, Enable)
166
+ - Use technical language freely (components, endpoints, middleware, hooks, schemas)
167
+ - Specify technical patterns and architecture decisions
168
+ - Name specific files, components, or modules when helpful
169
+ - Describe technical behavior and integration points
170
+ - Be specific enough for junior dev to know where to start
171
+ - Completable as a single focused change
172
+
173
+ - **What to INCLUDE in sub-tasks:**
174
+ - ✅ Technical terms (JWT, REST, WebSocket, React hooks, SQL queries)
175
+ - ✅ Architecture patterns (middleware, pub/sub, observer, factory)
176
+ - ✅ Integration points (which components connect, API contracts)
177
+ - ✅ File/component names (UserProfileComponent, authMiddleware.ts)
178
+ - ✅ Technical constraints (max file size, timeout duration, data format)
179
+ - ✅ **Produces**: What output this creates (variable name, return value, prop)
180
+ - ✅ **Consumed by**: What uses this output (component, hook, render path)
181
+ - ✅ **Replaces**: What old code path this supersedes (if any)
182
+
183
+ - **What to AVOID in sub-tasks:**
184
+ - ❌ Code snippets or pseudo-code
185
+ - ❌ Exact function signatures or variable names
186
+ - ❌ Line-by-line implementation steps
187
+ - ❌ Specific library API calls (unless architecturally significant)
188
+
189
+ - **Acceptance criteria**:
190
+ - Describe technical behaviors and observable outcomes
191
+ - Include integration expectations and error handling
192
+ - 2-3 verifiable outcomes per sub-task
193
+ - Be specific about technical requirements
194
+
195
+ - **Decomposition**: Split if 5+ criteria or multiple concerns
196
+
197
+ ### 4d. Validate Task Structure
198
+ - **Action** — VerifyCoverage: Cross-reference tasks against extracted requirements.
199
+ - Map each requirement from Step 3 to at least one task
200
+ - Flag any uncovered requirements → add missing tasks
201
+ - Flag any tasks without requirement justification → remove or justify
202
+
203
+ - **Action** — ValidateTasks: Validate complete task structure.
204
+ - **Coverage Validation**:
205
+ - [ ] All extracted requirements from Step 3 addressed by tasks?
206
+ - [ ] No gaps in requirement coverage?
207
+ - **Exclusion Validation**:
208
+ - [ ] Adding anything beyond explicit requests?
209
+ - [ ] Avoiding "nice-to-have" additions not requested?
210
+ - **Structure Validation**:
211
+ - [ ] Parent tasks are small-medium scope, sub-tasks are atomic?
212
+ - [ ] Each sub-task has 2-3 acceptance criteria?
213
+ - [ ] Acceptance criteria verifiable (not implementation steps)?
214
+
215
+ - **Action** — ValidateIntegration: Verify every build task is wired to consumers.
216
+ - **Consumer Specified**:
217
+ - [ ] Does every "create X" task specify what consumes X?
218
+ - [ ] No orphaned computations (values produced but never used)?
219
+ - **Integration Explicit**:
220
+ - [ ] Is there a task for wiring producer output → consumer input?
221
+ - [ ] For UI features: is there a task verifying data reaches the render path?
222
+ - **Old Paths Addressed**:
223
+ - [ ] If replacing old code, is removal/redirect a task?
224
+ - [ ] No duplicate data sources for the same concern?
225
+ - **Last Mile Covered**:
226
+ - [ ] For every feature affecting what users SEE: task exists to wire to JSX render?
227
+
228
+ ---
229
+
230
+ ## Step 5 - Dependency Analysis & Execution Strategies
231
+
232
+ ### 5a. Map Dependencies
233
+ - Review parent tasks (📋 level) for dependencies
234
+ - Identify which parent tasks can be completed in parallel vs sequential
235
+ - Dependency rules:
236
+ - Parent tasks requiring output from other parents must be sequenced
237
+ - Tasks modifying same files need sequencing or coordination
238
+ - Testing tasks run after implementation tasks
239
+ - Setup/configuration tasks complete before dependent work
240
+
241
+ ### 5b. Generate Sequential Execution Order
242
+ Define step-by-step execution order based on dependencies:
243
+ ```markdown
244
+ ## Sequential Execution
245
+ 1. 1.1 - [Name] (no dependencies)
246
+ 2. 1.2 - [Name] (depends on 1.1)
247
+ 3. 2.1 - [Name] (depends on 1.1)
248
+ 4. 2.2 - [Name] (depends on 1.2, 2.1)
249
+ ...
250
+ ```
251
+
252
+ ### 5c. Generate Parallel Execution Waves
253
+ Group independent parent tasks into waves for parallel execution:
254
+ ```markdown
255
+ ## Parallel Execution
256
+
257
+ ### Wave 1 (concurrent)
258
+ - 1.1, 2.1 — no dependencies, can start immediately
259
+ - Rationale: {why these can run concurrently}
260
+
261
+ ### Wave 2 (after Wave 1)
262
+ - 1.2, 2.2 — depend on Wave 1 outputs
263
+ - Rationale: {why these depend on Wave 1}
264
+
265
+ ### Wave 3 (after Wave 2)
266
+ - 3.1 — integration, needs prior waves complete
267
+ - Rationale: {why this needs prior waves}
268
+ ```
269
+
270
+ **Note**: Phases (📦) are organizational; execution planning happens at parent task (📋) level.
271
+
272
+ ---
273
+
274
+ ## Step 6 - Document & Output
275
+
276
+ ### 6a. Write tasks.md
277
+ - Determine `TASKS_FILE` (default `${TASK_DIR}/specs/tasks.md`; if it already exists, create a scoped name like `${TASK_DIR}/specs/{task_name}_tasks.md` or `tasks_{timestamp}.md` to avoid overwriting).
278
+ Save to `${TASKS_FILE}`:
279
+
280
+ ```markdown
281
+ # Tasks — {feature name}
282
+ *Generated by create_tasks on {timestamp}*
283
+
284
+ ## Objective
285
+ {single sentence describing outcome}
286
+
287
+ ## Scope
288
+ - **In Scope**: {bullet list}
289
+ - **Out of Scope**: {bullet list}
290
+
291
+ ## Requirements Traced
292
+ | ID | Description | Source | Tasks |
293
+ |----|-------------|--------|-------|
294
+ | REQ-001 | ... | prd.md | 1.1, 1.2 |
295
+ | REQ-002 | ... | task_summary.md | 2.1 |
296
+
297
+ ---
298
+
299
+ ## Architecture Context
300
+
301
+ ### Where This Fits
302
+ - {Which system/component this work extends or modifies}
303
+ - {How it connects to existing architecture — with file references}
304
+
305
+ ### Technical Approach
306
+ - {Key pattern/approach we're following — reference existing code if applicable}
307
+ - {Why this approach vs alternatives}
308
+ - {What existing code we're leveraging}
309
+
310
+ ### Key Decisions
311
+ - {Decision 1 and rationale}
312
+ - {Decision 2 and rationale}
313
+
314
+ ---
315
+
316
+ ## Tasks
317
+
318
+ ### Phase 1: {Phase Name}
319
+
320
+ #### [1.1] {Parent Task Title}
321
+ - [ ] **1.1.1** {Sub-task with technical specifics}
322
+ - **Produces**: {output variable/value/prop}
323
+ - **Consumed by**: {component/hook that uses this}
324
+ - **Replaces**: {old code path, or "N/A" if new}
325
+ - [ ] {Technical outcome 1}
326
+ - [ ] {Technical outcome 2}
327
+ - [ ] {Technical outcome 3}
328
+
329
+ - [ ] **1.1.2** {Sub-task with technical specifics}
330
+ - **Produces**: {output variable/value/prop}
331
+ - **Consumed by**: {component/hook that uses this}
332
+ - [ ] {Technical outcome 1}
333
+ - [ ] {Technical outcome 2}
334
+
335
+ #### [1.2] {Parent Task Title} — Integration
336
+ *This task wires outputs from 1.1 to consumers*
337
+ - [ ] **1.2.1** {Wire X to Y}
338
+ - **Wires**: {1.1.1 output} → {consumer component/render}
339
+ - **Removes**: {old code path being replaced}
340
+ - [ ] {Consumer uses new data source}
341
+ - [ ] {Old data source removed/redirected}
342
+
343
+ ### Phase 2: {Phase Name}
344
+ ...
345
+
346
+ ---
347
+
348
+ ## Execution Strategies
349
+
350
+ ### Sequential Execution
351
+ 1. Task 1.1 - [Name] (no dependencies)
352
+ 2. Task 1.2 - [Name] (depends on 1.1)
353
+ 3. Task 2.1 - [Name] (depends on 1.1)
354
+ ...
355
+
356
+ ### Parallel Execution
357
+
358
+ **Wave 1 (concurrent)**: 1.1, 2.1
359
+ - Rationale: {why concurrent}
360
+
361
+ **Wave 2 (after Wave 1)**: 1.2, 2.2
362
+ - Rationale: {why sequenced}
363
+
364
+ **Wave 3 (after Wave 2)**: 3.1
365
+ - Rationale: {why sequenced}
366
+
367
+ ---
368
+
369
+ ## Coverage Summary
370
+ - Total Requirements Extracted: [X]
371
+ - Requirements with Task Coverage: [X] (100%)
372
+ - Phases: [N]
373
+ - Parent Tasks: [Y]
374
+ - Sub-tasks: [Z]
375
+ ```
376
+
377
+ ### 6b. Present Summary
378
+
379
+ - **Action** — SummarizeStructure: "Task Breakdown Complete. Structure: {X} phases, {Y} parents, {Z} sub-tasks. \[List phases with parent titles\]. Execution: Sequential ({N} steps) | Parallel ({M} waves). Saved to: {path}"
380
+
381
+ ### 6c. Next Steps Footer
382
+
383
+ Action — RenderFooter: Use Skill(spectre-guide) skill for Next Steps footer
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: "create_test_guide"
3
+ description: "👻 | Generate right-sized manual test guides - primary agent"
4
+ user-invocable: true
5
+ ---
6
+
7
+ # create_test_guide
8
+
9
+ ## Input Handling
10
+
11
+ Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
12
+
13
+
14
+ # create_test_guide: Right-sized manual testing documentation
15
+
16
+ ### Description
17
+ - Description — Generate appropriately scoped manual testing guides that validate completed work, highlight key risks, and keep quality efforts aligned with tas scope. Scale complexity to match change size.
18
+ - Desired Outcome — Feature-based testing guide with actionable checklists organized by user workflows, saved to `docs/tasks/{task_name}/testing/{task_name}_test_guide.md`.
19
+
20
+ ## ARGUMENTS Input
21
+
22
+ Optional user input to seed this workflow.
23
+
24
+ <ARGUMENTS>
25
+ $ARGUMENTS
26
+ </ARGUMENTS>
27
+
28
+ ## Step (1/3) - Analyze Context & Determine Testing Strategy
29
+
30
+ - **Action** — AssessScope: Analyze current task to understand changes and determine complexity.
31
+ - Extract from task documentation: features/functionality added/modified/removed, technical stack/environment, user personas/use cases, integration points/dependencies
32
+ - Process ARGUMENTS for specific focus areas (if provided)
33
+ - **Change Complexity Assessment**:
34
+ - **Simple**: Basic smoke tests, happy path validation, quick regression check of related features
35
+ - **Medium**: Edge case testing, error handling validation, basic integration testing
36
+ - **Complex**: Advanced user scenarios, performance considerations, cross-feature interactions, security implications
37
+ - **Action** — DetermineStrategy: Select required and optional sections based on complexity.
38
+ - **Required Sections (Always)**:
39
+ - Testing Overview (scope, environment, prerequisites)
40
+ - Environment Setup (step-by-step setup and verification)
41
+ - Core Test Cases (primary functionality validation)
42
+ - Results Documentation (how to record and report findings)
43
+ - **Optional Sections (Include Based on Relevance)**:
44
+ - Known Issues & Limitations (if documented bugs/workarounds)
45
+ - Rollback Procedures (high-risk changes/production deployments)
46
+ - Performance Testing (changes affecting load times/resource usage)
47
+ - Accessibility Testing (UI/UX changes)
48
+ - Cross-Browser/Device Testing (frontend changes)
49
+ - Data Validation Testing (changes affecting data handling)
50
+ - Security Testing (authentication/permissions/data access changes)
51
+
52
+ ## Step (2/3) - Generate Test Guide
53
+
54
+ - **Output Location** — DetermineOutputDir: Decide where to save artifacts for this workflow.
55
+ - `branch_name=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo unknown)`
56
+ - **If** user specifies `target_dir/path` → `OUT_DIR={that value}`
57
+ - **Else** → `OUT_DIR=docs/tasks/{branch_name}`
58
+ - `mkdir -p "OUT_DIR/testing"`
59
+ - **Action** — CreateGuide: Generate comprehensive testing guide with feature-based organization.
60
+ - Save to `{OUT_DIR}/testing/{branch_name}_test_guide.md`
61
+ - **Guiding Principles**:
62
+ - Scale appropriately (CSS color change ≠ payment system)
63
+ - Focus on risk (prioritize areas most likely to break or impact users)
64
+ - Be practical (completable in reasonable timeframe)
65
+ - Stay relevant (only include sections that add value)
66
+ - **Primary Structure**: Organize by user workflows/features (not procedural sections)
67
+ - **Feature-Based Format**:
68
+ ```markdown
69
+ ### 1. Feature Name (User Action/Context)
70
+ - [ ] Step 1: Action to perform
71
+ - [ ] Step 2: What to verify/expect
72
+ - [ ] Step 3: Additional validation
73
+ - [ ] Step 4: Edge case or error handling
74
+ ```
75
+ - **Content Standards**:
76
+ - **Complete Scenarios**: Structure around complete scenarios (user workflows or technical capabilities); each section validates specific capability end-to-end
77
+ - **Actionable Steps**: Each checkbox = complete action + verification pair (e.g., "Send POST to /api/users and verify 201 with user ID returned")
78
+ - **Logical Grouping**: Group related test steps under scenarios (e.g., all "API Rate Limiting" aspects in one section)
79
+ - **Appropriate Depth**: Scale complexity to match changes (simple UI updates need basic workflows; new features need comprehensive coverage)
80
+ - **Formatting Requirements**:
81
+ - Headers: Descriptive feature names explaining user goal
82
+ - Steps: Combine action and expected result in each checkbox
83
+ - Grouping: Organize related functionality under same feature section
84
+ - Checkboxes: Use `[ ]` for progress tracking
85
+ - Context: Include keyboard shortcuts, button names, UI elements in parentheses
86
+ - Examples: Provide specific test data (branch names, file paths)
87
+ - Write instructions clear enough for unfamiliar users; don't over-engineer for straightforward changes
88
+
89
+ ## Step (3/3) - Deliver
90
+
91
+ - **Action** — PresentDelivery: Present guide with testing coverage summary.
92
+ > **📋 Test Guide Created**
93
+ >
94
+ > **Location**: `docs/tasks/{task_name}/testing/{task_name}_test_guide.md`
95
+ >
96
+ > **Coverage**:
97
+ > - {X} feature workflows/scenarios
98
+ > - {Y} total test steps
99
+ > - Estimated time: {Z} minutes
100
+ >
101
+ > **Testing Strategy**: {Simple/Medium/Complex} - {brief rationale}
102
+ >
103
+ > The guide is organized by user workflows with actionable checklists ready for execution.
104
+ - **Action** — RenderFooter: Render Next Steps footer using `Skill(spectre-guide)` skill (contains format template and spectre command options)
105
+
106
+ ## Next Steps
107
+
108
+ See `Skill(spectre-guide)` skill for footer format and command options.
109
+
110
+ ## Success Criteria
111
+
112
+ - [ ] Output directory determined inline (`OUT_DIR`) using branch name or user-specified path
113
+ - [ ] Task context analyzed (features changed, stack, personas, integration points)
114
+ - [ ] ARGUMENTS processed for specific focus areas (if provided)
115
+ - [ ] Change complexity assessed (Simple/Medium/Complex)
116
+ - [ ] Testing strategy determined with required and optional sections identified
117
+ - [ ] Test guide created with feature-based organization
118
+ - [ ] Required sections included (Overview, Setup, Core Tests, Results)
119
+ - [ ] Optional sections evaluated and included based on relevance
120
+ - [ ] Tests organized by user workflows/features with descriptive headers
121
+ - [ ] Steps combine actions with expected results using checklist format
122
+ - [ ] Related functionality logically grouped under coherent scenarios
123
+ - [ ] Keyboard shortcuts and UI elements included as relevant
124
+ - [ ] Guide complexity scaled appropriately to change size
125
+ - [ ] Instructions clear enough for unfamiliar users
126
+ - [ ] Guide saved to `{OUT_DIR}/testing/{branch_name}_test_guide.md`
127
+
128
+ - [ ] Testing coverage summary presented to user
129
+ - [ ] Next steps guide read and relevant options sourced for footer
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: "evaluate"
3
+ description: "👻 | Architecture review + knowledge capture"
4
+ user-invocable: true
5
+ ---
6
+
7
+ # evaluate
8
+
9
+ ## Input Handling
10
+
11
+ Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
12
+
13
+
14
+ # evaluate: Review architecture and capture learnings
15
+
16
+ ## Description
17
+ - **What** — Meta command that runs an architecture review in the background while you capture learnings from the session
18
+ - **Outcome** — Architecture review report + captured knowledge for future sessions
19
+
20
+ ## ARGUMENTS
21
+
22
+ <ARGUMENTS>
23
+ $ARGUMENTS
24
+ </ARGUMENTS>
25
+
26
+ ## Instructions
27
+
28
+ This command runs two activities in parallel:
29
+
30
+ 1. **Architecture Review** — dispatched as a background Opus 4.6 subagent via `Skill(architecture_review)` (Claude slash route: `architecture_review`)
31
+ 2. **Learn** — run directly by loading the `spectre-learn` skill
32
+
33
+ ## Step (1/2) - Dispatch Architecture Review
34
+
35
+ - **Action** — DispatchReview: Launch architecture review as a background subagent
36
+ - Use the Task tool with `subagent_type="general-purpose"`, `model="opus"`, `run_in_background=true`
37
+ - The subagent prompt should include the full architecture_review command instructions
38
+ - Pass ARGUMENTS to the subagent as the review scope (feature description, paths, context)
39
+ - **If** ARGUMENTS is empty: instruct the subagent to infer the review scope from recent work in the repository (e.g., git diff, recent commits)
40
+ - Note the background task ID so the user can check results later
41
+
42
+ - **Output**: Inform the user that the architecture review is running in the background and they'll be notified when it completes.
43
+
44
+ ## Step (2/2) - Capture Learnings
45
+
46
+ - **Action** — Learn: Load the spectre-learn skill and follow its workflow
47
+ - Load skill: `Skill(learn)`
48
+ - **If** ARGUMENTS is provided: use it as the learning topic
49
+ - **If** ARGUMENTS is empty: the skill will analyze recent conversation to identify what's worth capturing
50
+ - Follow the full learning workflow from the skill (categorize, propose, write, register)
51
+
52
+ ## Completion
53
+
54
+ When the learn flow completes:
55
+ 1. Check if the background architecture review has finished (read the output file)
56
+ 2. **If finished**: Present the architecture review report to the user
57
+ 3. **If still running**: Let the user know they can check back later or continue working
58
+
59
+ - **Action** — RenderFooter: Use Skill(spectre-guide) for Next Steps
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: "execute"
3
+ description: "👻 | Adaptive Wave-Based Build -> Code_Review -> Validate Flow"
4
+ user-invocable: true
5
+ ---
6
+
7
+ # execute
8
+
9
+ ## Input Handling
10
+
11
+ Treat the current command arguments as this workflow's input. When invoked from a slash command, use the forwarded `$ARGUMENTS` value.
12
+
13
+
14
+ # execute: Adaptive Task Execution with Quality Gates
15
+
16
+ Execute tasks in parallel waves with full scope context, adapt based on learnings, code review loop, validate requirements. Outcome: complete implementation with verified quality and E2E requirement coverage.
17
+
18
+ ## ARGUMENTS
19
+
20
+ <ARGUMENTS>
21
+ $ARGUMENTS
22
+ </ARGUMENTS>
23
+
24
+ ## Step 1 - Adaptive Wave Execution
25
+
26
+ - **Action** — LoadScopeContext: Identify available scope docs in `{OUT_DIR}/`:
27
+ - `concepts/scope.md`, `specs/prd.md`, `specs/ux.md`, `specs/plan.md`, `specs/tasks.md`, `task_summary.md`
28
+ - Store existing paths as `SCOPE_DOCS` for subagent dispatch
29
+
30
+ - **Action** — LoadTaskList: Read `docs/tasks/{branch}/specs/tasks.md` or Beads tasks
31
+ - Identify wave structure and first wave
32
+
33
+ - **Action** — ExecuteAdaptiveLoop: Until all tasks complete:
34
+
35
+ 1. **Batch Tasks**: Assign up to 3 sequential parent tasks per subagent
36
+ - **Batching Rule**: Group sequential tasks (e.g., 1.1→1.2→1.3) to one agent
37
+ - **Parallelization Boundary**: If task N must complete before parallel wave W starts, end the batch at N
38
+ - Example: Tasks 1.1-1.5 sequential, then 2.1-2.3 parallel → Agent A: 1.1-1.3, Agent B: 1.4-1.5, then parallel dispatch for wave 2
39
+
40
+ 2. **Dispatch Wave**: Launch parallel @dev subagents (1 per task batch)
41
+ - **CRITICAL**: Each subagent MUST read `SCOPE_DOCS` before executing
42
+ - Each receives: task batch assignment, dependency completion reports, SCOPE_DOCS paths
43
+ - Instruct: "Read scope docs first to understand E2E UX and integration points. Load Skill(spectre-tdd), then execute tasks sequentially using its TDD methodology. **Commit after each parent task** with conventional commit format (e.g., `feat(module): add X`, `fix(module): resolve Y`). Return completion report with **Implementation Insights** + **E2E Completeness Check**."
44
+
45
+ **E2E Completeness Check** (subagent returns one per batch):
46
+ - ⚪ Complete — tasks sufficient to deliver spec intent
47
+ - 🟡 Gap — [specific functionality missing for E2E UX]
48
+ - 🔴 Blocker — [cannot deliver spec without changes to other tasks]
49
+
50
+ 3. **Mark Complete**: Update tasks doc with `[x]` for completed tasks
51
+
52
+ 4. **Reflect**: Review completion reports for:
53
+ - Scope signals (🟡/🟠/🔴) from implementation insights
54
+ - E2E completeness gaps (🟡/🔴) from completeness checks
55
+ - **If** all ⚪ across both → skip to step 6
56
+ - **Else** → adapt tasks
57
+
58
+ 5. **Adapt** (only if triggered):
59
+ - Modify future tasks with learned context
60
+ - Add tasks for E2E gaps with `[ADDED - E2E gap]` prefix
61
+ - Add required sub-tasks with `[ADDED]` prefix
62
+ - Mark obsoleted with `[SKIPPED - reason]`
63
+ - Flag cross-task integration issues to remaining waves
64
+ - **Guardrails**: ❌ No "nice-to-have" additions, ❌ No scope expansion, ✅ Only adapt for spec compliance
65
+
66
+ 6. **Next Wave**: Identify next tasks, gather relevant completion reports, return to step 1
67
+
68
+ ## Step 2 - Code Review Loop
69
+
70
+ - **Action** — ExecutedeveviewLoop: Until no critical/high feedback:
71
+
72
+ 1. **Spawn Review**: @dev subagent runs `Skill(code_review)` (Claude slash route: `code_review`)
73
+ 2. **Analyze**: Identify critical/high items
74
+ - **If** none → exit loop
75
+ 3. **Address**: Parallel @dev subagents fix feedback
76
+ 4. **Re-verify**: Return to step 1
77
+
78
+ ## Step 3 - Validate Requirements
79
+
80
+ - **Action** — SpawnValidation: @reviewer runs `Skill(validate)` (Claude slash route: `validate`) with task list
81
+ - **Action** — AddressGaps: If high priority gaps → dispatch @dev subagents to fix
82
+
83
+ ## Step 4 - Prepare for QA
84
+
85
+ - **Action** — GenerateTestGuide: @dev runs `Skill(create_test_guide)` (Claude slash route: `create_test_guide`)
86
+ - Save to `{OUT_DIR}/test_guide.md`
87
+
88
+ ## Step 5 - Report
89
+
90
+ - **Action** — SummarizeCompletion:
91
+ - Tasks completed, waves executed, code review iterations, validation status
92
+ - Test guide location
93
+ - **Task Evolution Summary**: Adaptations made (or "None - original plan executed")
94
+ - **E2E Gaps Addressed**: Summary of completeness issues found and resolved
95
+
96
+ - **Action** — RenderFooter: Use `Skill(spectre-guide)` skill for Next Steps