@leeovery/claude-technical-workflows 2.1.27 → 2.1.28

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 (75) hide show
  1. package/README.md +90 -92
  2. package/agents/implementation-analysis-task-writer.md +1 -1
  3. package/agents/planning-review-integrity.md +71 -0
  4. package/agents/planning-review-traceability.md +74 -0
  5. package/package.json +1 -1
  6. package/skills/link-dependencies/SKILL.md +3 -3
  7. package/skills/migrate/scripts/migrations/002-specification-frontmatter.sh +5 -0
  8. package/skills/migrate/scripts/migrations/003-planning-frontmatter.sh +5 -0
  9. package/skills/migrate/scripts/migrations/004-sources-object-format.sh +5 -0
  10. package/skills/migrate/scripts/migrations/005-plan-external-deps-frontmatter.sh +5 -0
  11. package/skills/migrate/scripts/migrations/006-directory-restructure.sh +167 -0
  12. package/skills/migrate/scripts/migrations/007-tasks-subdirectory.sh +86 -0
  13. package/skills/start-discussion/references/handle-selection.md +8 -0
  14. package/skills/start-feature/SKILL.md +2 -2
  15. package/skills/start-implementation/SKILL.md +1 -3
  16. package/skills/start-implementation/scripts/discovery.sh +7 -7
  17. package/skills/start-planning/references/invoke-skill.md +3 -3
  18. package/skills/start-planning/scripts/discovery.sh +8 -8
  19. package/skills/start-review/references/invoke-skill.md +3 -3
  20. package/skills/start-review/scripts/discovery.sh +3 -3
  21. package/skills/start-specification/references/confirm-continue.md +3 -3
  22. package/skills/start-specification/references/confirm-create.md +3 -3
  23. package/skills/start-specification/references/confirm-refine.md +1 -1
  24. package/skills/start-specification/references/confirm-unify.md +4 -4
  25. package/skills/start-specification/references/handoffs/continue-concluded.md +3 -1
  26. package/skills/start-specification/references/handoffs/continue.md +3 -1
  27. package/skills/start-specification/references/handoffs/create-with-incorporation.md +2 -2
  28. package/skills/start-specification/references/handoffs/create.md +1 -1
  29. package/skills/start-specification/references/handoffs/unify-with-incorporation.md +3 -3
  30. package/skills/start-specification/references/handoffs/unify.md +1 -1
  31. package/skills/start-specification/scripts/discovery.sh +6 -6
  32. package/skills/status/scripts/discovery.sh +7 -7
  33. package/skills/technical-discussion/SKILL.md +46 -8
  34. package/skills/technical-implementation/SKILL.md +66 -20
  35. package/skills/technical-implementation/references/{steps/analysis-loop.md → analysis-loop.md} +1 -1
  36. package/skills/technical-implementation/references/{steps/invoke-analysis.md → invoke-analysis.md} +5 -5
  37. package/skills/technical-implementation/references/{steps/invoke-executor.md → invoke-executor.md} +5 -5
  38. package/skills/technical-implementation/references/{steps/invoke-reviewer.md → invoke-reviewer.md} +2 -2
  39. package/skills/technical-implementation/references/{steps/invoke-synthesizer.md → invoke-synthesizer.md} +3 -3
  40. package/skills/technical-implementation/references/{steps/invoke-task-writer.md → invoke-task-writer.md} +4 -4
  41. package/skills/technical-implementation/references/{steps/task-loop.md → task-loop.md} +45 -38
  42. package/skills/technical-planning/SKILL.md +64 -22
  43. package/skills/technical-planning/references/{steps/analyze-task-graph.md → analyze-task-graph.md} +33 -16
  44. package/skills/technical-planning/references/author-tasks.md +100 -0
  45. package/skills/technical-planning/references/{steps/define-phases.md → define-phases.md} +15 -9
  46. package/skills/technical-planning/references/{steps/define-tasks.md → define-tasks.md} +10 -6
  47. package/skills/technical-planning/references/invoke-review-integrity.md +36 -0
  48. package/skills/technical-planning/references/invoke-review-traceability.md +37 -0
  49. package/skills/technical-planning/references/output-formats/local-markdown/about.md +6 -4
  50. package/skills/technical-planning/references/output-formats/local-markdown/authoring.md +3 -3
  51. package/skills/technical-planning/references/output-formats/local-markdown/reading.md +3 -3
  52. package/skills/technical-planning/references/output-formats/local-markdown/updating.md +1 -1
  53. package/skills/technical-planning/references/output-formats/tick/about.md +68 -0
  54. package/skills/technical-planning/references/output-formats/tick/authoring.md +106 -0
  55. package/skills/technical-planning/references/output-formats/tick/graph.md +62 -0
  56. package/skills/technical-planning/references/output-formats/tick/reading.md +61 -0
  57. package/skills/technical-planning/references/output-formats/tick/updating.md +25 -0
  58. package/skills/technical-planning/references/output-formats.md +11 -0
  59. package/skills/technical-planning/references/{steps/plan-construction.md → plan-construction.md} +33 -9
  60. package/skills/technical-planning/references/plan-review.md +122 -0
  61. package/skills/technical-planning/references/process-review-findings.md +171 -0
  62. package/skills/technical-planning/references/{steps/resolve-dependencies.md → resolve-dependencies.md} +18 -12
  63. package/skills/technical-planning/references/review-integrity.md +127 -0
  64. package/skills/technical-planning/references/review-traceability.md +105 -0
  65. package/skills/technical-planning/references/task-design.md +1 -1
  66. package/skills/technical-planning/references/{steps/verify-source-material.md → verify-source-material.md} +3 -3
  67. package/skills/technical-research/SKILL.md +20 -4
  68. package/skills/technical-review/SKILL.md +21 -4
  69. package/skills/technical-specification/SKILL.md +34 -8
  70. package/skills/technical-specification/references/specification-guide.md +228 -56
  71. package/skills/view-plan/SKILL.md +1 -1
  72. package/skills/technical-planning/references/steps/author-tasks.md +0 -72
  73. package/skills/technical-planning/references/steps/plan-review.md +0 -94
  74. package/skills/technical-planning/references/steps/review-integrity.md +0 -222
  75. package/skills/technical-planning/references/steps/review-traceability.md +0 -200
