@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.
- package/README.md +6 -7
- package/package.json +3 -2
- package/plugins/spectre/.claude-plugin/plugin.json +1 -1
- package/plugins/spectre/bin/spectre-register +5 -0
- package/plugins/spectre/hooks/hooks.json +3 -14
- package/plugins/spectre/hooks/scripts/bootstrap.mjs +98 -0
- package/plugins/spectre/hooks/scripts/handoff-resume.mjs +404 -0
- package/plugins/spectre/hooks/scripts/lib.mjs +82 -0
- package/plugins/spectre/hooks/scripts/load-knowledge.mjs +189 -0
- package/plugins/spectre/hooks/scripts/register_learning.mjs +264 -0
- package/plugins/spectre/hooks/scripts/{test_bootstrap.cjs → test_bootstrap.mjs} +12 -7
- package/plugins/spectre/hooks/scripts/{test_handoff-resume.cjs → test_handoff-resume.mjs} +13 -11
- package/plugins/spectre/hooks/scripts/{test_load-knowledge.cjs → test_load-knowledge.mjs} +103 -22
- package/plugins/spectre/hooks/scripts/test_register-learning.mjs +335 -0
- package/plugins/spectre/skills/apply/SKILL.md +87 -0
- package/plugins/spectre/{commands/architecture_review.md → skills/architecture_review/SKILL.md} +9 -0
- package/plugins/spectre/{commands/clean.md → skills/clean/SKILL.md} +9 -0
- package/plugins/spectre/{commands/code_review.md → skills/code_review/SKILL.md} +9 -0
- package/plugins/spectre/{commands/create_plan.md → skills/create_plan/SKILL.md} +9 -0
- package/plugins/spectre/{commands/create_tasks.md → skills/create_tasks/SKILL.md} +9 -0
- package/plugins/spectre/{commands/create_test_guide.md → skills/create_test_guide/SKILL.md} +9 -0
- package/plugins/spectre/{commands/evaluate.md → skills/evaluate/SKILL.md} +11 -2
- package/plugins/spectre/{commands/execute.md → skills/execute/SKILL.md} +12 -3
- package/plugins/spectre/{commands/fix.md → skills/fix/SKILL.md} +9 -0
- package/plugins/spectre/{commands/forget.md → skills/forget/SKILL.md} +9 -0
- package/plugins/spectre/skills/{spectre-guide → guide}/SKILL.md +6 -5
- package/plugins/spectre/{commands/handoff.md → skills/handoff/SKILL.md} +9 -0
- package/plugins/spectre/{commands/kickoff.md → skills/kickoff/SKILL.md} +9 -0
- package/plugins/spectre/skills/{spectre-learn → learn}/SKILL.md +19 -59
- package/plugins/spectre/skills/learn/references/recall-template.md +34 -0
- package/plugins/spectre/{commands/plan.md → skills/plan/SKILL.md} +66 -25
- package/plugins/spectre/{commands/plan_review.md → skills/plan_review/SKILL.md} +9 -0
- package/plugins/spectre/skills/prototype/SKILL.md +314 -0
- package/plugins/spectre/{commands/quick_dev.md → skills/quick_dev/SKILL.md} +9 -0
- package/plugins/spectre/{commands/rebase.md → skills/rebase/SKILL.md} +9 -0
- package/plugins/spectre/skills/recall/SKILL.md +17 -0
- package/plugins/spectre/{commands/research.md → skills/research/SKILL.md} +9 -0
- package/plugins/spectre/skills/scope/SKILL.md +174 -0
- package/plugins/spectre/{commands/ship.md → skills/ship/SKILL.md} +9 -0
- package/plugins/spectre/{commands/sweep.md → skills/sweep/SKILL.md} +9 -0
- package/plugins/spectre/skills/tdd/SKILL.md +111 -0
- package/plugins/spectre/{commands/test.md → skills/test/SKILL.md} +9 -0
- package/plugins/spectre/skills/ux/SKILL.md +121 -0
- package/plugins/spectre/{commands/validate.md → skills/validate/SKILL.md} +9 -0
- package/plugins/spectre-codex/agents/analyst.toml +117 -0
- package/plugins/spectre-codex/agents/dev.toml +65 -0
- package/plugins/spectre-codex/agents/finder.toml +101 -0
- package/plugins/spectre-codex/agents/patterns.toml +203 -0
- package/plugins/spectre-codex/agents/reviewer.toml +123 -0
- package/plugins/spectre-codex/agents/sync.toml +146 -0
- package/plugins/spectre-codex/agents/tester.toml +205 -0
- package/plugins/spectre-codex/agents/web-research.toml +104 -0
- package/plugins/spectre-codex/hooks/hooks.json +23 -0
- package/plugins/{spectre/hooks/scripts/bootstrap.cjs → spectre-codex/hooks/scripts/bootstrap.mjs} +15 -16
- package/plugins/{spectre/hooks/scripts/handoff-resume.cjs → spectre-codex/hooks/scripts/handoff-resume.mjs} +21 -27
- package/plugins/{spectre/hooks/scripts/lib.cjs → spectre-codex/hooks/scripts/lib.mjs} +3 -4
- package/plugins/spectre-codex/hooks/scripts/load-knowledge.mjs +189 -0
- package/plugins/spectre-codex/hooks/scripts/register_learning.mjs +264 -0
- package/plugins/spectre-codex/skills/apply/SKILL.md +87 -0
- package/plugins/spectre-codex/skills/architecture_review/SKILL.md +129 -0
- package/plugins/spectre-codex/skills/clean/SKILL.md +322 -0
- package/plugins/spectre-codex/skills/code_review/SKILL.md +417 -0
- package/plugins/spectre-codex/skills/create_plan/SKILL.md +126 -0
- package/plugins/spectre-codex/skills/create_tasks/SKILL.md +383 -0
- package/plugins/spectre-codex/skills/create_test_guide/SKILL.md +129 -0
- package/plugins/spectre-codex/skills/evaluate/SKILL.md +59 -0
- package/plugins/spectre-codex/skills/execute/SKILL.md +96 -0
- package/plugins/spectre-codex/skills/fix/SKILL.md +70 -0
- package/plugins/spectre-codex/skills/forget/SKILL.md +67 -0
- package/plugins/spectre-codex/skills/guide/SKILL.md +359 -0
- package/plugins/spectre-codex/skills/handoff/SKILL.md +170 -0
- package/plugins/spectre-codex/skills/kickoff/SKILL.md +124 -0
- package/plugins/spectre-codex/skills/learn/SKILL.md +595 -0
- package/plugins/{spectre/skills/spectre-learn → spectre-codex/skills/learn}/references/recall-template.md +4 -1
- package/plugins/spectre-codex/skills/plan/SKILL.md +211 -0
- package/plugins/spectre-codex/skills/plan_review/SKILL.md +42 -0
- package/plugins/spectre-codex/skills/prototype/SKILL.md +314 -0
- package/plugins/spectre-codex/skills/quick_dev/SKILL.md +110 -0
- package/plugins/spectre-codex/skills/rebase/SKILL.md +82 -0
- package/plugins/spectre-codex/skills/recall/SKILL.md +17 -0
- package/plugins/spectre-codex/skills/research/SKILL.md +168 -0
- package/plugins/spectre-codex/skills/scope/SKILL.md +174 -0
- package/plugins/spectre-codex/skills/ship/SKILL.md +181 -0
- package/plugins/spectre-codex/skills/sweep/SKILL.md +91 -0
- package/plugins/{spectre/skills/spectre-tdd → spectre-codex/skills/tdd}/SKILL.md +1 -1
- package/plugins/spectre-codex/skills/test/SKILL.md +389 -0
- package/plugins/spectre-codex/skills/ux/SKILL.md +121 -0
- package/plugins/spectre-codex/skills/validate/SKILL.md +352 -0
- package/src/config.test.js +6 -5
- package/src/install.test.js +100 -11
- package/src/lib/config.js +107 -54
- package/src/lib/constants.js +17 -23
- package/src/lib/doctor.js +19 -22
- package/src/lib/install.js +98 -313
- package/src/lib/knowledge.js +7 -37
- package/src/lib/paths.js +0 -12
- package/src/pack.test.js +87 -0
- package/plugins/spectre/commands/learn.md +0 -15
- package/plugins/spectre/commands/recall.md +0 -5
- package/plugins/spectre/commands/scope.md +0 -119
- package/plugins/spectre/commands/ux_spec.md +0 -91
- package/plugins/spectre/hooks/scripts/load-knowledge.cjs +0 -120
- package/plugins/spectre/hooks/scripts/precompact-warning.cjs +0 -19
- package/plugins/spectre/hooks/scripts/register_learning.cjs +0 -144
- package/plugins/spectre/hooks/scripts/test_register-learning.cjs +0 -146
- 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
|