@leeovery/claude-technical-workflows 2.1.23 → 2.1.25

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 (45) hide show
  1. package/agents/review-task-verifier.md +22 -10
  2. package/package.json +1 -1
  3. package/skills/link-dependencies/SKILL.md +60 -33
  4. package/skills/start-discussion/references/display-options.md +44 -15
  5. package/skills/start-discussion/references/gather-context-continue.md +2 -0
  6. package/skills/start-discussion/references/gather-context-fresh.md +6 -0
  7. package/skills/start-discussion/references/gather-context-research.md +2 -2
  8. package/skills/start-implementation/SKILL.md +114 -47
  9. package/skills/start-planning/SKILL.md +94 -36
  10. package/skills/start-research/references/gather-context.md +4 -4
  11. package/skills/start-review/SKILL.md +14 -123
  12. package/skills/start-review/references/display-plans.md +103 -0
  13. package/skills/start-review/references/invoke-skill.md +32 -0
  14. package/skills/start-review/references/select-plans.md +41 -0
  15. package/skills/start-specification/references/analysis-flow.md +2 -0
  16. package/skills/start-specification/references/confirm-continue.md +21 -1
  17. package/skills/start-specification/references/confirm-create.md +15 -1
  18. package/skills/start-specification/references/confirm-refine.md +9 -1
  19. package/skills/start-specification/references/confirm-unify.md +12 -0
  20. package/skills/start-specification/references/display-analyze.md +21 -2
  21. package/skills/start-specification/references/display-blocks.md +11 -6
  22. package/skills/start-specification/references/display-groupings.md +20 -13
  23. package/skills/start-specification/references/display-single-grouped.md +13 -6
  24. package/skills/start-specification/references/display-single-has-spec.md +15 -7
  25. package/skills/start-specification/references/display-single-no-spec.md +13 -9
  26. package/skills/start-specification/references/display-single.md +0 -2
  27. package/skills/start-specification/references/display-specs-menu.md +21 -6
  28. package/skills/status/SKILL.md +18 -11
  29. package/skills/technical-implementation/SKILL.md +45 -37
  30. package/skills/technical-implementation/references/steps/analysis-loop.md +53 -47
  31. package/skills/technical-implementation/references/steps/task-loop.md +48 -42
  32. package/skills/technical-planning/SKILL.md +25 -21
  33. package/skills/technical-planning/references/steps/analyze-task-graph.md +36 -32
  34. package/skills/technical-planning/references/steps/author-tasks.md +12 -10
  35. package/skills/technical-planning/references/steps/define-phases.md +13 -11
  36. package/skills/technical-planning/references/steps/define-tasks.md +10 -8
  37. package/skills/technical-planning/references/steps/plan-construction.md +15 -13
  38. package/skills/technical-planning/references/steps/plan-review.md +5 -5
  39. package/skills/technical-planning/references/steps/resolve-dependencies.md +9 -7
  40. package/skills/technical-planning/references/steps/review-integrity.md +56 -54
  41. package/skills/technical-planning/references/steps/review-traceability.md +56 -54
  42. package/skills/technical-research/SKILL.md +12 -10
  43. package/skills/technical-review/references/invoke-task-verifiers.md +37 -47
  44. package/skills/technical-specification/references/specification-guide.md +74 -66
  45. package/skills/view-plan/SKILL.md +3 -1
@@ -27,32 +27,37 @@ docs/workflow/research/
27
27
  docs/workflow/discussion/
28
28
  docs/workflow/specification/
29
29
  docs/workflow/planning/
30
+ docs/workflow/implementation/
30
31
  ```
31
32
 
33
+ For implementation, check `docs/workflow/implementation/{topic}/tracking.md` files and extract frontmatter fields: `status`, `current_phase`, `current_task`, `completed_tasks`, `completed_phases`.
34
+
32
35
  ## Step 2: Present Status
33
36
 
34
37
  Research is project-wide exploration. From discussion onwards, work is organised by **topic** - different topics may be at different stages.
35
38
 
36
- Show a summary like this:
39
+ > *Output the next fenced block as markdown (not a code block):*
37
40
 
38
41
  ```
39
- ## Workflow Status
40
-
41
- **Research:** 2 files (exploration.md, market-analysis.md)
42
+ **Workflow Overview**
42
43
 
