@leeovery/claude-technical-workflows 2.1.23 → 2.1.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leeovery/claude-technical-workflows",
3
- "version": "2.1.23",
3
+ "version": "2.1.24",
4
4
  "description": "Technical workflow skills & commands for Claude Code",
5
5
  "license": "MIT",
6
6
  "author": "Lee Overy <me@leeovery.com>",
@@ -31,13 +31,13 @@ Either way: dispatch agents per task — executor implements via TDD, reviewer v
31
31
  **Before proceeding**, verify all required inputs are available and unambiguous. If anything is missing or unclear, **STOP** — do not proceed until resolved.
32
32
 
33
33
  - **No plan provided?**
34
- > "I need an implementation plan to execute. Could you point me to the plan file (e.g., `docs/workflow/planning/{topic}.md`)?"
34
+ "I need an implementation plan to execute. Could you point me to the plan file (e.g., `docs/workflow/planning/{topic}.md`)?"
35
35
 
36
36
  - **Plan has no `format` field in frontmatter?**
37
- > "The plan at {path} doesn't specify an output format in its frontmatter. Which format does this plan use?"
37
+ "The plan at {path} doesn't specify an output format in its frontmatter. Which format does this plan use?"
38
38
 
39
39
  - **Plan status is not `concluded`?**
40
- > "The plan at {path} has status '{status}' — it hasn't completed the review process. Should I proceed anyway, or should the plan be reviewed first?"
40
+ "The plan at {path} has status '{status}' — it hasn't completed the review process. Should I proceed anyway, or should the plan be reviewed first?"
41
41
 
42
42
  If no specification is available, the plan becomes the sole authority for design decisions.
43
43
 
@@ -91,7 +91,7 @@ Follow them. Complete ALL steps before proceeding.
91
91
 
92
92
  Ask:
93
93
 
94
- > "No environment setup document found. Are there any setup instructions I should follow before implementing?"
94
+ "No environment setup document found. Are there any setup instructions I should follow before implementing?"
95
95
 
96
96
  **STOP.** Wait for user response.
97
97
 
@@ -166,14 +166,14 @@ Commit: `impl({topic}): start implementation`
166
166
 
167
167
  Present the existing configuration for confirmation:
168
168
 
169
- > Previous session used these project skills:
170
- > - `{skill-name}` — {path}
171
- > - ...
172
- >
173
- > · · · · · · · · · · · ·
174
- > - **`y`/`yes`** — Keep these, proceed
175
- > - **`c`/`change`** — Re-discover and choose skills
176
- > · · · · · · · · · · · ·
169
+ Previous session used these project skills:
170
+ - `{skill-name}` — {path}
171
+ - ...
172
+
173
+ · · · · · · · · · · · ·
174
+ - **`y`/`yes`** — Keep these, proceed
175
+ - **`c`/`change`** — Re-discover and choose skills
176
+ · · · · · · · · · · · ·
177
177
 
178
178
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
179
179
 
@@ -194,16 +194,16 @@ No project skills found. Proceeding without project-specific conventions.
194
194
 
195
195
  Scan `.claude/skills/` for project-specific skill directories. Present findings:
196
196
 
197
- > Found these project skills that may be relevant to implementation:
198
- > - `{skill-name}` — {brief description}
199
- > - `{skill-name}` — {brief description}
200
- > - ...
201
- >
202
- > · · · · · · · · · · · ·
203
- > - **`a`/`all`** — Use all listed skills
204
- > - **`n`/`none`** — Skip project skills
205
- > - **Or list the ones you want** — e.g. "golang-pro, react-patterns"
206
- > · · · · · · · · · · · ·
197
+ Found these project skills that may be relevant to implementation:
198
+ - `{skill-name}` — {brief description}
199
+ - `{skill-name}` — {brief description}
200
+ - ...
201
+
202
+ · · · · · · · · · · · ·
203
+ - **`a`/`all`** — Use all listed skills
204
+ - **`n`/`none`** — Skip project skills
205
+ - **Or list the ones you want** — e.g. "golang-pro, react-patterns"
206
+ · · · · · · · · · · · ·
207
207
 
208
208
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
209
209
 
@@ -223,17 +223,17 @@ If `linters` is already populated in the tracking file, present the existing con
223
223
 
224
224
  Otherwise, present discovery findings to the user:
225
225
 
226
- > **Linter discovery:**
227
- > - {tool} — `{command}` (installed / not installed)
228
- > - ...
229
- >
230
- > Recommendations: {any suggested tools with install commands}
231
- >
232
- > · · · · · · · · · · · ·
233
- > - **`y`/`yes`** — Approve these linter commands
234
- > - **`c`/`change`** — Modify the linter list
235
- > - **`s`/`skip`** — Skip linter setup (no linting during TDD)
236
- > · · · · · · · · · · · ·
226
+ **Linter discovery:**
227
+ - {tool} — `{command}` (installed / not installed)
228
+ - ...
229
+
230
+ Recommendations: {any suggested tools with install commands}
231
+
232
+ · · · · · · · · · · · ·
233
+ - **`y`/`yes`** — Approve these linter commands
234
+ - **`c`/`change`** — Modify the linter list
235
+ - **`s`/`skip`** — Skip linter setup (no linting during TDD)
236
+ · · · · · · · · · · · ·
237
237
 
238
238
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
239
239
 
@@ -28,14 +28,14 @@ If `analysis_cycle > 3`:
28
28
 
29
29
  **Do NOT skip analysis autonomously.** This gate is an escape hatch for the user — not a signal to stop. The expected default is to continue running analysis until no issues are found. Present the choice and let the user decide.
30
30
 
31
- > **Analysis cycle {N}**
32
- >
33
- > Analysis has run {N-1} times so far. You can continue (recommended if issues were still found last cycle) or skip to completion.
34
- >
35
- > · · · · · · · · · · · ·
36
- > - **`p`/`proceed`** — Continue analysis *(default)*
37
- > - **`s`/`skip`** — Skip analysis, proceed to completion
38
- > · · · · · · · · · · · ·
31
+ **Analysis cycle {N}**
32
+
33
+ Analysis has run {N-1} times so far. You can continue (recommended if issues were still found last cycle) or skip to completion.
34
+
35
+ · · · · · · · · · · · ·
36
+ - **`p`/`proceed`** — Continue analysis *(default)*
37
+ - **`s`/`skip`** — Skip analysis, proceed to completion
38
+ · · · · · · · · · · · ·
39
39
 
