@leeovery/claude-technical-workflows 2.0.22 → 2.0.24

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.
@@ -74,7 +74,7 @@ Work from the inline context provided above.
74
74
 
75
75
  ## Notes
76
76
 
77
- - The specification skill will synthesize the inline context, present it for validation, and build the specification
77
+ - The specification skill contains instructions for synthesizing the inline context, presenting it for validation, and building the specification
78
78
  - Output is a standard specification file at `docs/workflow/specification/{topic}.md`
79
79
  - From there, the user can proceed to `/workflow:start-planning` as normal
80
80
  - This path skips formal discussion documentation - use the full workflow for complex features that need debate captured
@@ -300,40 +300,34 @@ What would you like to focus on in this session?
300
300
 
301
301
  Wait for response before proceeding.
302
302
 
303
- ## Step 5: Invoke Discussion Skill
303
+ ## Step 5: Invoke the Skill
304
304
 
305
- Begin the discussion session with appropriate context based on the path taken.
305
+ After completing the steps above, this command's purpose is fulfilled.
306
306
 
307
- **If from research:**
307
+ Invoke the [technical-discussion](../skills/technical-discussion/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
308
+
309
+ **Example handoff (from research):**
308
310
  ```
309
311
  Discussion session for: {topic}
310
312
  Output: docs/workflow/discussion/{topic}.md
311
313
 
312
- ## Research Reference
314
+ Research reference:
313
315
  Source: docs/workflow/research/{filename}.md (lines {start}-{end})
314
316
  Summary: {the 1-2 sentence summary from Step 3A}
315
317
 
316
- Begin discussion using the technical-discussion skill.
318
+ Invoke the technical-discussion skill.
317
319
  ```
318
320
 
319
- **If continuing or fresh:**
321
+ **Example handoff (continuing or fresh):**
320
322
  ```
321
323
  Discussion session for: {topic}
322
324
  Source: {existing discussion | fresh}
323
325
  Output: docs/workflow/discussion/{topic}.md
324
326
 
325
- Begin discussion using the technical-discussion skill.
327
+ Invoke the technical-discussion skill.
326
328
  ```
327
329
 
328
- **Setup:**
329
- - Ensure discussion directory exists: `docs/workflow/discussion/`
330
- - If new: Create file using the template structure
331
- - If continuing: Work with existing file
332
- - Commit frequently at natural discussion breaks
333
-
334
330
  ## Notes
335
331
 
336
332
  - Ask questions clearly and wait for responses before proceeding
337
333
  - Discussion captures WHAT and WHY - don't jump to specifications or implementation
338
- - The goal is to work through edge cases, debates, and decisions before planning
339
- - Commit the discussion document frequently during the session
@@ -127,7 +127,7 @@ Proceeding with environment setup...
127
127
 
128
128
  ## Step 4: Check Environment Setup
129
129
 
130
- > **IMPORTANT**: This step is for **information gathering only**. Do NOT execute any setup commands at this stage. The technical-implementation skill will handle execution when invoked.
130
+ > **IMPORTANT**: This step is for **information gathering only**. Do NOT execute any setup commands at this stage. Execution instructions are in the technical-implementation skill.
131
131
 
132
132
  After the user selects a plan:
133
133
 
@@ -157,31 +157,25 @@ If they choose a specific phase or task, ask them to specify which one.
157
157
 
158
158
  > **Note:** Do NOT verify that the phase or task exists. Accept the user's answer and pass it to the skill. Validation happens during the implementation phase.
159
159
 
160
- ## Step 6: Invoke Implementation Skill
160
+ ## Step 6: Invoke the Skill
161
161
 
162
- Invoke the **technical-implementation** skill for this conversation.
162
+ After completing the steps above, this command's purpose is fulfilled.
163
163
 
164
- Pass to the technical-implementation skill:
165
- - Plan: `docs/workflow/planning/{topic}.md`
166
- - Format: (from frontmatter)
167
- - Scope: (all phases | specific phase | specific task | next-available)
168
- - Dependencies: (all satisfied - verified in Step 3)
169
- - Environment setup: (completed | not needed)
164
+ Invoke the [technical-implementation](../skills/technical-implementation/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
170
165
 
171
166
  **Example handoff:**
172
167
  ```
173
168
  Implementation session for: {topic}
174
169
  Plan: docs/workflow/planning/{topic}.md
175
170
  Format: {format}
176
- Scope: All phases
171
+ Scope: {all phases | specific phase | specific task | next-available}
177
172
 
178
173
  Dependencies: All satisfied ✓
179
- Environment setup: Completed (or: Not needed)
174
+ Environment setup: {completed | not needed}
180
175
 
181
- Begin implementation using the technical-implementation skill.
176
+ Invoke the technical-implementation skill.
182
177
  ```
183
178
 
184
179
  ## Notes
185
180
 
186
181
  - Ask questions clearly and wait for responses before proceeding
187
- - Execute environment setup before starting implementation
@@ -88,24 +88,23 @@ Load **[output-formats.md](../skills/technical-planning/references/output-format
88
88
  - Any additional context or priorities to consider?
89
89
  - Any constraints since the specification was completed?
90
90
 
91
- ## Step 6: Invoke Planning Skill
91
+ ## Step 6: Invoke the Skill
92
92
 
93
- Pass to the technical-planning skill with:
94
- - Specification path
95
- - Output format chosen
96
- - Additional context gathered
93
+ After completing the steps above, this command's purpose is fulfilled.
94
+
95
+ Invoke the [technical-planning](../skills/technical-planning/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
97
96
 
98
97
  **Example handoff:**
99
98
  ```
100
99
  Planning session for: {topic}
101
100
  Specification: docs/workflow/specification/{topic}.md
102
101
  Output format: {format}
102
+ Additional context: {summary of user's answers from Step 5}
103
103
 
104
- Begin planning using the technical-planning skill.
104
+ Invoke the technical-planning skill.
105
105
  ```
106
106
 
107
107
  ## Notes
108
108
 
109
109
  - Ask questions clearly and wait for responses before proceeding
110
110
  - The specification is the sole source of truth for planning - do not reference discussions
111
- - Commit the plan files when complete
@@ -21,7 +21,9 @@ This is **Phase 1** of the six-phase workflow:
21
21
 
22
22
  ---
23
23
 
24
- Then ask these questions to kickstart the exploration:
24
+ ## Instructions
25
+
26
+ Ask these questions to gather context:
25
27
 
26
28
  1. **What's on your mind?**
27
29
  - What idea or topic do you want to explore?
@@ -35,4 +37,10 @@ Then ask these questions to kickstart the exploration:
35
37
  - Technical feasibility? Market landscape? Business model?
36
38
  - Or just talk it through and see where it goes?
37
39
 
38
- Ask these questions clearly and wait for responses before proceeding. The skill handles everything else.
40
+ Ask these questions clearly and wait for responses before proceeding.
41
+
42
+ ## Invoke the Skill
43
+
44
+ After completing the steps above, this command's purpose is fulfilled.
45
+
46
+ Invoke the [technical-research](../skills/technical-research/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
@@ -86,13 +86,11 @@ Check if a specification exists:
86
86
  2. **If exists**: Note the path for context
87
87
  3. **If missing**: Proceed without - the plan is the primary review artifact
88
88
 
89
- ## Step 6: Invoke Review Skill
89
+ ## Step 6: Invoke the Skill
90
90
 
91
- Pass to the technical-review skill:
92
- - Plan: `docs/workflow/planning/{topic}.md`
93
- - Format: (from frontmatter)
94
- - Specification: `docs/workflow/specification/{topic}.md` (if exists)
95
- - Implementation scope: (files/directories to review)
91
+ After completing the steps above, this command's purpose is fulfilled.
92
+
93
+ Invoke the [technical-review](../skills/technical-review/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
96
94
 
97
95
  **Example handoff:**
98
96
  ```
@@ -102,11 +100,10 @@ Format: {format}
102
100
  Specification: docs/workflow/specification/{topic}.md (or: Not available)
103
101
  Scope: {implementation scope}
104
102
 
105
- Begin review using the technical-review skill.
103
+ Invoke the technical-review skill.
106
104
  ```
107
105
 
108
106
  ## Notes
109
107
 
110
108
  - Ask questions clearly and wait for responses before proceeding
111
109
  - Review produces feedback (approve, request changes, or comments) - it does NOT fix code
112
- - Verify ALL plan tasks, don't sample
@@ -82,25 +82,23 @@ Ask:
82
82
  - Any constraints or changes since the discussion concluded?
83
83
  - Are there any existing partial plans or related documentation I should review?
84
84
 
85
- ## Step 5: Invoke Specification Skill
85
+ ## Step 5: Invoke the Skill
86
86
 
87
- Pass to the technical-specification skill:
88
- - Source: `docs/workflow/discussion/{topic}.md`
89
- - Output: `docs/workflow/specification/{topic}.md`
90
- - Additional context gathered
87
+ After completing the steps above, this command's purpose is fulfilled.
88
+
89
+ Invoke the [technical-specification](../skills/technical-specification/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
91
90
 
92
91
  **Example handoff:**
93
92
  ```
94
93
  Specification session for: {topic}
95
94
  Source: docs/workflow/discussion/{topic}.md
96
95
  Output: docs/workflow/specification/{topic}.md
96
+ Additional context: {summary of user's answers from Step 4}
97
97
 
98
- Begin specification using the technical-specification skill.
99
- Reference: specification-guide.md
98
+ Invoke the technical-specification skill.
100
99
  ```
101
100
 
102
101
  ## Notes
103
102
 
104
103
  - Ask questions clearly and wait for responses before proceeding
105
104
  - The specification phase validates and refines discussion content into a standalone document
106
- - Commit the specification files frequently during the session
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leeovery/claude-technical-workflows",
3
- "version": "2.0.22",
3
+ "version": "2.0.24",
4
4
  "description": "Technical workflow skills & commands for Claude Code",
5
5
  "license": "MIT",
6
6
  "author": "Lee Overy <me@leeovery.com>",
@@ -21,8 +21,8 @@ You're an AI - do both. Engage fully while documenting. Don't dumb down.
21
21
 
22
22
  1. **Discuss** - Participate
23
23
  2. **Document** - Capture
24
- 3. **Plan** - ❌ Not this skill's job
25
- 4. **Implement** - ❌ Not this skill's job
24
+ 3. **Plan** - ❌ Not covered here
25
+ 4. **Implement** - ❌ Not covered here
26
26
 
27
27
  Stop after documentation. No plans, implementation steps, or code.
28
28
 
@@ -15,7 +15,7 @@ This is a single file per topic.
15
15
  ```markdown
16
16
  # Discussion: {Topic}
17
17
 
18
- **Date**: YYYY-MM-DD
18
+ **Date**: YYYY-MM-DD *(use today's actual date)*
19
19
  **Status**: Exploring | Deciding | Concluded
20
20
 
21
21
  ## Context
@@ -115,7 +115,7 @@ Follow project-specific coding skills in `.claude/skills/` for:
115
115
  - Architecture conventions
116
116
  - Testing conventions
117
117
 
118
- This skill provides the implementation **process**. Project skills provide the **style**.
118
+ This skill contains the implementation **process**. Project skills contain the **style**.
119
119
 
120
120
  ## Handling Problems
121
121
 
@@ -59,7 +59,7 @@ project: {TOPIC_NAME}
59
59
  # Plan Reference: {Topic Name}
60
60
 
61
61
  **Specification**: `docs/workflow/specification/{topic}.md`
62
- **Created**: {DATE}
62
+ **Created**: YYYY-MM-DD *(use today's actual date)*
63
63
 
64
64
  ## About This Plan
65
65
 
@@ -246,7 +246,7 @@ epic: bd-{EPIC_ID}
246
246
  # Plan Reference: {Topic Name}
247
247
 
248
248
  **Specification**: `docs/workflow/specification/{topic}.md`
249
- **Created**: {DATE}
249
+ **Created**: YYYY-MM-DD *(use today's actual date)*
250
250
 
251
251
  ## About This Plan
252
252
 
@@ -156,7 +156,7 @@ team: {TEAM_NAME}
156
156
  # Plan Reference: {Topic Name}
157
157
 
158
158
  **Specification**: `docs/workflow/specification/{topic}.md`
159
- **Created**: {DATE}
159
+ **Created**: YYYY-MM-DD *(use today's actual date)*
160
160
 
161
161
  ## About This Plan
162
162
 
@@ -38,7 +38,7 @@ format: local-markdown
38
38
 
39
39
  # Implementation Plan: {Feature/Project Name}
40
40
 
41
- **Date**: YYYY-MM-DD
41
+ **Date**: YYYY-MM-DD *(use today's actual date)*
42
42
  **Status**: Draft | Ready | In Progress | Completed
43
43
  **Specification**: `docs/workflow/specification/{topic}.md`
44
44
 
@@ -145,7 +145,7 @@ Triggers and steps
145
145
 
146
146
  | Date | Change |
147
147
  |------|--------|
148
- | YYYY-MM-DD | Created from specification |
148
+ | YYYY-MM-DD *(use today's actual date)* | Created from specification |
149
149
  ```
150
150
 
151
151
  ## Cross-Topic Dependencies
@@ -36,6 +36,30 @@ Either way: Transform unvalidated reference material into a specification that's
36
36
 
37
37
  **When complete**: User signs off on the specification.
38
38
 
39
+ ## CRITICAL: You Do NOT Create or Update the Specification Autonomously
40
+
41
+ **This is a collaborative, interactive process. You MUST wait for explicit user approval before writing ANYTHING to the specification file.**
42
+
43
+ ❌ **NEVER:**
44
+ - Create the specification document and then ask the user to review it
45
+ - Write multiple sections and present them for review afterward
46
+ - Assume silence or moving on means approval
47
+ - Make "minor" amendments without explicit approval
48
+ - Batch up content and log it all at once
49
+
50
+ ✅ **ALWAYS:**
51
+ - Present ONE topic at a time
52
+ - **STOP and WAIT** for the user to explicitly approve before writing
53
+ - Treat each write operation as requiring its own explicit approval
54
+
55
+ **What counts as approval:** "Log it" (the standard choice you present) or equivalent: "Yes", "Approved", "Add it", "That's good".
56
+
57
+ **What does NOT count as approval:** Silence, you presenting choices, the user asking a follow-up question, the user saying "What's next?", or any response that isn't explicit confirmation.
58
+
59
+ If you are uncertain whether the user approved, **ASK**: "Would you like me to log it, or do you want to adjust something?"
60
+
61
+ ---
62
+
39
63
  ## What You Do
40
64
 
41
65
  1. **Extract exhaustively**: For each topic, re-scan ALL source material. Search for keywords and related terms. Information is often scattered - collect it all before synthesizing. Include only what we're building (not discarded alternatives).
@@ -46,16 +70,32 @@ Either way: Transform unvalidated reference material into a specification that's
46
70
 
47
71
  4. **Present**: Synthesize and present content to the user in the format it would appear in the specification.
48
72
 
49
- 5. **Log**: Only when approved, write content verbatim to the specification.
73
+ 5. **STOP AND WAIT**: Do not proceed until the user explicitly approves. This is not optional.
74
+
75
+ 6. **Log**: Only after explicit approval, write content verbatim to the specification.
76
+
77
+ 7. **Final review**: After all topics and dependencies are documented, perform a comprehensive review of ALL source material against the specification. Flag any potentially missed content to the user - but only from the sources, never fabricated. User confirms before any additions.
50
78
 
51
79
  The specification is the **golden document** - planning uses only this. If information doesn't make it into the specification, it won't be built. No references back to source material.
52
80
 
53
81
  ## Critical Rules
54
82
 
55
- **Present before logging**: Never write content to the specification until the user has seen and approved it.
83
+ **STOP AND WAIT FOR APPROVAL**: You MUST NOT write to the specification until the user has explicitly approved. Presenting content is NOT approval. Presenting choices is NOT approval. You must receive explicit confirmation (e.g., "Log it") before ANY write operation. If uncertain, ASK.
56
84
 
57
85
  **Log verbatim**: When approved, write exactly what was presented - no silent modifications.
58
86
 
59
87
  **Commit frequently**: Commit at natural breaks, after significant exchanges, and before any context refresh. Context refresh = lost work.
60
88
 
61
89
  **Trust nothing without validation**: Synthesize and present, but never assume source material is correct.
90
+
91
+ ---
92
+
93
+ ## Self-Check: Are You Following the Rules?
94
+
95
+ Before ANY write operation to the specification, ask yourself:
96
+
97
+ 1. **Did I present this specific content to the user?** If no → STOP. Present it first.
98
+ 2. **Did the user explicitly approve it?** (Not "did I ask if it's good" - did THEY say yes?) If no → STOP. Wait for approval.
99
+ 3. **Am I writing exactly what was approved?** If adding/changing anything → STOP. Present the changes first.
100
+
101
+ > **If you have written to the specification file without going through steps 1-2-3 above, you have violated the workflow.** The user must approve every piece of content before it's logged. There are no exceptions.
@@ -29,6 +29,16 @@ Before starting any topic, identify ALL available reference material:
29
29
 
30
30
  **Treat all source material as untrusted input**, regardless of where it came from. Your job is to synthesize and present - the user validates.
31
31
 
32
+ ## CRITICAL: This is an Interactive Process
33
+
34
+ **You MUST NOT create or update the specification without explicit user approval for each piece of content.**
35
+
36
+ This is a collaborative dialogue, not an autonomous task. The user validates every piece before it's logged.
37
+
38
+ > **CHECKPOINT**: If you are about to write to the specification file and haven't received explicit approval (e.g., "Log it") for this specific content, **STOP**. You are violating the workflow. Go back and present the choices first.
39
+
40
+ ---
41
+
32
42
  ## The Workflow
33
43
 
34
44
  Work through the specification **topic by topic**:
@@ -62,11 +72,19 @@ For each topic or subtopic, perform exhaustive extraction:
62
72
  ### 2. Synthesize and Present
63
73
  Present your understanding to the user **in the format it would appear in the specification**:
64
74
 
65
- > "Here's what I understand about [topic] based on the reference material. This is how I'd write it into the specification:
75
+ > "Here's what I understand about [topic] based on the reference material. This is exactly what I'll write into the specification:
66
76
  >
67
77
  > [content as it would appear]
68
- >
69
- > Does this capture it? Anything to adjust, remove, or add?"
78
+
79
+ Then present two explicit choices:
80
+
81
+ > **To proceed, choose one:**
82
+ > - **"Log it"** - I'll add the above to the specification **verbatim** (exactly as shown, no modifications)
83
+ > - **"Adjust"** - Tell me which part to change and what you want it to say instead
84
+
85
+ **Do not paraphrase these choices.** Present them exactly as written so users always know what to expect.
86
+
87
+ > **CHECKPOINT**: After presenting, you MUST STOP and wait for the user's response. Do NOT proceed to logging. Do NOT present the next topic. WAIT.
70
88
 
71
89
  ### 3. Discuss and Refine
72
90
  Work through the content together:
@@ -78,22 +96,46 @@ Work through the content together:
78
96
 
79
97
  This is a **human-level conversation**, not form-filling. The user brings context from across the project that may not be in the reference material - decisions from other topics, implications from later work, or knowledge that can't all fit in context.
80
98
 
81
- ### 4. Log When Approved
82
- Only when the user approves ("yes, log it", "that's good", etc.) do you write it to the specification - **verbatim** as presented and approved.
99
+ ### 4. STOP - Wait for Explicit Approval
100
+
101
+ **DO NOT PROCEED TO LOGGING WITHOUT EXPLICIT USER APPROVAL.**
102
+
103
+ **What counts as approval:**
104
+ - **"Log it"** - the standard confirmation you present as a choice
105
+ - Or equivalent explicit confirmation: "Yes", "Approved", "Add it", "That's good"
106
+
107
+ **What does NOT count as approval:**
108
+ - Silence
109
+ - You presenting choices (that's you asking, not them approving)
110
+ - The user asking a follow-up question
111
+ - The user saying "What's next?" or "Continue"
112
+ - The user making a minor comment without explicit approval
113
+ - ANY response that isn't explicit confirmation
83
114
 
84
- ### 5. Repeat
115
+ **If you are uncertain, ASK:** "Would you like me to log it, or do you want to adjust something?"
116
+
117
+ > **CHECKPOINT**: If you are about to write to the specification and the user's last message was not explicit approval, **STOP**. You are violating the workflow. Present the choices again.
118
+
119
+ ### 5. Log When Approved
120
+ Only after receiving explicit approval do you write to the specification - **verbatim** as presented and approved. No silent modifications.
121
+
122
+ ### 6. Repeat
85
123
  Move to the next topic.
86
124
 
87
125
  ## Context Resurfacing
88
126
 
89
127
  When you discover information that affects **already-logged topics**, resurface them. Even mid-discussion - interrupt, flag what you found, and discuss whether it changes anything.
90
128
 
91
- If it does: summarize what's changing in the chat, then re-present the full updated topic. The summary is for discussion only - the specification just gets the clean replacement. Standard workflow applies: user approves before you update.
129
+ If it does: summarize what's changing in the chat, then re-present the full updated topic. The summary is for discussion only - the specification just gets the clean replacement. **Standard workflow applies: user approves before you update.**
130
+
131
+ > **CHECKPOINT**: Even when resurfacing content, you MUST NOT update the specification until the user explicitly approves the change. Present the updated version, wait for approval, then update.
92
132
 
93
133
  This is encouraged. Better to resurface and confirm "already covered" than let something slip past.
94
134
 
95
135
  ## The Specification Document
96
136
 
137
+ > **CHECKPOINT**: You should NOT be creating or writing to this file unless you have explicit user approval for specific content. If you're about to create this file with content you haven't presented and had approved, **STOP**. That violates the workflow.
138
+
97
139
  Create `docs/workflow/specification/{topic}.md`
98
140
 
99
141
  This is a single file per topic. Structure is **flexible** - organize around phases and subject matter, not rigid sections. This is a working document.
@@ -104,7 +146,7 @@ Suggested skeleton:
104
146
  # Specification: [Topic Name]
105
147
 
106
148
  **Status**: Building specification
107
- **Last Updated**: [timestamp]
149
+ **Last Updated**: YYYY-MM-DD *(use today's actual date)*
108
150
 
109
151
  ---
110
152
 
@@ -121,9 +163,11 @@ Suggested skeleton:
121
163
 
122
164
  ## Critical Rules
123
165
 
124
- **Exhaustive extraction is non-negotiable**: Before presenting any topic, re-scan source material. Search for keywords. Collect scattered information. The specification is the golden document - planning uses only this. If you miss something, it doesn't get built.
166
+ **EXPLICIT APPROVAL REQUIRED FOR EVERY WRITE**: You MUST NOT write to the specification until the user has explicitly approved. "Presenting" is not approval. "Asking a question" is not approval. You need explicit confirmation. If uncertain, ASK. This rule is non-negotiable.
167
+
168
+ > **CHECKPOINT**: Before ANY write operation, ask yourself: "Did the user explicitly approve this specific content?" If the answer is no or uncertain, STOP and ask.
125
169
 
126
- **Present before logging**: Never write content to the specification until the user has seen and approved it.
170
+ **Exhaustive extraction is non-negotiable**: Before presenting any topic, re-scan source material. Search for keywords. Collect scattered information. The specification is the golden document - planning uses only this. If you miss something, it doesn't get built.
127
171
 
128
172
  **Log verbatim**: When approved, write exactly what was presented - no silent modifications.
129
173
 
@@ -209,9 +253,112 @@ This section feeds into the planning phase, where dependencies become blocking r
209
253
 
210
254
  **Key distinction**: This is about sequencing what must come first, not mapping out what works together. A feature may integrate with many systems - only list the ones that block you from starting.
211
255
 
256
+ ## Final Specification Review
257
+
258
+ After documenting dependencies, perform a **final comprehensive review** of the entire specification against all source material. This is your last chance to catch anything that was missed.
259
+
260
+ **Why this matters**: The specification is the golden document. Plans are built from it. If a detail isn't in the specification, it won't be built - regardless of whether it was in the source material.
261
+
262
+ ### The Review Process
263
+
264
+ 1. **Re-read ALL source material** - Go back to every source document, discussion, research note, and reference. Don't rely on memory.
265
+
266
+ 2. **Compare systematically** - For each piece of source material:
267
+ - What topics does it cover?
268
+ - Are those topics fully captured in the specification?
269
+ - Are there details, edge cases, or decisions that didn't make it?
270
+
271
+ 3. **Search for the forgotten** - Look specifically for:
272
+ - Edge cases mentioned in passing
273
+ - Constraints or requirements buried in tangential discussions
274
+ - Technical details that seemed minor at the time
275
+ - Decisions made early that may have been overshadowed
276
+ - Error handling, validation rules, or boundary conditions
277
+ - Integration points or data flows mentioned but not elaborated
278
+
279
+ 4. **Flag what you find** - When you discover potentially missed content, present it to the user. **Do NOT add it to the specification without explicit approval.**
280
+
281
+ > **CHECKPOINT**: If you found missed content and are about to add it to the specification without presenting it first and receiving explicit approval, **STOP**. Every addition requires the present → approve → log cycle, even during final review.
282
+
283
+ There are two cases:
284
+
285
+ **Enhancing an existing topic** - Details that belong in an already-documented section:
286
+
287
+ > "During my final review, I found additional detail about [existing topic] that isn't captured. From [source]:
288
+ >
289
+ > [quote or summary from source material]
290
+ >
291
+ > I'd add this to the [section name] section. Would you like me to include it, or show you the full section with this addition first?"
292
+
293
+ If the user wants to see context, present the entire section with the new content clearly marked (e.g., with a comment like `<!-- NEW -->` or by calling it out before the block).
294
+
295
+ **An entirely missed topic** - Something that warrants its own section but was glossed over:
296
+
297
+ > "During my final review, I found [topic] discussed in [source] that doesn't have coverage in the specification:
298
+ >
299
+ > [quote or summary from source material]
300
+ >
301
+ > This would be a new section. Should I add it?"
302
+
303
+ In both cases, you know where the content belongs - existing topics get enhanced in place, new topics get added at the end.
304
+
305
+ 5. **Never fabricate** - Every item you flag must trace back to specific source material. If you can't point to where it came from, don't suggest it. The goal is to catch missed content, not invent new requirements.
306
+
307
+ 6. **User confirms before inclusion** - Standard workflow applies: present proposed additions, get approval, then log verbatim.
308
+
309
+ 7. **Surface potential gaps** - After reviewing source material, consider whether the specification has gaps that the sources simply didn't address. These might be:
310
+ - Edge cases that weren't discussed
311
+ - Error scenarios not covered
312
+ - Integration points that seem implicit but aren't specified
313
+ - Behaviors that are ambiguous without clarification
314
+
315
+ Present these as a batch for the user to triage:
316
+
317
+ > "I've identified some potential gaps that aren't covered in the source material:
318
+ >
319
+ > 1. **[Gap A]** - [brief description of what's unclear/missing]
320
+ > 2. **[Gap B]** - [brief description]
321
+ > 3. **[Gap C]** - [brief description]
322
+ >
323
+ > Are any of these areas you'd like to discuss, or are they intentionally out of scope?"
324
+
325
+ The user can then pick which gaps (if any) need addressing. For those they want to discuss, work through them and add to the specification with standard approval workflow.
326
+
327
+ This should be infrequent - most gaps will be caught from source material. But occasionally the sources themselves have blind spots worth surfacing.
328
+
329
+ ### What You're NOT Doing
330
+
331
+ - **Not inventing requirements** - When surfacing gaps not in sources, you're asking questions, not proposing answers
332
+ - **Not assuming gaps need filling** - If something isn't in the sources, it may have been intentionally omitted
333
+ - **Not padding the spec** - Only add what's genuinely missing and relevant
334
+ - **Not re-litigating decisions** - If something was discussed and rejected, it stays rejected
335
+
336
+ ### Completing the Review
337
+
338
+ When you've:
339
+ - Systematically reviewed all source material for missed content
340
+ - Addressed any discovered gaps with the user
341
+ - Surfaced any potential gaps not covered by sources (and resolved them)
342
+
343
+ ...then inform the user the final review is complete and proceed to getting sign-off on the specification.
344
+
212
345
  ## Completion
213
346
 
214
347
  Specification is complete when:
215
348
  - All topics/phases have validated content
216
349
  - User confirms the specification is complete
217
350
  - No blocking gaps remain
351
+
352
+ ---
353
+
354
+ ## Self-Check: Have You Followed the Rules?
355
+
356
+ Before ANY write operation to the specification file, verify:
357
+
358
+ | Question | If No... |
359
+ |----------|----------|
360
+ | Did I present this specific content to the user? | **STOP**. Present it first. |
361
+ | Did the user explicitly approve? (e.g., "Log it") | **STOP**. Wait for approval or ask. |
362
+ | Am I writing exactly what was approved, with no additions? | **STOP**. Present any changes first. |
363
+
364
+ > **FINAL CHECK**: If you have written to the specification file and cannot answer "yes" to all three questions above for that content, you have violated the workflow. Every piece of content requires explicit user approval before logging.