43
- **Topics:**
44
+ **Research:** {count} files ({filenames})
44
45
 
45
- | Topic | Discussion | Spec | Plan | Implemented |
46
- |--------------|------------|------|------|-------------|
47
- | auth-system | | | | in progress |
48
- | payment-flow | | | - | - |
49
- | notifications| ✓ | - | - | - |
46
+ | Topic | Discussion | Spec | Plan | Implemented |
47
+ |-------|------------|------|------|-------------|
48
+ | {topic} | {discussion_status} | {spec_status} | {plan_status} | {impl_status} |
49
+ | ... | | | | |
50
50
  ```
51
51
 
52
52
  Adapt based on what exists:
53
- - If a directory is empty or missing, show "Not started"
53
+ - If a directory is empty or missing, show `-`
54
54
  - For planning, note the output format if specified in frontmatter
55
55
  - Match topics across phases by filename
56
+ - For implementation, derive the Implemented column from tracking file data:
57
+ - No tracking file → `-`
58
+ - `status: not-started` → `not started`
59
+ - `status: in-progress` → `phase {current_phase} ({n}/{total} tasks done)` — count `completed_tasks` for n; use total task count from `completed_tasks` + remaining if available, otherwise just show completed count
60
+ - `status: completed` → `completed`
56
61
 
57
62
  ## Step 3: Suggest Next Steps
58
63
 
@@ -75,6 +80,8 @@ Keep suggestions brief - the user knows their project's dependencies better than
75
80
 
76
81
  If planning files exist, let the user know they can view plan details:
77
82
 
83
+ > *Output the next fenced block as a code block:*
84
+
78
85
  ```
79
86
  To view a plan's tasks and progress, use /view-plan
80
87
  ```
@@ -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,16 +166,18 @@ 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
+ > *Output the next fenced block as markdown (not a code block):*
177
170
 
178
- **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
171
+ ```
172
+ Previous session used these project skills:
173
+ - `{skill-name}` — {path}
174
+ - ...
175
+
176
+ · · · · · · · · · · · ·
177
+ - **`y`/`yes`** — Keep these, proceed
178
+ - **`c`/`change`** — Re-discover and choose skills
179
+ · · · · · · · · · · · ·
180
+ ```
179
181
 
180
182
  **STOP.** Wait for user choice.
181
183
 
@@ -184,6 +186,8 @@ Present the existing configuration for confirmation:
184
186
 
185
187
  #### If `.claude/skills/` does not exist or is empty
186
188
 
189
+ > *Output the next fenced block as a code block:*
190
+
187
191
  ```
188
192
  No project skills found. Proceeding without project-specific conventions.