@@ -0,0 +1,171 @@
1
+ # Process Review Findings
2
+
3
+ *Reference for **[plan-review](plan-review.md)***
4
+
5
+ ---
6
+
7
+ Process findings from a review agent interactively with the user. The agent writes findings — with full fix content — to a tracking file. Read the tracking file and present each finding for approval.
8
+
9
+ **Review type**: `{review_type:[traceability|integrity]}` — set by the calling context (B or C in plan-review.md).
10
+
11
+ #### If STATUS is `clean`
12
+
13
+ > *Output the next fenced block as a code block:*
14
+
15
+ ```
16
+ {Review type} review complete — no findings.
17
+ ```
18
+
19
+ → Return to **[plan-review.md](plan-review.md)** for the next phase.
20
+
21
+ #### If STATUS is `findings`
22
+
23
+ Read the tracking file at the path returned by the agent (`TRACKING_FILE`).
24
+
25
+ → Proceed to **A. Summary**.
26
+
27
+ ---
28
+
29
+ ## A. Summary
30
+
31
+ > *Output the next fenced block as a code block:*
32
+
33
+ ```
34
+ {Review type} Review — {N} items found
35
+
36
+ 1. {title} ({type or severity}) — {change_type}
37
+ {1-2 line summary from the Details field}
38
+
39
+ 2. ...
40
+ ```
41
+
42
+ > *Output the next fenced block as a code block:*
43
+
44
+ ```
45
+ Let's work through these one at a time, starting with #1.
46
+ ```
47
+
48
+ → Proceed to **B. Process One Item at a Time**.
49
+
50
+ ---
51
+
52
+ ## B. Process One Item at a Time
53
+
54
+ Work through each finding **sequentially**. For each finding: present it, show the proposed fix, then route through the gate.
55
+
56
+ ### Present Finding
57
+
58
+ Show the finding with its full fix content, read directly from the tracking file.
59
+
60
+ > *Output the next fenced block as markdown (not a code block):*
61
+
62
+ ```
63
+ **Finding {N} of {total}: {Brief Title}**
64
+
65
+ @if(review_type = traceability)
66
+ - **Type**: Missing from plan | Hallucinated content | Incomplete coverage
67
+ - **Spec Reference**: {from tracking file}
68
+ - **Plan Reference**: {from tracking file}
69
+ - **Change Type**: {from tracking file}
70
+ @else
71
+ - **Severity**: Critical | Important | Minor
72
+ - **Plan Reference**: {from tracking file}
73
+ - **Category**: {from tracking file}
74
+ - **Change Type**: {from tracking file}
75
+ @endif
76
+
77
+ **Details**: {from tracking file}
78
+
79
+ **Current**:
80
+ {from tracking file — the existing plan content}
81
+
82
+ **Proposed**:
83
+ {from tracking file — the replacement content}
84
+ ```
85
+
86
+ ### Check Gate Mode
87
+
88
+ Check `finding_gate_mode` in the Plan Index File frontmatter.
89
+
90
+ #### If `finding_gate_mode: auto`
91
+
92
+ 1. Apply the fix to the plan (use **Proposed** content exactly as in tracking file)
93
+ 2. Update the tracking file: set resolution to "Fixed"
94
+ 3. Commit the tracking file and plan changes
95
+
96
+ > *Output the next fenced block as a code block:*
97
+
98
+ ```
99
+ Finding {N} of {total}: {Brief Title} — approved. Applied to plan.
100
+ ```
101
+
102
+ → Present the next pending finding, or proceed to **C. After All Findings Processed**.
103
+
104
+ #### If `finding_gate_mode: gated`
105
+
106
+ > *Output the next fenced block as markdown (not a code block):*
107
+
108
+ ```
109
+ · · · · · · · · · · · ·
110
+ **Finding {N} of {total}: {Brief Title}**
111
+ - **`y`/`yes`** — Approved. Apply to the plan verbatim.
112
+ - **`a`/`auto`** — Approve this and all remaining findings automatically
113
+ - **`s`/`skip`** — Leave as-is, move to next finding.
114
+ - **Or provide feedback** to adjust the fix.
115
+ · · · · · · · · · · · ·
116
+ ```
117
+
118
+ **STOP.** Wait for user response.
119
+
120
+ #### If the user provides feedback
121
+
122
+ Incorporate feedback and re-present the proposed fix **in full**. Update the tracking file with the revised content. Then ask the same choice again. Repeat until approved or skipped.
123
+
124
+ #### If approved
125
+
126
+ 1. Apply the fix to the plan — use the **Proposed** content exactly as shown, using the output format adapter to determine how it's written. Do not modify content between approval and writing.
127
+ 2. Update the tracking file: set resolution to "Fixed", add any discussion notes.
128
+ 3. Commit the tracking file and any plan changes — ensures progress survives context refresh.
129
+ 4. > *Output the next fenced block as a code block:*
130
+
131
+ ```
132
+ Finding {N} of {total}: {Brief Title} — fixed.
133
+ ```
134
+
135
+ → Present the next pending finding, or proceed to **C. After All Findings Processed**.
136
+
137
+ #### If `auto`
138
+
139
+ 1. Apply the fix (same as "If approved" above)
140
+ 2. Update the tracking file: set resolution to "Fixed"
141
+ 3. Update `finding_gate_mode: auto` in the Plan Index File frontmatter
142
+ 4. Commit
143
+ 5. Process all remaining findings using the auto-mode flow above
144
+
145
+ → After all processed, proceed to **C. After All Findings Processed**.
146
+
147
+ #### If skipped
148
+
149
+ 1. Update the tracking file: set resolution to "Skipped", note the reason.
150
+ 2. Commit the tracking file — ensures progress survives context refresh.
151
+ 3. > *Output the next fenced block as a code block:*
152
+
153
+ ```
154
+ Finding {N} of {total}: {Brief Title} — skipped.
155
+ ```
156
+
157
+ → Present the next pending finding, or proceed to **C. After All Findings Processed**.
158
+
159
+ ---
160
+
161
+ ## C. After All Findings Processed
162
+
163
+ 1. **Mark the tracking file as complete** — Set `status: complete`.
164
+ 2. **Commit** the tracking file and any plan changes.
165
+ 3. > *Output the next fenced block as a code block:*
166
+
167
+ ```
168
+ {Review type} review complete — {N} findings processed.
169
+ ```
170
+
171
+ → Return to **[plan-review.md](plan-review.md)** for the next phase.
@@ -1,28 +1,32 @@
1
1
  # Resolve External Dependencies