40
40
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
41
41
 
@@ -57,15 +57,15 @@ If there are unstaged changes or untracked files, categorize them:
57
57
  - **Implementation files** (files touched by `impl({topic}):` commits) — stage these automatically.
58
58
  - **Unexpected files** (files not touched during implementation) — present to the user:
59
59
 
60
- > **Pre-analysis checkpoint — unexpected files detected:**
61
- > - `{file}` ({status: modified/untracked})
62
- > - ...
63
- >
64
- > · · · · · · · · · · · ·
65
- > - **`y`/`yes`** — Include all in the checkpoint commit
66
- > - **`s`/`skip`** — Exclude unexpected files, commit only implementation files
67
- > - **Comment** — Specify which to include
68
- > · · · · · · · · · · · ·
60
+ **Pre-analysis checkpoint — unexpected files detected:**
61
+ - `{file}` ({status: modified/untracked})
62
+ - ...
63
+
64
+ · · · · · · · · · · · ·
65
+ - **`y`/`yes`** — Include all in the checkpoint commit
66
+ - **`s`/`skip`** — Exclude unexpected files, commit only implementation files
67
+ - **Comment** — Specify which to include
68
+ · · · · · · · · · · · ·
69
69
 
70
70
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
71
71
 
@@ -121,35 +121,35 @@ Read the staging file from `docs/workflow/implementation/{topic}/analysis-tasks-
121
121
 
122
122
  Present an overview:
123
123
 
124
- > **Analysis cycle {N}: {K} proposed tasks**
125
- >
126
- > 1. {title} ({severity})
127
- > 2. {title} ({severity})
128
- > ...
124
+ **Analysis cycle {N}: {K} proposed tasks**
125
+
126
+ 1. {title} ({severity})
127
+ 2. {title} ({severity})
128
+ ...
129
129
 
130
130
  Then present each task with `status: pending` individually:
131
131
 
132
- > **Task {current}/{total}: {title}** ({severity})
133
- > Sources: {sources}
134
- >
135
- > **Problem**: {problem}
136
- > **Solution**: {solution}
137
- > **Outcome**: {outcome}
138
- >
139
- > **Do**:
140
- > {steps}
141
- >
142
- > **Acceptance Criteria**:
143
- > {criteria}
144
- >
145
- > **Tests**:
146
- > {tests}
147
- >
148
- > · · · · · · · · · · · ·
149
- > - **`a`/`approve`** — Approve this task
150
- > - **`s`/`skip`** — Skip this task
151
- > - **Comment** — Revise based on feedback
152
- > · · · · · · · · · · · ·
132
+ **Task {current}/{total}: {title}** ({severity})
133
+ Sources: {sources}
134
+
135
+ **Problem**: {problem}
136
+ **Solution**: {solution}
137
+ **Outcome**: {outcome}
138
+
139
+ **Do**:
140
+ {steps}
141
+
142
+ **Acceptance Criteria**:
143
+ {criteria}
144
+
145
+ **Tests**:
146
+ {tests}
147
+
148
+ · · · · · · · · · · · ·
149
+ - **`a`/`approve`** — Approve this task
150
+ - **`s`/`skip`** — Skip this task
151
+ - **Comment** — Revise based on feedback
152
+ · · · · · · · · · · · ·
153
153
 
154
154
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
155
155
 
@@ -40,15 +40,15 @@ E. Update progress + commit
40
40
 
41
41
  Present the executor's ISSUES to the user:
42
42
 
43
- > **Task {id}: {Task Name} — {blocked/failed}**
44
- >
45
- > {executor's ISSUES content}
46
- >
47
- > · · · · · · · · · · · ·
48
- > - **`r`/`retry`** — Re-invoke the executor with your comments (provide below)
49
- > - **`s`/`skip`** — Skip this task and move to the next
50
- > - **`t`/`stop`** — Stop implementation entirely
51
- > · · · · · · · · · · · ·
43
+ **Task {id}: {Task Name} — {blocked/failed}**
44
+
45
+ {executor's ISSUES content}
46
+
47
+ · · · · · · · · · · · ·
48
+ - **`r`/`retry`** — Re-invoke the executor with your comments (provide below)
49
+ - **`s`/`skip`** — Skip this task and move to the next
50
+ - **`t`/`stop`** — Stop implementation entirely
51
+ · · · · · · · · · · · ·
52
52
 
53
53
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
54
54
 
@@ -84,7 +84,7 @@ Increment `fix_attempts` in the implementation tracking file.
84
84
 
85
85
  Announce the fix round (one line, no stop):
86
86
 
87
- > **Review for Task {id}: {Task Name} — needs changes** (attempt {N}/{max 3}, fix analysis included). Re-invoking executor.
87
+ **Review for Task {id}: {Task Name} — needs changes** (attempt {N}/{max 3}, fix analysis included). Re-invoking executor.
88
88
 
89
89
  → Return to the top of **B. Execute Task** and re-invoke the executor with the full task content and the reviewer's notes (including fix analysis).
90
90
 
@@ -92,23 +92,23 @@ Announce the fix round (one line, no stop):
92
92
 
93
93
  If `fix_attempts >= 3`, the executor and reviewer have failed to converge. Prepend:
94
94
 
95
- > The executor and reviewer have not converged after {N} attempts. Escalating for human review.
95
+ The executor and reviewer have not converged after {N} attempts. Escalating for human review.
96
96
 
97
97
  Present the reviewer's findings and fix analysis to the user:
98
98
 
99
- > **Review for Task {id}: {Task Name} — needs changes** (attempt {N})
100
- >
101
- > {ISSUES from reviewer, including FIX, ALTERNATIVE, and CONFIDENCE for each}
102
- >
103
- > Notes (non-blocking):
104
- > {NOTES from reviewer}
105
- >
106
- > · · · · · · · · · · · ·
107
- > - **`y`/`yes`** — Accept the review and fix analysis, pass to executor
108
- > - **`a`/`auto`** — Accept and auto-approve future fix analyses
109
- > - **`s`/`skip`** — Override the reviewer and proceed as-is
110
- > - **Comment** — Any commentary, adjustments, alternative approaches, or questions before passing to executor
111
- > · · · · · · · · · · · ·
99
+ **Review for Task {id}: {Task Name} — needs changes** (attempt {N})
100
+
101
+ {ISSUES from reviewer, including FIX, ALTERNATIVE, and CONFIDENCE for each}
102
+
103
+ Notes (non-blocking):
104
+ {NOTES from reviewer}
105
+
106
+ · · · · · · · · · · · ·
107
+ - **`y`/`yes`** — Accept the review and fix analysis, pass to executor
108
+ - **`a`/`auto`** — Accept and auto-approve future fix analyses
109
+ - **`s`/`skip`** — Override the reviewer and proceed as-is
110
+ - **Comment** — Any commentary, adjustments, alternative approaches, or questions before passing to executor
111
+ · · · · · · · · · · · ·
112
112
 
113
113
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
114
114
 
@@ -129,17 +129,17 @@ After the reviewer approves a task, check the `task_gate_mode` field in the impl
129
129
 
130
130
  Present a summary and wait for user input:
131
131
 
132
- > **Task {id}: {Task Name} — approved**
133
- >
134
- > Phase: {phase number} — {phase name}
135
- > {executor's SUMMARY — brief commentary, decisions, implementation notes}
136
- >
137
- > · · · · · · · · · · · ·
138
- > **Options:**
139
- > - **`y`/`yes`** — Approve, commit, continue to next task
140
- > - **`a`/`auto`** — Approve this and all future reviewer-approved tasks automatically
141
- > - **Comment** — Feedback the reviewer missed (triggers a fix round)
142
- > · · · · · · · · · · · ·
132
+ **Task {id}: {Task Name} — approved**
133
+
134
+ Phase: {phase number} — {phase name}
135
+ {executor's SUMMARY — brief commentary, decisions, implementation notes}
136
+
137
+ · · · · · · · · · · · ·
138
+ **Options:**
139
+ - **`y`/`yes`** — Approve, commit, continue to next task
140
+ - **`a`/`auto`** — Approve this and all future reviewer-approved tasks automatically
141
+ - **Comment** — Feedback the reviewer missed (triggers a fix round)
142
+ · · · · · · · · · · · ·
143
143
 
144
144
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
145
145
 
@@ -153,7 +153,7 @@ Present a summary and wait for user input:
153
153
 
154
154
  Announce the result (one line, no stop):
155
155
 
156
- > **Task {id}: {Task Name} — approved** (phase {N}: {phase name}, {brief summary}). Committing.
156
+ **Task {id}: {Task Name} — approved** (phase {N}: {phase name}, {brief summary}). Committing.
157
157
 
158
158
  → Proceed to **E. Update Progress and Commit**.
159
159
 
@@ -189,6 +189,6 @@ This is the end of this iteration.
189
189
 
190
190
  ## When All Tasks Are Complete
191
191
 
192
- > "All tasks complete. {M} tasks implemented."
192
+ "All tasks complete. {M} tasks implemented."
193
193
 
194
194
  → Return to the skill for **Step 7**.
@@ -80,14 +80,14 @@ Note the current phase and task position from the `planning:` block.
80
80
 
81
81
  Load **[spec-change-detection.md](references/spec-change-detection.md)** to check whether the specification has changed since planning started. Then present the user with an informed choice:
82
82
 
83
- > Found existing plan for **{topic}** (previously reached phase {N}, task {M}).
84
- >
85
- > {spec change summary from spec-change-detection.md}
86
- >
87
- > · · · · · · · · · · · ·
88
- > - **`c`/`continue`** — Walk through the plan from the start. You can review, amend, or navigate at any point — including straight to the leading edge.
89
- > - **`r`/`restart`** — Erase all planning work for this topic and start fresh. This deletes the Plan Index File and any Authored Tasks. Other topics are unaffected.
90
- > · · · · · · · · · · · ·
83
+ Found existing plan for **{topic}** (previously reached phase {N}, task {M}).
84
+
85
+ {spec change summary from spec-change-detection.md}
86
+
87
+ · · · · · · · · · · · ·
88
+ - **`c`/`continue`** — Walk through the plan from the start. You can review, amend, or navigate at any point — including straight to the leading edge.
89
+ - **`r`/`restart`** — Erase all planning work for this topic and start fresh. This deletes the Plan Index File and any Authored Tasks. Other topics are unaffected.
90
+ · · · · · · · · · · · ·
91
91
 
92
92
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
93
93
 
@@ -126,12 +126,12 @@ First, choose the Output Format.
126
126
 
127
127
  Present the recommendation:
128
128
 
129
- > Existing plans use **{format}**. Use the same format for consistency?
130
- >
131
- > · · · · · · · · · · · ·
132
- > - **`y`/`yes`** — Use {format}
133
- > - **`n`/`no`** — See all available formats
134
- > · · · · · · · · · · · ·
129
+ Existing plans use **{format}**. Use the same format for consistency?
130
+
131
+ · · · · · · · · · · · ·
132
+ - **`y`/`yes`** — Use {format}
133
+ - **`n`/`no`** — See all available formats
134
+ · · · · · · · · · · · ·
135
135
 
136
136
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
137
137
 
@@ -231,10 +231,10 @@ After the review is complete:
231
231
  3. **Final commit** — Commit the concluded plan
232
232
  4. **Present completion summary**:
233
233
 
234
- > "Planning is complete for **{topic}**.
235
- >
236
- > The plan contains **{N} phases** with **{M} tasks** total, reviewed for traceability against the specification and structural integrity.
237
- >
238
- > Status has been marked as `concluded`. The plan is ready for implementation."
234
+ "Planning is complete for **{topic}**.
235
+
236
+ The plan contains **{N} phases** with **{M} tasks** total, reviewed for traceability against the specification and structural integrity.
237
+
238
+ Status has been marked as `concluded`. The plan is ready for implementation."
239
239
 
240
240
  > **CHECKPOINT**: Do not conclude if any tasks in the Plan Index File show `status: pending`. All tasks must be `authored` before concluding.
@@ -12,7 +12,7 @@ This step uses the `planning-dependency-grapher` agent (`../../../../agents/plan
12
12
 