189
193
  ```
@@ -194,18 +198,20 @@ No project skills found. Proceeding without project-specific conventions.
194
198
 
195
199
  Scan `.claude/skills/` for project-specific skill directories. Present findings:
196
200
 
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
- > · · · · · · · · · · · ·
201
+ > *Output the next fenced block as markdown (not a code block):*
207
202
 
208
- **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
203
+ ```
204
+ Found these project skills that may be relevant to implementation:
205
+ - `{skill-name}` — {brief description}
206
+ - `{skill-name}` — {brief description}
207
+ - ...
208
+
209
+ · · · · · · · · · · · ·
210
+ - **`a`/`all`** — Use all listed skills
211
+ - **`n`/`none`** — Skip project skills
212
+ - **Or list the ones you want** — e.g. "golang-pro, react-patterns"
213
+ · · · · · · · · · · · ·
214
+ ```
209
215
 
210
216
  **STOP.** Wait for user to confirm which skills are relevant.
211
217
 
@@ -223,19 +229,21 @@ If `linters` is already populated in the tracking file, present the existing con
223
229
 
224
230
  Otherwise, present discovery findings to the user:
225
231
 
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
-
238
- **Do not wrap the above in a code block** output as raw markdown so bold styling renders.
232
+ > *Output the next fenced block as markdown (not a code block):*
233
+
234
+ ```
235
+ **Linter discovery:**
236
+ - {tool} — `{command}` (installed / not installed)
237
+ - ...
238
+
239
+ Recommendations: {any suggested tools with install commands}
240
+
241
+ · · · · · · · · · · · ·
242
+ - **`y`/`yes`** Approve these linter commands
243
+ - **`c`/`change`** — Modify the linter list
244
+ - **`s`/`skip`**Skip linter setup (no linting during TDD)
245
+ · · · · · · · · · · · ·
246
+ ```
239
247
 
240
248
  **STOP.** Wait for user choice.
241
249
 
@@ -28,16 +28,18 @@ 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}**
39
32
 
40
- **Do not wrap the above in a code block** output as raw markdown so bold styling renders.
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
+ > *Output the next fenced block as markdown (not a code block):*
36
+
37
+ ```
38
+ · · · · · · · · · · · ·
39
+ - **`p`/`proceed`** — Continue analysis *(default)*
40
+ - **`s`/`skip`** — Skip analysis, proceed to completion
41
+ · · · · · · · · · · · ·
42
+ ```
41
43
 
42
44
  **STOP.** Wait for user choice. You MUST NOT choose on the user's behalf.
43
45
 
@@ -57,17 +59,19 @@ If there are unstaged changes or untracked files, categorize them:
57
59
  - **Implementation files** (files touched by `impl({topic}):` commits) — stage these automatically.
58
60
  - **Unexpected files** (files not touched during implementation) — present to the user:
59
61
 
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
- > · · · · · · · · · · · ·
62
+ **Pre-analysis checkpoint — unexpected files detected:**
63
+ - `{file}` ({status: modified/untracked})
64
+ - ...
69
65
 
70
- **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
66
+ > *Output the next fenced block as markdown (not a code block):*
67
+
68
+ ```
69
+ · · · · · · · · · · · ·
70
+ - **`y`/`yes`** — Include all in the checkpoint commit
71
+ - **`s`/`skip`** — Exclude unexpected files, commit only implementation files
72
+ - **Comment** — Specify which to include
73
+ · · · · · · · · · · · ·
74
+ ```
71
75
 
72
76
  **STOP.** Wait for user choice.
73
77
 
@@ -121,37 +125,39 @@ Read the staging file from `docs/workflow/implementation/{topic}/analysis-tasks-
121
125
 
122
126
  Present an overview:
123
127
 
124
- > **Analysis cycle {N}: {K} proposed tasks**
125
- >
126
- > 1. {title} ({severity})
127
- > 2. {title} ({severity})
128
- > ...
128
+ **Analysis cycle {N}: {K} proposed tasks**
129
+
130
+ 1. {title} ({severity})
131
+ 2. {title} ({severity})
132
+ ...
129
133
 
130
134
  Then present each task with `status: pending` individually:
131
135
 
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
-
154
- **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
136
+ **Task {current}/{total}: {title}** ({severity})
137
+ Sources: {sources}
138
+
139
+ **Problem**: {problem}
140
+ **Solution**: {solution}
141
+ **Outcome**: {outcome}
142
+
143
+ **Do**:
144
+ {steps}
145
+
146
+ **Acceptance Criteria**:
147
+ {criteria}
148
+
149
+ **Tests**:
150
+ {tests}
151
+
152
+ > *Output the next fenced block as markdown (not a code block):*
153
+
154
+ ```
155
+ · · · · · · · · · · · ·
156
+ - **`a`/`approve`** Approve this task
157
+ - **`s`/`skip`** — Skip this task
158
+ - **Comment**Revise based on feedback
159
+ · · · · · · · · · · · ·
160
+ ```
155
161
 
156
162
  **STOP.** Wait for user input.
157
163
 