2
2
 
3
- *Reference for **[technical-planning](../../SKILL.md)***
3
+ *Reference for **[technical-planning](../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
7
- Orient the user:
7
+ > *Output the next fenced block as a code block:*
8
8
 
9
- "All phases and tasks are written. Now I'll check for external dependencies — things this plan needs from other topics or systems."
9
+ ```
10
+ All phases and tasks are written. Now I'll check for external
11
+ dependencies — things this plan needs from other topics or systems.
12
+ ```
10
13
 
11
- After all phases are detailed and written, handle external dependencies — things this plan needs from other topics or systems.
14
+ Handle external dependencies — things this plan needs from other topics or systems.
12
15
 
13
- Dependencies are stored in the plan's **frontmatter** as `external_dependencies`. See [dependencies.md](../dependencies.md) for the format and states.
16
+ Dependencies are stored in the plan's **frontmatter** as `external_dependencies`. See [dependencies.md](dependencies.md) for the format and states.
14
17
 
15
18
  #### If the specification has a Dependencies section
16
19
 
17
20
  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.
18
21
 
19
- 1. **Document each dependency** in the plan's `external_dependencies` frontmatter field using the format described in [dependencies.md](../dependencies.md). Initially, record each as `state: unresolved`.
22
+ 1. **Document each dependency** in the plan's `external_dependencies` frontmatter field using the format described in [dependencies.md](dependencies.md). Initially, record each as `state: unresolved`.
20
23
 
21
24
  2. **Resolve where possible** — For each dependency, check whether a plan already exists for that topic:
22
25
  - 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 `state: unresolved` → `state: resolved` with the `task_id`.
23
26
  - If no plan exists, leave the dependency as `state: unresolved`. It will be linked later via `/link-dependencies` or when that topic is planned.
27
+ - If no other plans exist at all, skip resolution — there is nothing to resolve against. All dependencies remain unresolved.
24
28
 
25
- 3. **Reverse check** — Check whether any existing plans have unresolved dependencies in their `external_dependencies` frontmatter that reference *this* topic. Now that this plan exists with specific tasks:
29
+ 3. **Reverse check** — If other plans exist, check whether any have unresolved dependencies in their `external_dependencies` frontmatter that reference *this* topic. Now that this plan exists with specific tasks:
26
30
  - Scan other plan files' `external_dependencies` for entries that mention this topic
27
31
  - For each match, identify which task(s) in the current plan satisfy that dependency
28
32
  - Update the other plan's `external_dependencies` entry with the task reference (`state: resolved`, `task_id`)
@@ -37,24 +41,26 @@ external_dependencies: []
37
41
 
38
42
  This makes it clear that dependencies were considered and none exist — not that they were overlooked.
39
43
 
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`.
44
+ ---
43
45
 
44
- **STOP.** Present a summary of the dependency state: what was documented, what was resolved, what remains unresolved, and any reverse resolutions made.
46
+ Present a summary of the dependency state: what was documented, what was resolved, what remains unresolved, and any reverse resolutions made.
45
47
 
46
48
  > *Output the next fenced block as markdown (not a code block):*
47
49
 
48
50
  ```
49
51
  · · · · · · · · · · · ·
50
52
  **To proceed:**
51
- - **`y`/`yes`** — Approved. I'll proceed to plan review.
53
+ - **`y`/`yes`** — Approved.
52
54
  - **Or tell me what to change.**
53
55
  · · · · · · · · · · · ·
54
56
  ```
55
57
 
58
+ **STOP.** Wait for the user's response.
59
+
56
60
  #### If the user provides feedback
57
61
 
58
62
  Incorporate feedback, re-present the updated dependency state, and ask again. Repeat until approved.
59
63
 
60
64
  #### If approved
65
+
66
+ Commit: `planning({topic}): resolve external dependencies`
@@ -0,0 +1,127 @@
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
+ - Task dependencies are explicit and correct — each dependency reflects a genuine data or capability requirement
48
+ - No circular dependencies exist in the task graph
49
+ - Priority assignments reflect graph position — foundation tasks and tasks that unblock others are prioritised appropriately
50
+ - An implementer can determine execution order from the dependency graph and priorities alone
51
+
52
+ 5. **Task Self-Containment**
53
+ - Each task contains all context needed for execution
54
+ - No task requires reading other tasks to understand what to do
55
+ - Relevant specification decisions are pulled into task context
56
+ - An implementer could pick up any single task and execute it
57
+
58
+ 6. **Scope and Granularity**
59
+ - Each task is one TDD cycle (not too large, not too small)
60
+ - No task requires multiple unrelated implementation steps
61
+ - No task is so granular it's just mechanical boilerplate
62
+
63
+ 7. **Acceptance Criteria Quality**
64
+ - Criteria are pass/fail, not subjective
65
+ - Criteria cover the actual requirement, not just "code exists"
66
+ - Edge case criteria are specific about boundary values and behaviors
67
+ - No criteria that an implementer would have to interpret
68
+
69
+ 8. **External Dependencies**
70
+ - All external dependencies from the specification are documented in the plan
71
+ - Dependencies are in the correct state (resolved/unresolved)
72
+ - No external dependencies were missed or invented
73
+
74
+ ---
75
+
76
+ ## Tracking File
77
+
78
+ After completing the analysis, create a tracking file at `docs/workflow/planning/{topic}/review-integrity-tracking-c{N}.md` (where N is the current review cycle).
79
+
80
+ Categorize each finding by severity:
81
+
82
+ - **Critical**: Would block implementation or cause incorrect behavior
83
+ - **Important**: Would force implementer to guess or make design decisions
84
+ - **Minor**: Polish or improvement that strengthens the plan
85
+
86
+ Tracking files are **never deleted**. After all findings are processed, the orchestrator marks `status: complete`. Previous cycles' files persist as review history.
87
+
88
+ **Format**:
89
+ ```markdown
90
+ ---
91
+ status: in-progress
92
+ created: YYYY-MM-DD # Use today's actual date
93
+ cycle: {N}
94
+ phase: Plan Integrity Review
95
+ topic: {Topic Name}
96
+ ---
97
+
98
+ # Review Tracking: {Topic Name} - Integrity
99
+
100
+ ## Findings
101
+
102
+ ### 1. [Brief Title]
103
+
104
+ **Severity**: Critical | Important | Minor
105
+ **Plan Reference**: [Phase/task in plan]
106
+ **Category**: [Which review criterion — e.g., "Task Template Compliance", "Vertical Slicing"]
107
+ **Change Type**: [update-task | add-to-task | remove-from-task | add-task | remove-task | add-phase | remove-phase]
108
+
109
+ **Details**:
110
+ [What the issue is and why it matters for implementation]
111
+
112
+ **Current**:
113
+ [The existing content as it appears in the plan — omit for add-task/add-phase]
114
+
115
+ **Proposed**:
116
+ [The replacement/new content in full plan format — omit for remove-task/remove-phase]
117
+
118
+ **Resolution**: Pending
119
+ **Notes**:
120
+
121
+ ---
122
+
123
+ ### 2. [Next Finding]
124
+ ...
125
+ ```
126
+
127
+ Commit the tracking file after creation: `planning({topic}): integrity review cycle {N}`
@@ -0,0 +1,105 @@
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
+ ---
59
+
60
+ ## Tracking File
61
+
62
+ After completing the analysis, create a tracking file at `docs/workflow/planning/{topic}/review-traceability-tracking-c{N}.md` (where N is the current review cycle).
63
+
64
+ Tracking files are **never deleted**. After all findings are processed, the orchestrator marks `status: complete`. Previous cycles' files persist as review history.
65
+
66
+ **Format**:
67
+ ```markdown
68
+ ---
69
+ status: in-progress
70
+ created: YYYY-MM-DD # Use today's actual date
71
+ cycle: {N}
72
+ phase: Traceability Review
73
+ topic: {Topic Name}
74
+ ---
75
+
76
+ # Review Tracking: {Topic Name} - Traceability
77
+
78
+ ## Findings
79
+
80
+ ### 1. [Brief Title]
81
+
82
+ **Type**: Missing from plan | Hallucinated content | Incomplete coverage
83
+ **Spec Reference**: [Section/decision in specification, or "N/A"]
84
+ **Plan Reference**: [Phase/task in plan, or "N/A" for missing content]
85
+ **Change Type**: [update-task | add-to-task | remove-from-task | add-task | remove-task | add-phase | remove-phase]
86
+
87
+ **Details**:
88
+ [What was found and why it matters]
89
+
90
+ **Current**:
91
+ [The existing content as it appears in the plan — omit for add-task/add-phase]
92
+
93
+ **Proposed**:
94
+ [The replacement/new content in full plan format — omit for remove-task/remove-phase]
95
+
96
+ **Resolution**: Pending
97
+ **Notes**:
98
+
99
+ ---
100
+
101
+ ### 2. [Next Finding]
102
+ ...
103
+ ```
104
+
105
+ Commit the tracking file after creation: `planning({topic}): traceability review cycle {N}`
@@ -140,7 +140,7 @@ Every task should follow this structure:
140
140
  > Relevant details from specification: code examples, architectural decisions,
141
141
  > data models, or constraints that inform implementation.
142
142
 
143
- **Spec Reference**: `docs/workflow/specification/{topic}.md` (if specification was provided)
143
+ **Spec Reference**: `docs/workflow/specification/{topic}/specification.md` (if specification was provided)
144
144
  ```
145
145
 
146
146
  ### Field Requirements
@@ -1,6 +1,6 @@
1
1
  # Verify Source Material
2
2
 
3
- *Reference for **[technical-planning](../../SKILL.md)***
3
+ *Reference for **[technical-planning](../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
@@ -15,6 +15,6 @@ Verify that all source material exists and is accessible before entering agent-d
15
15
  ### Example
16
16
 
17
17
  ```bash
18
- ls docs/workflow/specification/{topic}.md
19
- ls docs/workflow/specification/{cross-cutting-spec}.md
18
+ ls docs/workflow/specification/{topic}/specification.md
19
+ ls docs/workflow/specification/{cross-cutting-spec}/specification.md
20
20
  ```
@@ -23,11 +23,27 @@ Either way: Explore feasibility (technical, business, market), validate assumpti
23
23
 
24
24
  **Before proceeding**, confirm the required input is clear. If anything is missing or unclear, **STOP** and resolve with the user.
25
25
 
26
- - **No topic provided?**
27
- "What would you like to research or explore? This could be a new idea, a technical concept, a market opportunity — anything you want to investigate."
26
+ #### If no topic provided
28
27
 
29
- - **Topic is vague or could go many directions?**
30
- "You mentioned {topic}. That could cover a lot of ground — is there a specific angle you'd like to start with, or should I explore broadly?"
28
+ > *Output the next fenced block as a code block:*
29
+
30
+ ```
31
+ What would you like to research or explore? This could be a new idea, a
32
+ technical concept, a market opportunity — anything you want to investigate.
33
+ ```
34
+
35
+ **STOP.** Wait for user response.
36
+
37
+ #### If topic is vague or could go many directions
38
+
39
+ > *Output the next fenced block as a code block:*
40
+
41
+ ```
42
+ You mentioned {topic}. That could cover a lot of ground — is there a specific
43
+ angle you'd like to start with, or should I explore broadly?
44
+ ```
45
+
46
+ **STOP.** Wait for user response.
31
47
 
32
48
  ---
33
49
 
@@ -24,11 +24,28 @@ Either way: Verify plan tasks were implemented, tested adequately, and meet qual
24
24
 
25
25
  **Before proceeding**, verify the required input is available. If anything is missing, **STOP** — do not proceed until resolved.
26
26
 
27
- - **No plan provided?**
28
- > "I need the implementation plan to review against. Could you point me to the plan file (e.g., `docs/workflow/planning/{topic}.md`)?"
27
+ #### If no plan provided
29
28
 
30
- - **Plan references a specification that can't be found?**
31
- > "The plan references a specification but I can't locate it at the expected path. Could you confirm where the specification is? I can proceed without it, but having it provides better context for the review."
29
+ > *Output the next fenced block as a code block:*
30
+
31
+ ```
32
+ I need the implementation plan to review against. Could you point me to the
33
+ plan file (e.g., docs/workflow/planning/{topic}/plan.md)?
34
+ ```
35
+
36
+ **STOP.** Wait for user response.
37
+
38
+ #### If plan references a specification that can't be found
39
+
40
+ > *Output the next fenced block as a code block:*
41
+
42
+ ```
43
+ The plan references a specification but I can't locate it at the expected path.
44
+ Could you confirm where the specification is? I can proceed without it, but
45
+ having it provides better context for the review.
46
+ ```
47
+
48
+ **STOP.** Wait for user response.
32
49
 
33
50
  The specification is optional — the review can proceed with just the plan.
34
51
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: technical-specification
3
- description: "Build validated specifications from source material through collaborative refinement. Use when: (1) User asks to create/build a specification from source material, (2) User wants to validate and refine content before planning, (3) Converting source material (discussions, research, requirements) into standalone specifications, (4) User says 'specify this' or 'create a spec', (5) Need to filter hallucinations and enrich gaps before formal planning. Creates specifications in docs/workflow/specification/{topic}.md that can be used to build implementation plans."
3
+ description: "Build validated specifications from source material through collaborative refinement. Use when: (1) User asks to create/build a specification from source material, (2) User wants to validate and refine content before planning, (3) Converting source material (discussions, research, requirements) into standalone specifications, (4) User says 'specify this' or 'create a spec', (5) Need to filter hallucinations and enrich gaps before formal planning. Creates specifications in docs/workflow/specification/{topic}/specification.md that can be used to build implementation plans."
4
4
  user-invocable: false
5
5
  ---
6
6
 
@@ -29,14 +29,39 @@ Either way: Transform unvalidated reference material into a specification that's
29
29
 
30
30
  **Before proceeding**, verify all required inputs are available and unambiguous. If anything is missing or unclear, **STOP** — do not proceed until resolved.
31
31
 
32
- - **No source material provided?**
33
- > "I need source material to build a specification from. Could you point me to the source files (e.g., `docs/workflow/discussion/{topic}.md`), or provide the content directly?"
32
+ #### If no source material provided
34
33
 
35
- - **No topic name provided?**
36
- > "What should the specification be named? This determines the output file: `docs/workflow/specification/{name}.md`."
34
+ > *Output the next fenced block as a code block:*
37
35
 
38
- - **Source material seems incomplete or unclear?**
39
- > "I have the source material, but {concern}. Should I proceed as-is, or is there additional material I should review?"
36
+ ```
37
+ I need source material to build a specification from. Could you point me to the
38
+ source files (e.g., docs/workflow/discussion/{topic}.md), or provide the content
39
+ directly?
40
+ ```
41
+
42
+ **STOP.** Wait for user response.
43
+
44
+ #### If no topic name provided
45
+
46
+ > *Output the next fenced block as a code block:*
47
+
48
+ ```
49
+ What should the specification be named? This determines the output file:
50
+ docs/workflow/specification/{name}/specification.md
51
+ ```
52
+
53
+ **STOP.** Wait for user response.
54
+
55
+ #### If source material seems incomplete or unclear
56
+
57
+ > *Output the next fenced block as a code block:*
58
+
59
+ ```
60
+ I have the source material, but {concern}. Should I proceed as-is, or is there
61
+ additional material I should review?
62
+ ```
63
+
64
+ **STOP.** Wait for user response.
40
65
 
41
66
  **Multiple sources:** When multiple sources are provided, extract exhaustively from ALL of them. Content may be scattered across sources - a decision in one may have constraints or details in another. The specification consolidates everything into a single standalone document.
42
67
 
@@ -50,6 +75,7 @@ Context refresh (compaction) summarizes the conversation, losing procedural deta
50
75
  2. **Read all tracking and state files** for the current topic — plan index files, review tracking files, implementation tracking files, or any working documents this skill creates. These are your source of truth for progress.
51
76
  3. **Check git state.** Run `git status` and `git log --oneline -10` to see recent commits. Commit messages follow a conventional pattern that reveals what was completed.
52
77
  4. **Announce your position** to the user before continuing: what step you believe you're at, what's been completed, and what comes next. Wait for confirmation.
78
+ 5. **Check `finding_gate_mode`** in the specification frontmatter — if `auto`, the user previously opted in during this session. Preserve this value.
53
79
 
54
80
  Do not guess at progress or continue from memory. The files on disk and git history are authoritative — your recollection is not.
55
81
 
@@ -59,7 +85,7 @@ Do not guess at progress or continue from memory. The files on disk and git hist
59
85
 
60
86
  **Load**: [specification-guide.md](references/specification-guide.md)
61
87
 
62
- **Output**: `docs/workflow/specification/{topic}.md`
88
+ **Output**: `docs/workflow/specification/{topic}/specification.md`
63
89
 
64
90
  **When complete**: User signs off on the specification.
65
91