13
13
  Orient the user:
14
14
 
15
- > "All tasks are authored. Now I'll analyze internal dependencies and priorities across the full plan."
15
+ "All tasks are authored. Now I'll analyze internal dependencies and priorities across the full plan."
16
16
 
17
17
  Read **[output-formats.md](../output-formats.md)**, find the entry matching the `format:` field in the Plan Index File, and load the format's **[reading.md](../output-formats/{format}/reading.md)** and **[graph.md](../output-formats/{format}/graph.md)**.
18
18
 
@@ -34,15 +34,15 @@ The agent clears any existing dependencies/priorities, analyzes all tasks, and
34
34
 
35
35
  The natural task order is already correct. Present as rendered markdown (not in a code block):
36
36
 
37
- > "I've analyzed all {M} tasks and the natural execution order is already correct — no explicit dependencies or priorities are needed.
38
- >
39
- > {notes from agent output}"
37
+ "I've analyzed all {M} tasks and the natural execution order is already correct — no explicit dependencies or priorities are needed.
40
38
 
41
- > · · · · · · · · · · · ·
42
- > **To proceed:**
43
- > - **`y`/`yes`** Confirmed.
44
- > - **Or tell me what to change.**
45
- > · · · · · · · · · · · ·
39
+ {notes from agent output}"
40
+
41
+ · · · · · · · · · · · ·
42
+ **To proceed:**
43
+ - **`y`/`yes`** Confirmed.
44
+ - **Or tell me what to change.**
45
+ · · · · · · · · · · · ·
46
46
 