@@ -40,17 +40,19 @@ 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
- > · · · · · · · · · · · ·
52
-
53
- **Do not wrap the above in a code block** output as raw markdown so bold styling renders.
43
+ **Task {id}: {Task Name} — {blocked/failed}**
44
+
45
+ {executor's ISSUES content}
46
+
47
+ > *Output the next fenced block as markdown (not a code block):*
48
+
49
+ ```
50
+ · · · · · · · · · · · ·
51
+ - **`r`/`retry`** Re-invoke the executor with your comments (provide below)
52
+ - **`s`/`skip`** — Skip this task and move to the next
53
+ - **`t`/`stop`**Stop implementation entirely
54
+ · · · · · · · · · · · ·
55
+ ```
54
56
 
55
57
  **STOP.** Wait for user choice.
56
58
 
@@ -84,7 +86,7 @@ Increment `fix_attempts` in the implementation tracking file.
84
86
 
85
87
  Announce the fix round (one line, no stop):
86
88
 
87
- > **Review for Task {id}: {Task Name} — needs changes** (attempt {N}/{max 3}, fix analysis included). Re-invoking executor.
89
+ **Review for Task {id}: {Task Name} — needs changes** (attempt {N}/{max 3}, fix analysis included). Re-invoking executor.
88
90
 
89
91
  → 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
92
 
@@ -92,25 +94,27 @@ Announce the fix round (one line, no stop):
92
94
 
93
95
  If `fix_attempts >= 3`, the executor and reviewer have failed to converge. Prepend:
94
96
 
95
- > The executor and reviewer have not converged after {N} attempts. Escalating for human review.
97
+ The executor and reviewer have not converged after {N} attempts. Escalating for human review.
96
98
 
97
99
  Present the reviewer's findings and fix analysis to the user:
98
100
 
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
-
113
- **Do not wrap the above in a code block** output as raw markdown so bold styling renders.
101
+ **Review for Task {id}: {Task Name} — needs changes** (attempt {N})
102
+
103
+ {ISSUES from reviewer, including FIX, ALTERNATIVE, and CONFIDENCE for each}
104
+
105
+ Notes (non-blocking):
106
+ {NOTES from reviewer}
107
+
108
+ > *Output the next fenced block as markdown (not a code block):*
109
+
110
+ ```
111
+ · · · · · · · · · · · ·
112
+ - **`y`/`yes`**Accept the review and fix analysis, pass to executor
113
+ - **`a`/`auto`** Accept and auto-approve future fix analyses
114
+ - **`s`/`skip`** — Override the reviewer and proceed as-is
115
+ - **Comment** Any commentary, adjustments, alternative approaches, or questions before passing to executor
116
+ · · · · · · · · · · · ·
117
+ ```
114
118
 
115
119
  **STOP.** Wait for user choice.
116
120
 
@@ -129,19 +133,21 @@ After the reviewer approves a task, check the `task_gate_mode` field in the impl
129
133
 
130
134
  Present a summary and wait for user input:
131
135
 
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
- > · · · · · · · · · · · ·
136
+ **Task {id}: {Task Name} — approved**
137
+
138
+ Phase: {phase number} — {phase name}
139
+ {executor's SUMMARY — brief commentary, decisions, implementation notes}
143
140
 
144
- **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
141
+ > *Output the next fenced block as markdown (not a code block):*
142
+
143
+ ```
144
+ · · · · · · · · · · · ·
145
+ **Options:**
146
+ - **`y`/`yes`** — Approve, commit, continue to next task
147
+ - **`a`/`auto`** — Approve this and all future reviewer-approved tasks automatically
148
+ - **Comment** — Feedback the reviewer missed (triggers a fix round)
149
+ · · · · · · · · · · · ·
150
+ ```
145
151
 
146
152
  **STOP.** Wait for user input.
147
153
 
@@ -153,7 +159,7 @@ Present a summary and wait for user input:
153
159
 
154
160
  Announce the result (one line, no stop):
155
161
 
156
- > **Task {id}: {Task Name} — approved** (phase {N}: {phase name}, {brief summary}). Committing.
162
+ **Task {id}: {Task Name} — approved** (phase {N}: {phase name}, {brief summary}). Committing.
157
163
 
158
164
  → Proceed to **E. Update Progress and Commit**.
159
165
 
@@ -189,6 +195,6 @@ This is the end of this iteration.
189
195
 
190
196
  ## When All Tasks Are Complete
191
197
 
192
- > "All tasks complete. {M} tasks implemented."
198
+ "All tasks complete. {M} tasks implemented."
193
199
 
194
200
  → Return to the skill for **Step 7**.
@@ -80,16 +80,18 @@ 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}).
91
84
 
