@leeovery/claude-technical-workflows 2.0.44 → 2.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/commands/link-dependencies.md +2 -2
- package/commands/workflow/start-discussion.md +5 -1
- package/commands/workflow/start-implementation.md +5 -1
- package/commands/workflow/start-planning.md +5 -1
- package/commands/workflow/start-research.md +5 -1
- package/commands/workflow/start-review.md +5 -1
- package/commands/workflow/start-specification.md +65 -11
- package/commands/workflow/status.md +5 -1
- package/commands/workflow/view-plan.md +1 -9
- package/package.json +1 -1
- package/scripts/discovery-for-specification.sh +62 -8
- package/scripts/migrate.sh +3 -1
- package/scripts/migrations/003-planning-frontmatter.sh +5 -3
- package/scripts/migrations/004-sources-object-format.sh +204 -0
- package/skills/technical-discussion/SKILL.md +7 -1
- package/skills/technical-implementation/SKILL.md +13 -2
- package/skills/technical-implementation/references/environment-setup.md +1 -1
- package/skills/technical-planning/SKILL.md +83 -20
- package/skills/technical-planning/references/{output-backlog-md.md → output-formats/output-backlog-md.md} +4 -4
- package/skills/technical-planning/references/{output-beads.md → output-formats/output-beads.md} +4 -4
- package/skills/technical-planning/references/{output-linear.md → output-formats/output-linear.md} +4 -4
- package/skills/technical-planning/references/{output-local-markdown.md → output-formats/output-local-markdown.md} +3 -3
- package/skills/technical-planning/references/output-formats.md +33 -6
- package/skills/technical-planning/references/phase-design.md +146 -0
- package/skills/technical-planning/references/planning-principles.md +44 -0
- package/skills/technical-planning/references/steps/author-tasks.md +63 -0
- package/skills/technical-planning/references/steps/define-phases.md +40 -0
- package/skills/technical-planning/references/steps/define-tasks.md +43 -0
- package/skills/technical-planning/references/steps/plan-review.md +96 -0
- package/skills/technical-planning/references/steps/resolve-dependencies.md +56 -0
- package/skills/technical-planning/references/steps/review-integrity.md +217 -0
- package/skills/technical-planning/references/steps/review-traceability.md +194 -0
- package/skills/technical-planning/references/task-design.md +158 -0
- package/skills/technical-research/SKILL.md +9 -1
- package/skills/technical-research/references/template.md +1 -0
- package/skills/technical-review/SKILL.md +9 -1
- package/skills/technical-specification/SKILL.md +10 -1
- package/skills/technical-specification/references/specification-guide.md +44 -0
- package/skills/technical-planning/references/formal-planning.md +0 -235
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Plan Review
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
After completing the plan, perform a comprehensive two-part review before handing off to implementation.
|
|
8
|
+
|
|
9
|
+
**Why this matters**: The plan is what gets built. If content was hallucinated into the plan, it will be implemented — building something that was never discussed or validated. If specification content was missed, it won't be built. The entire purpose of this workflow is that artifacts carry validated decisions through to implementation. The plan is the final gate before code is written.
|
|
10
|
+
|
|
11
|
+
## Review Tracking Files
|
|
12
|
+
|
|
13
|
+
To ensure analysis isn't lost during context refresh, create tracking files that capture findings. These files persist analysis so work can continue across sessions.
|
|
14
|
+
|
|
15
|
+
**Location**: Store tracking files alongside the plan file:
|
|
16
|
+
- `{topic}-review-traceability-tracking.md` — Traceability findings
|
|
17
|
+
- `{topic}-review-integrity-tracking.md` — Integrity findings
|
|
18
|
+
|
|
19
|
+
**Format**:
|
|
20
|
+
```markdown
|
|
21
|
+
---
|
|
22
|
+
status: in-progress | complete
|
|
23
|
+
created: YYYY-MM-DD
|
|
24
|
+
phase: Traceability Review | Plan Integrity Review
|
|
25
|
+
topic: [Topic Name]
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Review Tracking: [Topic Name] - [Phase]
|
|
29
|
+
|
|
30
|
+
## Findings
|
|
31
|
+
|
|
32
|
+
### 1. [Brief Title]
|
|
33
|
+
|
|
34
|
+
**Type**: Missing from plan | Hallucinated content | Incomplete coverage | Structural issue | Weak criteria | ...
|
|
35
|
+
**Spec Reference**: [Section/decision in specification, or "N/A" for integrity findings]
|
|
36
|
+
**Plan Reference**: [Phase/task in plan, or "N/A" for missing content]
|
|
37
|
+
|
|
38
|
+
**Details**:
|
|
39
|
+
[What was found and why it matters]
|
|
40
|
+
|
|
41
|
+
**Proposed Fix**:
|
|
42
|
+
[What should change in the plan — leave blank until discussed]
|
|
43
|
+
|
|
44
|
+
**Resolution**: Pending | Fixed | Adjusted | Skipped
|
|
45
|
+
**Notes**: [Discussion notes or adjustments]
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### 2. [Next Finding]
|
|
50
|
+
...
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Why tracking files**: If context refreshes mid-review, you can read the tracking file and continue where you left off. The tracking file shows which items are resolved and which remain.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Traceability Review
|
|
58
|
+
|
|
59
|
+
Compare the plan against the specification in both directions — checking that everything from the spec is in the plan, and everything in the plan traces back to the spec.
|
|
60
|
+
|
|
61
|
+
Load **[review-traceability.md](review-traceability.md)** and follow its instructions as written.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Plan Integrity Review
|
|
66
|
+
|
|
67
|
+
Review the plan as a standalone document for structural quality, implementation readiness, and adherence to planning standards.
|
|
68
|
+
|
|
69
|
+
Load **[review-integrity.md](review-integrity.md)** and follow its instructions as written.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Completion
|
|
74
|
+
|
|
75
|
+
After both reviews:
|
|
76
|
+
|
|
77
|
+
1. **Verify tracking files are deleted** — Both traceability and integrity tracking files must be gone
|
|
78
|
+
|
|
79
|
+
2. **Final quality confirmation**:
|
|
80
|
+
- All specification content has plan coverage (Traceability)
|
|
81
|
+
- No hallucinated content remains (Traceability)
|
|
82
|
+
- All tasks follow the required template (Integrity)
|
|
83
|
+
- Dependencies are documented and ordered (Integrity)
|
|
84
|
+
- External dependencies match specification (Integrity)
|
|
85
|
+
|
|
86
|
+
3. **Confirm with the user**:
|
|
87
|
+
|
|
88
|
+
> "The plan has passed both reviews:
|
|
89
|
+
> - **Traceability**: All specification content is covered; no hallucinated content
|
|
90
|
+
> - **Integrity**: Plan structure, tasks, and dependencies are implementation-ready
|
|
91
|
+
>
|
|
92
|
+
> Review is complete."
|
|
93
|
+
|
|
94
|
+
> **CHECKPOINT**: Do not confirm completion if tracking files still exist. They indicate incomplete review work.
|
|
95
|
+
|
|
96
|
+
→ Proceed to **Step 9**.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Resolve External Dependencies
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Orient the user:
|
|
8
|
+
|
|
9
|
+
> "All phases and tasks are written. Now I'll check for external dependencies — things this plan needs from other topics or systems."
|
|
10
|
+
|
|
11
|
+
After all phases are detailed and written, handle external dependencies — things this plan needs from other topics or systems.
|
|
12
|
+
|
|
13
|
+
#### If the specification has a Dependencies section
|
|
14
|
+
|
|
15
|
+
The specification's Dependencies section lists what this feature needs from outside its own scope. These must be documented in the plan so implementation knows what is blocked and what is available.
|
|
16
|
+
|
|
17
|
+
1. **Document each dependency** in the plan's External Dependencies section using the format described in [dependencies.md](../dependencies.md). Initially, record each as unresolved.
|
|
18
|
+
|
|
19
|
+
2. **Resolve where possible** — For each dependency, check whether a plan already exists for that topic:
|
|
20
|
+
- If a plan exists, identify the specific task(s) that satisfy the dependency. Query the output format to find relevant tasks. If ambiguous, ask the user which tasks apply. Update the dependency entry from unresolved → resolved with the task reference.
|
|
21
|
+
- If no plan exists, leave the dependency as unresolved. It will be linked later via `/link-dependencies` or when that topic is planned.
|
|
22
|
+
|
|
23
|
+
3. **Reverse check** — Check whether any existing plans have unresolved dependencies that reference *this* topic. Now that this plan exists with specific tasks:
|
|
24
|
+
- Scan other plan files for External Dependencies entries that mention this topic
|
|
25
|
+
- For each match, identify which task(s) in the current plan satisfy that dependency
|
|
26
|
+
- Update the other plan's dependency entry with the task reference (unresolved → resolved)
|
|
27
|
+
|
|
28
|
+
#### If the specification has no Dependencies section
|
|
29
|
+
|
|
30
|
+
Document this explicitly in the plan:
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
## External Dependencies
|
|
34
|
+
|
|
35
|
+
No external dependencies.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
This makes it clear that dependencies were considered and none exist — not that they were overlooked.
|
|
39
|
+
|
|
40
|
+
#### If no other plans exist
|
|
41
|
+
|
|
42
|
+
Skip the resolution and reverse check — there is nothing to resolve against. Document the dependencies as unresolved. They will be linked when other topics are planned, or via `/link-dependencies`.
|
|
43
|
+
|
|
44
|
+
**STOP.** Present a summary of the dependency state: what was documented, what was resolved, what remains unresolved, and any reverse resolutions made.
|
|
45
|
+
|
|
46
|
+
> **To proceed, choose one:**
|
|
47
|
+
> - **"Approve"** — Dependency state is confirmed. Proceed to plan review.
|
|
48
|
+
> - **"Adjust"** — Tell me what to change.
|
|
49
|
+
|
|
50
|
+
#### If Adjust
|
|
51
|
+
|
|
52
|
+
Incorporate feedback, re-present the updated dependency state, and ask again. Repeat until approved.
|
|
53
|
+
|
|
54
|
+
#### If Approved
|
|
55
|
+
|
|
56
|
+
→ Proceed to **Step 8**.
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Plan Integrity Review
|
|
2
|
+
|
|
3
|
+
*Reference for **[plan-review](plan-review.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Review the plan **as a standalone document** for structural quality, implementation readiness, and adherence to planning standards.
|
|
8
|
+
|
|
9
|
+
**Purpose**: Ensure that the plan itself is well-structured, complete, and ready for implementation. An implementer (human or AI) should be able to pick up this plan and execute it without ambiguity, without needing to make design decisions, and without referring back to the specification.
|
|
10
|
+
|
|
11
|
+
**Key distinction**: The traceability review checked *what's in the plan* against the spec. This review checks *how it's structured* — looking inward at the plan's own quality.
|
|
12
|
+
|
|
13
|
+
Read the plan end-to-end — carefully, as if you were about to implement it. For each phase, each task, and the plan overall, check against the following criteria:
|
|
14
|
+
|
|
15
|
+
## What You're NOT Doing
|
|
16
|
+
|
|
17
|
+
- **Not redesigning the plan** — You're checking quality, not re-architecting
|
|
18
|
+
- **Not adding content from outside the spec** — If a task needs more detail, the detail must come from the specification
|
|
19
|
+
- **Not gold-plating** — Focus on issues that would actually impact implementation
|
|
20
|
+
- **Not second-guessing phase structure** — Unless it's fundamentally broken, the structure stands
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## What to Look For
|
|
25
|
+
|
|
26
|
+
1. **Task Template Compliance**
|
|
27
|
+
- Every task has all required fields: Problem, Solution, Outcome, Do, Acceptance Criteria, Tests
|
|
28
|
+
- Problem statements clearly explain WHY the task exists
|
|
29
|
+
- Solution statements describe WHAT we're building
|
|
30
|
+
- Outcome statements define what success looks like
|
|
31
|
+
- Acceptance criteria are concrete and verifiable (not vague)
|
|
32
|
+
- Tests include edge cases, not just happy paths
|
|
33
|
+
|
|
34
|
+
2. **Vertical Slicing**
|
|
35
|
+
- Tasks deliver complete, testable functionality
|
|
36
|
+
- No horizontal slicing (all models, then all services, then all wiring)
|
|
37
|
+
- Each task can be verified independently
|
|
38
|
+
- Each task is a single TDD cycle
|
|
39
|
+
|
|
40
|
+
3. **Phase Structure**
|
|
41
|
+
- Phases follow logical progression (Foundation → Core → Edge cases → Refinement)
|
|
42
|
+
- Each phase has clear acceptance criteria
|
|
43
|
+
- Each phase is independently testable
|
|
44
|
+
- Phase boundaries make sense (not arbitrary groupings)
|
|
45
|
+
|
|
46
|
+
4. **Dependencies and Ordering**
|
|
47
|
+
- Phase ordering reflects actual dependencies
|
|
48
|
+
- Tasks within phases are ordered logically
|
|
49
|
+
- Cross-phase dependencies are explicit where they exist
|
|
50
|
+
- No circular dependencies
|
|
51
|
+
- An implementer can infer execution order from the plan structure
|
|
52
|
+
|
|
53
|
+
5. **Task Self-Containment**
|
|
54
|
+
- Each task contains all context needed for execution
|
|
55
|
+
- No task requires reading other tasks to understand what to do
|
|
56
|
+
- Relevant specification decisions are pulled into task context
|
|
57
|
+
- An implementer could pick up any single task and execute it
|
|
58
|
+
|
|
59
|
+
6. **Scope and Granularity**
|
|
60
|
+
- Each task is one TDD cycle (not too large, not too small)
|
|
61
|
+
- No task requires multiple unrelated implementation steps
|
|
62
|
+
- No task is so granular it's just mechanical boilerplate
|
|
63
|
+
|
|
64
|
+
7. **Acceptance Criteria Quality**
|
|
65
|
+
- Criteria are pass/fail, not subjective
|
|
66
|
+
- Criteria cover the actual requirement, not just "code exists"
|
|
67
|
+
- Edge case criteria are specific about boundary values and behaviors
|
|
68
|
+
- No criteria that an implementer would have to interpret
|
|
69
|
+
|
|
70
|
+
8. **External Dependencies**
|
|
71
|
+
- All external dependencies from the specification are documented in the plan
|
|
72
|
+
- Dependencies are in the correct state (resolved/unresolved)
|
|
73
|
+
- No external dependencies were missed or invented
|
|
74
|
+
|
|
75
|
+
## Presenting Integrity Findings
|
|
76
|
+
|
|
77
|
+
After completing your review, categorize each finding by severity:
|
|
78
|
+
|
|
79
|
+
- **Critical**: Would block implementation or cause incorrect behavior
|
|
80
|
+
- **Important**: Would force implementer to guess or make design decisions
|
|
81
|
+
- **Minor**: Polish or improvement that strengthens the plan
|
|
82
|
+
|
|
83
|
+
Then:
|
|
84
|
+
|
|
85
|
+
1. **Create the tracking file** — Write all findings to `{topic}-review-integrity-tracking.md`
|
|
86
|
+
2. **Commit the tracking file** — Ensures it survives context refresh
|
|
87
|
+
3. **Present findings** in two stages:
|
|
88
|
+
|
|
89
|
+
**Stage 1: Summary**
|
|
90
|
+
|
|
91
|
+
> "I've completed the plan integrity review. I found [N] items:
|
|
92
|
+
>
|
|
93
|
+
> 1. **[Brief title]** (Critical/Important/Minor)
|
|
94
|
+
> [2-4 line explanation: what the issue is, why it matters for implementation]
|
|
95
|
+
>
|
|
96
|
+
> 2. **[Brief title]** (Critical/Important/Minor)
|
|
97
|
+
> [2-4 line explanation]
|
|
98
|
+
>
|
|
99
|
+
> Let's work through these one at a time, starting with #1."
|
|
100
|
+
|
|
101
|
+
**Stage 2: Process One Item at a Time**
|
|
102
|
+
|
|
103
|
+
Work through each finding **one at a time**. For each finding: present it, propose the fix, wait for approval, then apply it verbatim.
|
|
104
|
+
|
|
105
|
+
### Present the Finding
|
|
106
|
+
|
|
107
|
+
Show the finding with full detail:
|
|
108
|
+
|
|
109
|
+
> **Finding {N} of {total}: {Brief Title}**
|
|
110
|
+
>
|
|
111
|
+
> **Severity**: Critical | Important | Minor
|
|
112
|
+
>
|
|
113
|
+
> **Plan Reference**: [Phase/task in the plan]
|
|
114
|
+
>
|
|
115
|
+
> **Category**: [Which review criterion — e.g., "Task Template Compliance", "Vertical Slicing"]
|
|
116
|
+
>
|
|
117
|
+
> **Details**: [What the issue is and why it matters for implementation]
|
|
118
|
+
|
|
119
|
+
### Propose the Fix
|
|
120
|
+
|
|
121
|
+
Present the proposed fix **in the format it will be written to the plan**. What the user sees is what gets applied — no changes between approval and writing.
|
|
122
|
+
|
|
123
|
+
State the action type explicitly so the user knows what's changing structurally:
|
|
124
|
+
|
|
125
|
+
**Update a task** — change content within an existing task:
|
|
126
|
+
|
|
127
|
+
> **Proposed fix — update Phase {N}, Task {M}:**
|
|
128
|
+
>
|
|
129
|
+
> **Current:**
|
|
130
|
+
> [The existing content as it appears in the plan]
|
|
131
|
+
>
|
|
132
|
+
> **Proposed:**
|
|
133
|
+
> [The replacement content]
|
|
134
|
+
|
|
135
|
+
**Add content to a task** — insert into an existing task (e.g., missing acceptance criteria, edge case):
|
|
136
|
+
|
|
137
|
+
> **Proposed fix — add to Phase {N}, Task {M}, {section}:**
|
|
138
|
+
>
|
|
139
|
+
> [The exact content to be added, in plan format]
|
|
140
|
+
|
|
141
|
+
**Remove content from a task** — strip content that shouldn't be there:
|
|
142
|
+
|
|
143
|
+
> **Proposed fix — remove from Phase {N}, Task {M}, {section}:**
|
|
144
|
+
>
|
|
145
|
+
> [The exact content to be removed]
|
|
146
|
+
|
|
147
|
+
**Add a new task** — a spec section has no plan coverage and needs its own task:
|
|
148
|
+
|
|
149
|
+
> **Proposed fix — add new task to Phase {N}:**
|
|
150
|
+
>
|
|
151
|
+
> [The complete task in plan format, using the task template]
|
|
152
|
+
|
|
153
|
+
**Remove a task** — an entire task is hallucinated with no spec backing:
|
|
154
|
+
|
|
155
|
+
> **Proposed fix — remove Phase {N}, Task {M}: {Task Name}**
|
|
156
|
+
>
|
|
157
|
+
> **Reason**: [Why this task has no specification basis]
|
|
158
|
+
|
|
159
|
+
**Add a new phase** — a significant area of the specification has no plan coverage:
|
|
160
|
+
|
|
161
|
+
> **Proposed fix — add new Phase {N}: {Phase Name}**
|
|
162
|
+
>
|
|
163
|
+
> [Phase goal, acceptance criteria, and task overview]
|
|
164
|
+
|
|
165
|
+
**Remove a phase** — an entire phase is not backed by the specification:
|
|
166
|
+
|
|
167
|
+
> **Proposed fix — remove Phase {N}: {Phase Name}**
|
|
168
|
+
>
|
|
169
|
+
> **Reason**: [Why this phase has no specification basis]
|
|
170
|
+
|
|
171
|
+
After presenting the finding and proposed fix, ask:
|
|
172
|
+
|
|
173
|
+
> **Finding {N} of {total}: {Brief Title}**
|
|
174
|
+
>
|
|
175
|
+
> **To proceed, choose one:**
|
|
176
|
+
> - **"Approve"** — Fix is confirmed. I'll apply it to the plan verbatim.
|
|
177
|
+
> - **"Adjust"** — Tell me what to change about the proposed fix.
|
|
178
|
+
> - **"Skip"** — Leave this as-is and move to the next finding.
|
|
179
|
+
|
|
180
|
+
**STOP.** Wait for the user's response.
|
|
181
|
+
|
|
182
|
+
### If Adjust
|
|
183
|
+
|
|
184
|
+
The user may:
|
|
185
|
+
- Request changes to the proposed fix
|
|
186
|
+
- Ask questions about why this was flagged
|
|
187
|
+
- Suggest a different approach to resolving the finding
|
|
188
|
+
|
|
189
|
+
Incorporate feedback and re-present the proposed fix **in full** using the same format above. Then ask the same choice again. Repeat until approved or skipped.
|
|
190
|
+
|
|
191
|
+
### If Approved
|
|
192
|
+
|
|
193
|
+
Apply the fix to the plan — as presented, using the output format adapter to determine how it's written. Do not modify content between approval and writing. Then update the tracking file: mark resolution as "Fixed", add any discussion notes.
|
|
194
|
+
|
|
195
|
+
Confirm:
|
|
196
|
+
|
|
197
|
+
> "Finding {N} of {total}: {Brief Title} — fixed."
|
|
198
|
+
|
|
199
|
+
### If Skipped
|
|
200
|
+
|
|
201
|
+
Update the tracking file: mark resolution as "Skipped", note the reason.
|
|
202
|
+
|
|
203
|
+
> "Finding {N} of {total}: {Brief Title} — skipped."
|
|
204
|
+
|
|
205
|
+
### Next Finding
|
|
206
|
+
|
|
207
|
+
Commit the tracking file (and any plan changes) before moving on. This ensures progress survives context refresh or session interruption.
|
|
208
|
+
|
|
209
|
+
**If findings remain:** → Present the next finding. Follow the same present → propose → ask → apply sequence.
|
|
210
|
+
|
|
211
|
+
**If all findings are processed:**
|
|
212
|
+
|
|
213
|
+
**Delete the integrity tracking file** (`{topic}-review-integrity-tracking.md`) — it has served its purpose.
|
|
214
|
+
|
|
215
|
+
Inform the user the integrity review is complete.
|
|
216
|
+
|
|
217
|
+
→ Return to **[plan-review.md](plan-review.md)** for completion.
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# Traceability Review
|
|
2
|
+
|
|
3
|
+
*Reference for **[plan-review](plan-review.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Compare the plan against the specification **in both directions** to ensure complete, faithful translation.
|
|
8
|
+
|
|
9
|
+
**Purpose**: Verify that the plan is a faithful, complete translation of the specification. Everything in the spec must be in the plan, and everything in the plan must trace back to the spec. This is the anti-hallucination gate — it catches both missing content and invented content before implementation begins.
|
|
10
|
+
|
|
11
|
+
Re-read the specification in full before starting. Don't rely on memory — read it as if seeing it for the first time. Then check both directions:
|
|
12
|
+
|
|
13
|
+
## What You're NOT Doing
|
|
14
|
+
|
|
15
|
+
- **Not adding new requirements** — If something isn't in the spec, the fix is to remove it from the plan or flag it with `[needs-info]`, not to justify its inclusion
|
|
16
|
+
- **Not expanding scope** — Missing spec content should be added as tasks; it shouldn't trigger re-architecture of the plan
|
|
17
|
+
- **Not being lenient with hallucinated content** — If it can't be traced to the specification, it must be removed or the user must explicitly approve it as an intentional addition
|
|
18
|
+
- **Not re-litigating spec decisions** — The specification reflects validated decisions; you're checking the plan's fidelity to them
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Direction 1: Specification → Plan (completeness)
|
|
23
|
+
|
|
24
|
+
Is everything from the specification represented in the plan?
|
|
25
|
+
|
|
26
|
+
1. **For each specification element, verify plan coverage**:
|
|
27
|
+
- Every decision → has a task that implements it
|
|
28
|
+
- Every requirement → has a task with matching acceptance criteria
|
|
29
|
+
- Every edge case → has a task or is explicitly handled within a task
|
|
30
|
+
- Every constraint → is reflected in the relevant tasks
|
|
31
|
+
- Every data model or schema → appears in the relevant tasks
|
|
32
|
+
- Every integration point → has a task that addresses it
|
|
33
|
+
- Every validation rule → has a task with test coverage
|
|
34
|
+
|
|
35
|
+
2. **Check depth of coverage** — It's not enough that a spec topic is *mentioned* in a task. The task must contain enough detail that an implementer wouldn't need to go back to the specification. Summarizing and rewording is fine, but the essence and instruction must be preserved.
|
|
36
|
+
|
|
37
|
+
## Direction 2: Plan → Specification (fidelity)
|
|
38
|
+
|
|
39
|
+
Is everything in the plan actually from the specification? This is the anti-hallucination check.
|
|
40
|
+
|
|
41
|
+
1. **For each task, trace its content back to the specification**:
|
|
42
|
+
- The Problem statement → ties to a spec requirement or decision
|
|
43
|
+
- The Solution approach → matches the spec's architectural choices
|
|
44
|
+
- The implementation details → come from the spec, not invention
|
|
45
|
+
- The acceptance criteria → verify spec requirements, not made-up ones
|
|
46
|
+
- The tests → cover spec behaviors, not imagined scenarios
|
|
47
|
+
- The edge cases → are from the spec, not invented
|
|
48
|
+
|
|
49
|
+
2. **Flag anything that cannot be traced**:
|
|
50
|
+
- Content that has no corresponding specification section
|
|
51
|
+
- Technical approaches not discussed in the specification
|
|
52
|
+
- Requirements or behaviors not mentioned anywhere in the spec
|
|
53
|
+
- Edge cases the specification never identified
|
|
54
|
+
- Acceptance criteria testing things the specification doesn't require
|
|
55
|
+
|
|
56
|
+
3. **The standard for hallucination**: If you cannot point to a specific part of the specification that justifies a piece of plan content, it is hallucinated. It doesn't matter how reasonable it seems — if it wasn't discussed and validated, it doesn't belong in the plan.
|
|
57
|
+
|
|
58
|
+
## Presenting Traceability Findings
|
|
59
|
+
|
|
60
|
+
After completing your review:
|
|
61
|
+
|
|
62
|
+
1. **Create the tracking file** — Write all findings to `{topic}-review-traceability-tracking.md`
|
|
63
|
+
2. **Commit the tracking file** — Ensures it survives context refresh
|
|
64
|
+
3. **Present findings** in two stages:
|
|
65
|
+
|
|
66
|
+
**Stage 1: Summary**
|
|
67
|
+
|
|
68
|
+
> "I've completed the traceability review comparing the plan against the specification. I found [N] items:
|
|
69
|
+
>
|
|
70
|
+
> 1. **[Brief title]** (Missing from plan | Hallucinated | Incomplete)
|
|
71
|
+
> [2-4 line explanation: what's wrong, where in the spec/plan, why it matters]
|
|
72
|
+
>
|
|
73
|
+
> 2. **[Brief title]** (Missing from plan | Hallucinated | Incomplete)
|
|
74
|
+
> [2-4 line explanation]
|
|
75
|
+
>
|
|
76
|
+
> Let's work through these one at a time, starting with #1."
|
|
77
|
+
|
|
78
|
+
**Stage 2: Process One Item at a Time**
|
|
79
|
+
|
|
80
|
+
Work through each finding **one at a time**. For each finding: present it, propose the fix, wait for approval, then apply it verbatim.
|
|
81
|
+
|
|
82
|
+
### Present the Finding
|
|
83
|
+
|
|
84
|
+
Show the finding with full detail:
|
|
85
|
+
|
|
86
|
+
> **Finding {N} of {total}: {Brief Title}**
|
|
87
|
+
>
|
|
88
|
+
> **Type**: Missing from plan | Hallucinated content | Incomplete coverage
|
|
89
|
+
>
|
|
90
|
+
> **Spec Reference**: [Section/decision in the specification]
|
|
91
|
+
>
|
|
92
|
+
> **Plan Reference**: [Phase/task in the plan, or "N/A" for missing content]
|
|
93
|
+
>
|
|
94
|
+
> **Details**: [What's wrong and why it matters]
|
|
95
|
+
|
|
96
|
+
### Propose the Fix
|
|
97
|
+
|
|
98
|
+
Present the proposed fix **in the format it will be written to the plan**. What the user sees is what gets applied — no changes between approval and writing.
|
|
99
|
+
|
|
100
|
+
State the action type explicitly so the user knows what's changing structurally:
|
|
101
|
+
|
|
102
|
+
**Update a task** — change content within an existing task:
|
|
103
|
+
|
|
104
|
+
> **Proposed fix — update Phase {N}, Task {M}:**
|
|
105
|
+
>
|
|
106
|
+
> **Current:**
|
|
107
|
+
> [The existing content as it appears in the plan]
|
|
108
|
+
>
|
|
109
|
+
> **Proposed:**
|
|
110
|
+
> [The replacement content]
|
|
111
|
+
|
|
112
|
+
**Add content to a task** — insert into an existing task (e.g., missing acceptance criteria, edge case):
|
|
113
|
+
|
|
114
|
+
> **Proposed fix — add to Phase {N}, Task {M}, {section}:**
|
|
115
|
+
>
|
|
116
|
+
> [The exact content to be added, in plan format]
|
|
117
|
+
|
|
118
|
+
**Remove content from a task** — strip content that shouldn't be there:
|
|
119
|
+
|
|
120
|
+
> **Proposed fix — remove from Phase {N}, Task {M}, {section}:**
|
|
121
|
+
>
|
|
122
|
+
> [The exact content to be removed]
|
|
123
|
+
|
|
124
|
+
**Add a new task** — a spec section has no plan coverage and needs its own task:
|
|
125
|
+
|
|
126
|
+
> **Proposed fix — add new task to Phase {N}:**
|
|
127
|
+
>
|
|
128
|
+
> [The complete task in plan format, using the task template]
|
|
129
|
+
|
|
130
|
+
**Remove a task** — an entire task is hallucinated with no spec backing:
|
|
131
|
+
|
|
132
|
+
> **Proposed fix — remove Phase {N}, Task {M}: {Task Name}**
|
|
133
|
+
>
|
|
134
|
+
> **Reason**: [Why this task has no specification basis]
|
|
135
|
+
|
|
136
|
+
**Add a new phase** — a significant area of the specification has no plan coverage:
|
|
137
|
+
|
|
138
|
+
> **Proposed fix — add new Phase {N}: {Phase Name}**
|
|
139
|
+
>
|
|
140
|
+
> [Phase goal, acceptance criteria, and task overview]
|
|
141
|
+
|
|
142
|
+
**Remove a phase** — an entire phase is not backed by the specification:
|
|
143
|
+
|
|
144
|
+
> **Proposed fix — remove Phase {N}: {Phase Name}**
|
|
145
|
+
>
|
|
146
|
+
> **Reason**: [Why this phase has no specification basis]
|
|
147
|
+
|
|
148
|
+
After presenting the finding and proposed fix, ask:
|
|
149
|
+
|
|
150
|
+
> **Finding {N} of {total}: {Brief Title}**
|
|
151
|
+
>
|
|
152
|
+
> **To proceed, choose one:**
|
|
153
|
+
> - **"Approve"** — Fix is confirmed. I'll apply it to the plan verbatim.
|
|
154
|
+
> - **"Adjust"** — Tell me what to change about the proposed fix.
|
|
155
|
+
> - **"Skip"** — Leave this as-is and move to the next finding.
|
|
156
|
+
|
|
157
|
+
**STOP.** Wait for the user's response.
|
|
158
|
+
|
|
159
|
+
### If Adjust
|
|
160
|
+
|
|
161
|
+
The user may:
|
|
162
|
+
- Request changes to the proposed fix
|
|
163
|
+
- Ask questions about why this was flagged
|
|
164
|
+
- Suggest a different approach to resolving the finding
|
|
165
|
+
|
|
166
|
+
Incorporate feedback and re-present the proposed fix **in full** using the same format above. Then ask the same choice again. Repeat until approved or skipped.
|
|
167
|
+
|
|
168
|
+
### If Approved
|
|
169
|
+
|
|
170
|
+
Apply the fix to the plan — as presented, using the output format adapter to determine how it's written. Do not modify content between approval and writing. Then update the tracking file: mark resolution as "Fixed", add any discussion notes.
|
|
171
|
+
|
|
172
|
+
Confirm:
|
|
173
|
+
|
|
174
|
+
> "Finding {N} of {total}: {Brief Title} — fixed."
|
|
175
|
+
|
|
176
|
+
### If Skipped
|
|
177
|
+
|
|
178
|
+
Update the tracking file: mark resolution as "Skipped", note the reason.
|
|
179
|
+
|
|
180
|
+
> "Finding {N} of {total}: {Brief Title} — skipped."
|
|
181
|
+
|
|
182
|
+
### Next Finding
|
|
183
|
+
|
|
184
|
+
Commit the tracking file (and any plan changes) before moving on. This ensures progress survives context refresh or session interruption.
|
|
185
|
+
|
|
186
|
+
**If findings remain:** → Present the next finding. Follow the same present → propose → ask → apply sequence.
|
|
187
|
+
|
|
188
|
+
**If all findings are processed:**
|
|
189
|
+
|
|
190
|
+
**Delete the traceability tracking file** (`{topic}-review-traceability-tracking.md`) — it has served its purpose.
|
|
191
|
+
|
|
192
|
+
Inform the user the traceability review is complete.
|
|
193
|
+
|
|
194
|
+
→ Return to **[plan-review.md](plan-review.md)** for the integrity review.
|