47
47
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
48
48
 
@@ -52,11 +52,11 @@ The natural task order is already correct. Present as rendered markdown (not in
52
52
 
53
53
  No changes were applied. Present the cycle to the user:
54
54
 
55
- > "The dependency analysis found a circular dependency:
56
- >
57
- > {cycle chain from agent output}
58
- >
59
- > This must be resolved before continuing. The cycle usually means two tasks each assume the other is done first — one needs to be restructured or the dependency removed."
55
+ "The dependency analysis found a circular dependency:
56
+
57
+ {cycle chain from agent output}
58
+
59
+ This must be resolved before continuing. The cycle usually means two tasks each assume the other is done first — one needs to be restructured or the dependency removed."
60
60
 
61
61
  **STOP.** Wait for the user to decide how to resolve. Options include adjusting task scope, merging tasks, or removing a dependency. Re-invoke the agent after changes.
62
62
 
@@ -64,21 +64,21 @@ No changes were applied. Present the cycle to the user:
64
64
 
65
65
  Dependencies and priorities have already been written to the task files. Present as rendered markdown (not in a code block):
66
66
 
67
- > "I've analyzed and applied dependencies and priorities across all {M} tasks:
68
- >
69
- > **Dependencies** ({count} relationships):
70
- > {dependency list from agent output}
71
- >
72
- > **Priorities**:
73
- > {priority list from agent output}
74
- >
75
- > {any notes from agent output}"
76
-
77
- > · · · · · · · · · · · ·
78
- > **To proceed:**
79
- > - **`y`/`yes`** — Approved.
80
- > - **Or tell me what to change.**
81
- > · · · · · · · · · · · ·
67
+ "I've analyzed and applied dependencies and priorities across all {M} tasks:
68
+
69
+ **Dependencies** ({count} relationships):
70
+ {dependency list from agent output}
71
+
72
+ **Priorities**:
73
+ {priority list from agent output}
74
+
75
+ {any notes from agent output}"
76
+
77
+ · · · · · · · · · · · ·
78
+ **To proceed:**
79
+ - **`y`/`yes`** — Approved.
80
+ - **Or tell me what to change.**
81
+ · · · · · · · · · · · ·
82
82
 
83
83
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
84
84
 
@@ -29,14 +29,14 @@ The agent returns complete task detail following the task template from task-des
29
29
 
30
30
  After presenting, ask:
31
31
 
32
- > **Task {M} of {total}: {Task Name}**
33
- >
34
- > · · · · · · · · · · · ·
35
- > **To proceed:**
36
- > - **`y`/`yes`** — Approved. I'll log it to the plan.
37
- > - **Or tell me what to change.**
38
- > - **Or navigate** — a different phase or task, or the leading edge.
39
- > · · · · · · · · · · · ·
32
+ **Task {M} of {total}: {Task Name}**
33
+
34
+ · · · · · · · · · · · ·
35
+ **To proceed:**
36
+ - **`y`/`yes`** — Approved. I'll log it to the plan.
37
+ - **Or tell me what to change.**
38
+ - **Or navigate** — a different phase or task, or the leading edge.
39
+ · · · · · · · · · · · ·
40
40
 
41
41
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
42
42
 
@@ -65,6 +65,6 @@ Present the revised task in full. Ask the same choice again. Repeat until approv
65
65
 
66
66
  Confirm:
67
67
 
68
- > "Task {M} of {total}: {Task Name} — authored."
68
+ "Task {M} of {total}: {Task Name} — authored."
69
69
 
70
70
  → Return to **Plan Construction**.
@@ -16,7 +16,7 @@ Read the Plan Index File. Check if phases already exist in the body.
16
16
 
17
17
  Orient the user:
18
18
 
19
- > "Phase structure already exists. I'll present it for your review."
19
+ "Phase structure already exists. I'll present it for your review."
20
20
 
21
21
  Continue to **Review and Approve** below.
22
22
 
@@ -24,7 +24,7 @@ Continue to **Review and Approve** below.
24
24
 
25
25
  Orient the user:
26
26
 
27
- > "I'll delegate phase design to a specialist agent. It will read the full specification and propose a phase structure — how we break this into independently testable stages."
27
+ "I'll delegate phase design to a specialist agent. It will read the full specification and propose a phase structure — how we break this into independently testable stages."
28
28
 
29
29
  ### Invoke the Agent
30
30
 
@@ -57,14 +57,14 @@ Present the phase structure to the user as rendered markdown (not in a code bloc
57
57
 
58
58
  **STOP.** Ask:
59
59
 
60
- > **Phase Structure**
61
- >
62
- > · · · · · · · · · · · ·
63
- > **To proceed:**
64
- > - **`y`/`yes`** — Approved. I'll proceed to task breakdown.
65
- > - **Or tell me what to change** — reorder, split, merge, add, edit, or remove phases.
66
- > - **Or navigate** — a different phase or task, or the leading edge.
67
- > · · · · · · · · · · · ·
60
+ **Phase Structure**
61
+
62
+ · · · · · · · · · · · ·
63
+ **To proceed:**
64
+ - **`y`/`yes`** — Approved. I'll proceed to task breakdown.
65
+ - **Or tell me what to change** — reorder, split, merge, add, edit, or remove phases.
66
+ - **Or navigate** — a different phase or task, or the leading edge.
67
+ · · · · · · · · · · · ·
68
68
 
69
69
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
70
70
 
@@ -12,7 +12,7 @@ This step uses the `planning-task-designer` agent (`../../../../agents/planning-
12
12
 
13
13
  Orient the user:
14
14
 
15
- > "Taking Phase {N}: {Phase Name} and breaking it into tasks. I'll delegate this to a specialist agent that will read the full specification and propose a task list."
15
+ "Taking Phase {N}: {Phase Name} and breaking it into tasks. I'll delegate this to a specialist agent that will read the full specification and propose a task list."
16
16
 
17
17
  ### Invoke the Agent
18
18
 
@@ -42,12 +42,12 @@ Present the task overview to the user as rendered markdown (not in a code block)
42
42
 
43
43
  **STOP.** Ask:
44
44
 
45
- > · · · · · · · · · · · ·
46
- > **To proceed:**
47
- > - **`y`/`yes`** — Approved.
48
- > - **Or tell me what to change** — reorder, split, merge, add, edit, or remove tasks.
49
- > - **Or navigate** — a different phase or task, or the leading edge.
50
- > · · · · · · · · · · · ·
45
+ · · · · · · · · · · · ·
46
+ **To proceed:**
47
+ - **`y`/`yes`** — Approved.
48
+ - **Or tell me what to change** — reorder, split, merge, add, edit, or remove tasks.
49
+ - **Or navigate** — a different phase or task, or the leading edge.
50
+ · · · · · · · · · · · ·
51
51
 
52
52
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
53
53
 
@@ -53,7 +53,7 @@ Work through each phase in order.
53
53
 
54
54
  Orient the user:
55
55
 
56
- > "I'll now work through each phase — presenting existing work for review and designing or authoring anything still pending. You'll approve at every stage."
56
+ "I'll now work through each phase — presenting existing work for review and designing or authoring anything still pending. You'll approve at every stage."
57
57
 
58
58
  ### For each phase, check its state:
59
59
 
@@ -69,14 +69,14 @@ After Step A returns with an approved task table, continue to **Author Tasks for
69
69
 
70
70
  Present the task list to the user as rendered markdown (not in a code block).
71
71
 
72
- > **Phase {N}: {Phase Name}** — {M} tasks.
73
- >
74
- > · · · · · · · · · · · ·
75
- > **To proceed:**
76
- > - **`y`/`yes`** — Confirmed.
77
- > - **Or tell me what to change.**
78
- > - **Or navigate** — a different phase or task, or the leading edge.
79
- > · · · · · · · · · · · ·
72
+ **Phase {N}: {Phase Name}** — {M} tasks.
73
+
74
+ · · · · · · · · · · · ·
75
+ **To proceed:**
76
+ - **`y`/`yes`** — Confirmed.
77
+ - **Or tell me what to change.**
78
+ - **Or navigate** — a different phase or task, or the leading edge.
79
+ · · · · · · · · · · · ·
80
80
 
81
81
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
82
82
 
@@ -107,7 +107,7 @@ Never parallelize the first `pending` task in a phase. Never parallelize across
107
107
 
108
108
  Already written. Present a brief summary:
109
109
 
110
- > "Task {M} of {total}: {Task Name} — already authored."
110
+ "Task {M} of {total}: {Task Name} — already authored."
111
111
 
112
112
  Continue to the next task.
113
113
 
@@ -121,7 +121,7 @@ After Step B returns, the task is authored. Continue to the next task.
121
121
 
122
122
  Advance the `planning:` block in frontmatter to the next phase. Commit: `planning({topic}): complete Phase {N} tasks`
123
123
 
124
- > Phase {N}: {Phase Name} — complete ({M} tasks authored).
124
+ Phase {N}: {Phase Name} — complete ({M} tasks authored).
125
125
 
126
126
  Continue to the next phase.
127
127
 
@@ -131,7 +131,7 @@ Continue to the next phase.
131
131
 
132
132
  When all phases have all tasks authored:
133
133
 
134
- > "All phases are complete. The plan has **{N} phases** with **{M} tasks** total."
134
+ "All phases are complete. The plan has **{N} phases** with **{M} tasks** total."
135
135
 
136
136
  ---
137
137
 
@@ -85,10 +85,10 @@ After both reviews:
85
85
 
86
86
  3. **Confirm with the user**:
87
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."
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
93
 
94
94
  > **CHECKPOINT**: Do not confirm completion if tracking files still exist. They indicate incomplete review work.
@@ -6,7 +6,7 @@
6
6
 
7
7
  Orient the user:
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
+ "All phases and tasks are written. Now I'll check for external dependencies — things this plan needs from other topics or systems."
10
10
 
11
11
  After all phases are detailed and written, handle external dependencies — things this plan needs from other topics or systems.
12
12
 
@@ -43,11 +43,11 @@ Skip the resolution and reverse check — there is nothing to resolve against. D
43
43
 
44
44
  **STOP.** Present a summary of the dependency state: what was documented, what was resolved, what remains unresolved, and any reverse resolutions made.
45
45
 
46
- > · · · · · · · · · · · ·
47
- > **To proceed:**
48
- > - **`y`/`yes`** — Approved. I'll proceed to plan review.
49
- > - **Or tell me what to change.**
50
- > · · · · · · · · · · · ·
46
+ · · · · · · · · · · · ·
47
+ **To proceed:**
48
+ - **`y`/`yes`** — Approved. I'll proceed to plan review.
49
+ - **Or tell me what to change.**
50
+ · · · · · · · · · · · ·
51
51
 
52
52
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
53
53
 
@@ -87,15 +87,15 @@ Then:
87
87
 
88
88
  **Stage 1: Summary**
89
89
 
90
- > "I've completed the plan integrity review. I found [N] items:
91
- >
92
- > 1. **[Brief title]** (Critical/Important/Minor)
93
- > [2-4 line explanation: what the issue is, why it matters for implementation]
94
- >
95
- > 2. **[Brief title]** (Critical/Important/Minor)
96
- > [2-4 line explanation]
97
- >
98
- > Let's work through these one at a time, starting with #1."
90
+ "I've completed the plan integrity review. I found [N] items:
91
+
92
+ 1. **[Brief title]** (Critical/Important/Minor)
93
+ [2-4 line explanation: what the issue is, why it matters for implementation]
94
+
95
+ 2. **[Brief title]** (Critical/Important/Minor)
96
+ [2-4 line explanation]
97
+
98
+ Let's work through these one at a time, starting with #1."
99
99
 
100
100
  **Stage 2: Process One Item at a Time**
101
101
 
@@ -105,15 +105,15 @@ Work through each finding **one at a time**. For each finding: present it, propo
105
105
 
106
106
  Show the finding with full detail:
107
107
 
108
- > **Finding {N} of {total}: {Brief Title}**
109
- >
110
- > **Severity**: Critical | Important | Minor
111
- >
112
- > **Plan Reference**: [Phase/task in the plan]
113
- >
114
- > **Category**: [Which review criterion — e.g., "Task Template Compliance", "Vertical Slicing"]
115
- >
116
- > **Details**: [What the issue is and why it matters for implementation]
108
+ **Finding {N} of {total}: {Brief Title}**
109
+
110
+ **Severity**: Critical | Important | Minor
111
+
112
+ **Plan Reference**: [Phase/task in the plan]
113
+
114
+ **Category**: [Which review criterion — e.g., "Task Template Compliance", "Vertical Slicing"]
115
+
116
+ **Details**: [What the issue is and why it matters for implementation]
117
117
 
118
118
  ### Propose the Fix
119
119
 
@@ -123,60 +123,60 @@ State the action type explicitly so the user knows what's changing structurally:
123
123
 
124
124
  **Update a task** — change content within an existing task:
125
125
 
126
- > **Proposed fix — update Phase {N}, Task {M}:**
127
- >
128
- > **Current:**
129
- > [The existing content as it appears in the plan]
130
- >
131
- > **Proposed:**
132
- > [The replacement content]
126
+ **Proposed fix — update Phase {N}, Task {M}:**
127
+
128
+ **Current:**
129
+ [The existing content as it appears in the plan]
130
+
131
+ **Proposed:**
132
+ [The replacement content]
133
133
 
134
134
  **Add content to a task** — insert into an existing task (e.g., missing acceptance criteria, edge case):
135
135
 
136
- > **Proposed fix — add to Phase {N}, Task {M}, {section}:**
137
- >
138
- > [The exact content to be added, in plan format]
136
+ **Proposed fix — add to Phase {N}, Task {M}, {section}:**
137
+
138
+ [The exact content to be added, in plan format]
139
139
 
140
140
  **Remove content from a task** — strip content that shouldn't be there:
141
141
 
142
- > **Proposed fix — remove from Phase {N}, Task {M}, {section}:**
143
- >
144
- > [The exact content to be removed]
142
+ **Proposed fix — remove from Phase {N}, Task {M}, {section}:**
143
+
144
+ [The exact content to be removed]
145
145
 
146
146
  **Add a new task** — a spec section has no plan coverage and needs its own task:
147
147
 
148
- > **Proposed fix — add new task to Phase {N}:**
149
- >
150
- > [The complete task in plan format, using the task template]
148
+ **Proposed fix — add new task to Phase {N}:**
149
+
150
+ [The complete task in plan format, using the task template]
151
151
 
152
152
  **Remove a task** — an entire task is hallucinated with no spec backing:
153
153
 
154
- > **Proposed fix — remove Phase {N}, Task {M}: {Task Name}**
155
- >
156
- > **Reason**: [Why this task has no specification basis]
154
+ **Proposed fix — remove Phase {N}, Task {M}: {Task Name}**
155
+
156
+ **Reason**: [Why this task has no specification basis]
157
157
 
158
158
  **Add a new phase** — a significant area of the specification has no plan coverage:
159
159
 
160
- > **Proposed fix — add new Phase {N}: {Phase Name}**
161
- >
162
- > [Phase goal, acceptance criteria, and task overview]
160
+ **Proposed fix — add new Phase {N}: {Phase Name}**
161
+
162
+ [Phase goal, acceptance criteria, and task overview]
163
163
 
164
164
  **Remove a phase** — an entire phase is not backed by the specification:
165
165
 
166
- > **Proposed fix — remove Phase {N}: {Phase Name}**
167
- >
168
- > **Reason**: [Why this phase has no specification basis]
166
+ **Proposed fix — remove Phase {N}: {Phase Name}**
167
+
168
+ **Reason**: [Why this phase has no specification basis]
169
169
 
170
170
  After presenting the finding and proposed fix, ask:
171
171
 
172
- > **Finding {N} of {total}: {Brief Title}**
173
- >
174
- > · · · · · · · · · · · ·
175
- > **To proceed:**
176
- > - **`y`/`yes`** — Approved. I'll apply it to the plan verbatim.
177
- > - **`s`/`skip`** — Leave this as-is and move to the next finding.
178
- > - **Or tell me what to change.**
179
- > · · · · · · · · · · · ·
172
+ **Finding {N} of {total}: {Brief Title}**
173
+
174
+ · · · · · · · · · · · ·
175
+ **To proceed:**
176
+ - **`y`/`yes`** — Approved. I'll apply it to the plan verbatim.
177
+ - **`s`/`skip`** — Leave this as-is and move to the next finding.
178
+ - **Or tell me what to change.**
179
+ · · · · · · · · · · · ·
180
180
 
181
181
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
182
182
 
@@ -197,13 +197,13 @@ Apply the fix to the plan — as presented, using the output format adapter to d
197
197
 
198
198
  Confirm:
199
199
 
200
- > "Finding {N} of {total}: {Brief Title} — fixed."
200
+ "Finding {N} of {total}: {Brief Title} — fixed."
201
201
 
202
202
  ### If Skipped
203
203
 
204
204
  Update the tracking file: mark resolution as "Skipped", note the reason.
205
205
 
206
- > "Finding {N} of {total}: {Brief Title} — skipped."
206
+ "Finding {N} of {total}: {Brief Title} — skipped."
207
207
 
208
208
  ### Next Finding
209
209
 
@@ -65,15 +65,15 @@ After completing your review:
65
65
 
66
66
  **Stage 1: Summary**
67
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."
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
77
 
78
78
  **Stage 2: Process One Item at a Time**
79
79
 
@@ -83,15 +83,15 @@ Work through each finding **one at a time**. For each finding: present it, propo
83
83
 
84
84
  Show the finding with full detail:
85
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]
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
95
 
96
96
  ### Propose the Fix
97
97
 
@@ -101,60 +101,60 @@ State the action type explicitly so the user knows what's changing structurally:
101
101
 
102
102
  **Update a task** — change content within an existing task:
103
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]
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
111
 
112
112
  **Add content to a task** — insert into an existing task (e.g., missing acceptance criteria, edge case):
113
113
 
114
- > **Proposed fix — add to Phase {N}, Task {M}, {section}:**
115
- >
116
- > [The exact content to be added, in plan format]
114
+ **Proposed fix — add to Phase {N}, Task {M}, {section}:**
115
+
116
+ [The exact content to be added, in plan format]
117
117
 
118
118
  **Remove content from a task** — strip content that shouldn't be there:
119
119
 
120
- > **Proposed fix — remove from Phase {N}, Task {M}, {section}:**
121
- >
122
- > [The exact content to be removed]
120
+ **Proposed fix — remove from Phase {N}, Task {M}, {section}:**
121
+
122
+ [The exact content to be removed]
123
123
 
124
124
  **Add a new task** — a spec section has no plan coverage and needs its own task:
125
125
 
126
- > **Proposed fix — add new task to Phase {N}:**
127
- >
128
- > [The complete task in plan format, using the task template]
126
+ **Proposed fix — add new task to Phase {N}:**
127
+
128
+ [The complete task in plan format, using the task template]
129
129
 
130
130
  **Remove a task** — an entire task is hallucinated with no spec backing:
131
131
 
132
- > **Proposed fix — remove Phase {N}, Task {M}: {Task Name}**
133
- >
134
- > **Reason**: [Why this task has no specification basis]
132
+ **Proposed fix — remove Phase {N}, Task {M}: {Task Name}**
133
+
134
+ **Reason**: [Why this task has no specification basis]
135
135
 
136
136
  **Add a new phase** — a significant area of the specification has no plan coverage:
137
137
 
138
- > **Proposed fix — add new Phase {N}: {Phase Name}**
139
- >
140
- > [Phase goal, acceptance criteria, and task overview]
138
+ **Proposed fix — add new Phase {N}: {Phase Name}**
139
+
140
+ [Phase goal, acceptance criteria, and task overview]
141
141
 
142
142
  **Remove a phase** — an entire phase is not backed by the specification:
143
143
 
144
- > **Proposed fix — remove Phase {N}: {Phase Name}**
145
- >
146
- > **Reason**: [Why this phase has no specification basis]
144
+ **Proposed fix — remove Phase {N}: {Phase Name}**
145
+
146
+ **Reason**: [Why this phase has no specification basis]
147
147
 
148
148
  After presenting the finding and proposed fix, ask:
149
149
 
150
- > **Finding {N} of {total}: {Brief Title}**
151
- >
152
- > · · · · · · · · · · · ·
153
- > **To proceed:**
154
- > - **`y`/`yes`** — Approved. I'll apply it to the plan verbatim.
155
- > - **`s`/`skip`** — Leave this as-is and move to the next finding.
156
- > - **Or tell me what to change.**
157
- > · · · · · · · · · · · ·
150
+ **Finding {N} of {total}: {Brief Title}**
151
+
152
+ · · · · · · · · · · · ·
153
+ **To proceed:**
154
+ - **`y`/`yes`** — Approved. I'll apply it to the plan verbatim.
155
+ - **`s`/`skip`** — Leave this as-is and move to the next finding.
156
+ - **Or tell me what to change.**
157
+ · · · · · · · · · · · ·
158
158
 
159
159
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
160
160
 
@@ -175,13 +175,13 @@ Apply the fix to the plan — as presented, using the output format adapter to d
175
175
 
176
176
  Confirm:
177
177
 
178
- > "Finding {N} of {total}: {Brief Title} — fixed."
178
+ "Finding {N} of {total}: {Brief Title} — fixed."
179
179
 
180
180
  ### If Skipped
181
181
 
182
182
  Update the tracking file: mark resolution as "Skipped", note the reason.
183
183
 
184
- > "Finding {N} of {total}: {Brief Title} — skipped."
184
+ "Finding {N} of {total}: {Brief Title} — skipped."
185
185
 
186
186
  ### Next Finding
187
187
 
@@ -24,10 +24,10 @@ Either way: Explore feasibility (technical, business, market), validate assumpti
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
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."
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."
28
28
 
29
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?"
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?"
31
31
 
32
32
  ---
33
33
 
@@ -85,13 +85,13 @@ Watch for these signs that a thread is moving from exploration toward decision-m
85
85
 
86
86
  When you notice convergence, **flag it and give the user options**:
87
87
 
88
- > This thread seems to be converging — we've explored {topic} enough that the tradeoffs are clear and it's approaching decision territory.
89
- >
90
- > · · · · · · · · · · · ·
91
- > - **`p`/`park`** — Mark as discussion-ready and move to another topic
92
- > - **`k`/`keep`** — Keep digging, there's more to understand
93
- > - Comment — your call
94
- > · · · · · · · · · · · ·
88
+ This thread seems to be converging — we've explored {topic} enough that the tradeoffs are clear and it's approaching decision territory.
89
+
90
+ · · · · · · · · · · · ·
91
+ - **`p`/`park`** — Mark as discussion-ready and move to another topic
92
+ - **`k`/`keep`** — Keep digging, there's more to understand
93
+ - Comment — your call
94
+ · · · · · · · · · · · ·
95
95
 
96
96
  **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
97
97
 
@@ -72,17 +72,17 @@ For each topic or subtopic, perform exhaustive extraction:
72
72
  ### 2. Synthesize and Present
73
73
  Present your understanding to the user **in the format it would appear in the specification**. Output the content as rendered markdown (not in a code block) — the user needs to read it naturally, not inspect raw formatting:
74
74
 
75
- > "Here's what I understand about [topic] based on the reference material. This is exactly what I'll write into the specification:
76
- >
77
- > [content as rendered markdown]
75
+ "Here's what I understand about [topic] based on the reference material. This is exactly what I'll write into the specification:
76
+
77
+ [content as rendered markdown]
78
78
 
79
79
  Then, **separately from the content above** (clear visual break), present the choices as raw markdown:
80
80
 
81
- > · · · · · · · · · · · ·
82
- > **To proceed:**
83
- > - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim** (exactly as shown, no modifications).
84
- > - **Or tell me what to change.**
85
- > · · · · · · · · · · · ·
81
+ · · · · · · · · · · · ·
82
+ **To proceed:**
83
+ - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim** (exactly as shown, no modifications).
84
+ - **Or tell me what to change.**
85
+ · · · · · · · · · · · ·
86
86
 
87
87
  **Do not wrap content or choices in a code block** — both must render as styled markdown. The content and choices must be visually distinct (not run together).
88
88
 
@@ -491,18 +491,18 @@ After completing your review (steps 1-7):
491
491
 
492
492
  Present a numbered summary of everything you found (from your tracking file):
493
493
 
494
- > "I've completed my final review against all source material. I found [N] items:
495
- >
496
- > 1. **[Brief title]**
497
- > [2-4 line explanation: what was missed, where it came from, what it affects]
498
- >
499
- > 2. **[Brief title]**
500
- > [2-4 line explanation]
501
- >
502
- > 3. **[Brief title]**
503
- > [2-4 line explanation]
504
- >
505
- > Let's work through these one at a time, starting with #1."
494
+ "I've completed my final review against all source material. I found [N] items:
495
+
496
+ 1. **[Brief title]**
497
+ [2-4 line explanation: what was missed, where it came from, what it affects]
498
+
499
+ 2. **[Brief title]**
500
+ [2-4 line explanation]
501
+
502
+ 3. **[Brief title]**
503
+ [2-4 line explanation]
504
+
505
+ Let's work through these one at a time, starting with #1."
506
506
 
507
507
  Each item should have enough context that the user understands what they're about to discuss - not just a label, but clarity on what was missed and why it matters.
508
508
 
@@ -514,15 +514,15 @@ For each item, follow the **same workflow as the main specification process**:
514
514
  2. **Discuss** if needed - clarify ambiguities, answer questions, refine the content
515
515
  3. **Present for approval** - show as rendered markdown (not a code block) exactly what will be written to the specification. Then, separately, show the choices:
516
516
 
517
- > "Here's what I'll add to the specification:
518
- >
519
- > [content as rendered markdown]
520
- >
521
- > · · · · · · · · · · · ·
522
- > **To proceed:**
523
- > - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim**.
524
- > - **Or tell me what to change.**
525
- > · · · · · · · · · · · ·
517
+ "Here's what I'll add to the specification:
518
+
519
+ [content as rendered markdown]
520
+
521
+ · · · · · · · · · · · ·
522
+ **To proceed:**
523
+ - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim**.
524
+ - **Or tell me what to change.**
525
+ · · · · · · · · · · · ·
526
526
 
527
527
  **Do not wrap content or choices in a code block.** Content and choices must be visually distinct.
528
528
 
@@ -630,15 +630,15 @@ Follow the same two-stage presentation as Phase 1:
630
630
 
631
631
  **Stage 1: Summary**
632
632
 
633
- > "I've completed the gap analysis of the specification. I found [N] items:
634
- >
635
- > 1. **[Brief title]** (Critical/Important/Minor)
636
- > [2-4 line explanation: what the gap is, why it matters for implementation]
637
- >
638
- > 2. **[Brief title]** (Critical/Important/Minor)
639
- > [2-4 line explanation]
640
- >
641
- > Let's work through these one at a time, starting with #1."
633
+ "I've completed the gap analysis of the specification. I found [N] items:
634
+
635
+ 1. **[Brief title]** (Critical/Important/Minor)
636
+ [2-4 line explanation: what the gap is, why it matters for implementation]
637
+
638
+ 2. **[Brief title]** (Critical/Important/Minor)
639
+ [2-4 line explanation]
640
+
641
+ Let's work through these one at a time, starting with #1."
642
642
 
643
643
  **Stage 2: Process One Item at a Time**
644
644
 
@@ -648,15 +648,15 @@ For each item:
648
648
  2. **Discuss** - work with the user to determine the correct specification content
649
649
  3. **Present for approval** - show as rendered markdown (not a code block) exactly what will be written. Then, separately, show the choices:
650
650
 
651
- > "Here's what I'll add to the specification:
652
- >
653
- > [content as rendered markdown]
654
- >
655
- > · · · · · · · · · · · ·
656
- > **To proceed:**
657
- > - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim**.
658
- > - **Or tell me what to change.**
659
- > · · · · · · · · · · · ·
651
+ "Here's what I'll add to the specification:
652
+
653
+ [content as rendered markdown]
654
+
655
+ · · · · · · · · · · · ·
656
+ **To proceed:**
657
+ - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim**.
658
+ - **Or tell me what to change.**
659
+ · · · · · · · · · · · ·
660
660
 
661
661
  **Do not wrap content or choices in a code block.** Content and choices must be visually distinct.
662
662
 
@@ -703,14 +703,14 @@ Before asking for sign-off, assess whether this is a **feature** or **cross-cutt
703
703
 
704
704
  Present your assessment to the user:
705
705
 
706
- > "This specification appears to be a **[feature/cross-cutting]** specification.
707
- >
708
- > [Brief rationale - e.g., "It defines a caching strategy that will inform how multiple features handle data retrieval, rather than being a standalone piece of functionality to build."]
709
- >
710
- > - **Feature specs** proceed to planning and implementation
711
- > - **Cross-cutting specs** are referenced by feature plans but don't have their own implementation plan
712
- >
713
- > Does this assessment seem correct?"
706
+ "This specification appears to be a **[feature/cross-cutting]** specification.
707
+
708
+ [Brief rationale - e.g., "It defines a caching strategy that will inform how multiple features handle data retrieval, rather than being a standalone piece of functionality to build."]
709
+
710
+ - **Feature specs** proceed to planning and implementation
711
+ - **Cross-cutting specs** are referenced by feature plans but don't have their own implementation plan
712
+
713
+ Does this assessment seem correct?"
714
714
 
715
715
  Wait for user confirmation before proceeding.
716
716
 
@@ -729,14 +729,14 @@ If either file still exists, delete it now. These are temporary working files th
729
729
 
730
730
  Once the type is confirmed and tracking files are removed, ask for final sign-off:
731
731
 
732
- > "The specification is ready for sign-off:
733
- > - **Type**: [feature/cross-cutting]
734
- > - **Status**: Complete
735
- >
736
- > [If feature]: This specification can proceed to planning
737
- > [If cross-cutting]: This specification will be surfaced as reference context when planning features
738
- >
739
- > Ready to mark as complete?"
732
+ "The specification is ready for sign-off:
733
+ - **Type**: [feature/cross-cutting]
734
+ - **Status**: Complete
735
+
736
+ [If feature]: This specification can proceed to planning
737
+ [If cross-cutting]: This specification will be surfaced as reference context when planning features
738
+
739
+ Ready to mark as complete?"
740
740
 
741
741
  ### Step 4: Update Frontmatter
742
742