92
- **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
85
+ {spec change summary from spec-change-detection.md}
86
+
87
+ > *Output the next fenced block as markdown (not a code block):*
88
+
89
+ ```
90
+ · · · · · · · · · · · ·
91
+ - **`c`/`continue`** — Walk through the plan from the start. You can review, amend, or navigate at any point — including straight to the leading edge.
92
+ - **`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.
93
+ · · · · · · · · · · · ·
94
+ ```
93
95
 
94
96
  **STOP.** Wait for user response.
95
97
 
@@ -126,14 +128,16 @@ First, choose the Output Format.
126
128
 
127
129
  Present the recommendation:
128
130
 
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
- > · · · · · · · · · · · ·
131
+ Existing plans use **{format}**. Use the same format for consistency?
135
132
 
136
- **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
133
+ > *Output the next fenced block as markdown (not a code block):*
134
+
135
+ ```
136
+ · · · · · · · · · · · ·
137
+ - **`y`/`yes`** — Use {format}
138
+ - **`n`/`no`** — See all available formats
139
+ · · · · · · · · · · · ·
140
+ ```
137
141
 
138
142
  **STOP.** Wait for user choice. If declined, fall through to the full list below.
139
143
 
@@ -231,10 +235,10 @@ After the review is complete:
231
235
  3. **Final commit** — Commit the concluded plan
232
236
  4. **Present completion summary**:
233
237
 
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."
238
+ "Planning is complete for **{topic}**.
239
+
240
+ The plan contains **{N} phases** with **{M} tasks** total, reviewed for traceability against the specification and structural integrity.
241
+
242
+ Status has been marked as `concluded`. The plan is ready for implementation."
239
243
 
240
244
  > **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,17 +34,19 @@ 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}"
46
40
 
47
- **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
41
+ > *Output the next fenced block as markdown (not a code block):*
42
+
43
+ ```
44
+ · · · · · · · · · · · ·
45
+ **To proceed:**
46
+ - **`y`/`yes`** — Confirmed.
47
+ - **Or tell me what to change.**
48
+ · · · · · · · · · · · ·
49
+ ```
48
50
 
49
51
  **STOP.** Wait for the user's response.
50
52
 
@@ -52,11 +54,11 @@ The natural task order is already correct. Present as rendered markdown (not in
52
54
 
53
55
  No changes were applied. Present the cycle to the user:
54
56
 
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."
57
+ "The dependency analysis found a circular dependency:
58
+
59
+ {cycle chain from agent output}
60
+
61
+ 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
62
 
61
63
  **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
64
 
@@ -64,23 +66,25 @@ No changes were applied. Present the cycle to the user:
64
66
 
65
67
  Dependencies and priorities have already been written to the task files. Present as rendered markdown (not in a code block):
66
68
 
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
-
83
- **Do not wrap the above in a code block** output as raw markdown so bold styling renders.
69
+ "I've analyzed and applied dependencies and priorities across all {M} tasks:
70
+
71
+ **Dependencies** ({count} relationships):
72
+ {dependency list from agent output}
73
+
74
+ **Priorities**:
75
+ {priority list from agent output}
76
+
77
+ {any notes from agent output}"
78
+
79
+ > *Output the next fenced block as markdown (not a code block):*
80
+
81
+ ```
82
+ · · · · · · · · · · · ·
83
+ **To proceed:**
84
+ - **`y`/`yes`** — Approved.
85
+ - **Or tell me what to change.**
86
+ · · · · · · · · · · · ·
87
+ ```
84
88
 
85
89
  **STOP.** Wait for the user's response.
86
90
 
@@ -29,16 +29,18 @@ 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}**
40
33
 
41
- **Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
34
+ > *Output the next fenced block as markdown (not a code block):*
35
+
36
+ ```
37
+ · · · · · · · · · · · ·
38
+ **To proceed:**
39
+ - **`y`/`yes`** — Approved. I'll log it to the plan.
40
+ - **Or tell me what to change.**
41
+ - **Or navigate** — a different phase or task, or the leading edge.
42
+ · · · · · · · · · · · ·
43
+ ```
42
44
 
43
45
  **STOP.** Wait for the user's response.
44
46
 
@@ -65,6 +67,6 @@ Present the revised task in full. Ask the same choice again. Repeat until approv
65
67
 
66
68
  Confirm:
67
69
 
68
- > "Task {M} of {total}: {Task Name} — authored."
70
+ "Task {M} of {total}: {Task Name} — authored."
69
71
 
70
72
  → Return to **Plan Construction**.