@leeovery/claude-technical-workflows 2.1.24 → 2.1.26

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 (48) 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 +19 -133
  10. package/skills/start-planning/references/cross-cutting-context.md +50 -0
  11. package/skills/start-planning/references/display-state.md +109 -0
  12. package/skills/start-planning/references/invoke-skill.md +29 -0
  13. package/skills/start-research/references/gather-context.md +4 -4
  14. package/skills/start-review/SKILL.md +14 -123
  15. package/skills/start-review/references/display-plans.md +103 -0
  16. package/skills/start-review/references/invoke-skill.md +32 -0
  17. package/skills/start-review/references/select-plans.md +41 -0
  18. package/skills/start-specification/references/analysis-flow.md +2 -0
  19. package/skills/start-specification/references/confirm-continue.md +21 -1
  20. package/skills/start-specification/references/confirm-create.md +15 -1
  21. package/skills/start-specification/references/confirm-refine.md +9 -1
  22. package/skills/start-specification/references/confirm-unify.md +12 -0
  23. package/skills/start-specification/references/display-analyze.md +21 -2
  24. package/skills/start-specification/references/display-blocks.md +11 -6
  25. package/skills/start-specification/references/display-groupings.md +20 -13
  26. package/skills/start-specification/references/display-single-grouped.md +13 -6
  27. package/skills/start-specification/references/display-single-has-spec.md +15 -7
  28. package/skills/start-specification/references/display-single-no-spec.md +13 -9
  29. package/skills/start-specification/references/display-single.md +0 -2
  30. package/skills/start-specification/references/display-specs-menu.md +21 -6
  31. package/skills/status/SKILL.md +155 -38
  32. package/skills/status/scripts/discovery.sh +420 -0
  33. package/skills/technical-implementation/SKILL.md +14 -6
  34. package/skills/technical-implementation/references/steps/analysis-loop.md +12 -6
  35. package/skills/technical-implementation/references/steps/task-loop.md +12 -6
  36. package/skills/technical-planning/SKILL.md +8 -4
  37. package/skills/technical-planning/references/steps/analyze-task-graph.md +8 -4
  38. package/skills/technical-planning/references/steps/author-tasks.md +4 -2
  39. package/skills/technical-planning/references/steps/define-phases.md +4 -2
  40. package/skills/technical-planning/references/steps/define-tasks.md +4 -2
  41. package/skills/technical-planning/references/steps/plan-construction.md +4 -2
  42. package/skills/technical-planning/references/steps/resolve-dependencies.md +4 -2
  43. package/skills/technical-planning/references/steps/review-integrity.md +4 -2
  44. package/skills/technical-planning/references/steps/review-traceability.md +4 -2
  45. package/skills/technical-research/SKILL.md +4 -2
  46. package/skills/technical-review/references/invoke-task-verifiers.md +37 -47
  47. package/skills/technical-specification/references/specification-guide.md +11 -3
  48. package/skills/view-plan/SKILL.md +3 -1
@@ -97,13 +97,18 @@ Use `state.scenario` from the discovery output to determine the path:
97
97
 
98
98
  No specifications exist yet.
99
99
 
100
+ > *Output the next fenced block as a code block:*
101
+
100
102
  ```
103
+ Planning Overview
104
+
101
105
  No specifications found in docs/workflow/specification/
102
106
 
103
- The planning phase requires a concluded specification. Please run /start-specification first.
107
+ The planning phase requires a concluded specification.
108
+ Run /start-specification first.
104
109
  ```
105
110
 
106
- **STOP.** Wait for user to acknowledge before ending.
111
+ **STOP.** Do not proceed terminal condition.
107
112
 
108
113
  #### If scenario is "nothing_actionable"
109
114
 
@@ -121,71 +126,9 @@ At least one specification is ready for planning, or an existing plan can be con
121
126
 
122
127
  ## Step 3: Present Workflow State and Options
123
128
 
124
- Present everything discovered to help the user make an informed choice.
125
-
126
- **Present the full state:**
127
-
128
- ```
129
- Planning Phase
130
-
131
- Available:
132
- 1. + {topic-2} - create new plan
133
- 2. ▶ {topic-3} - continue in-progress plan
134
- 3. > {topic-4} - review concluded plan
135
-
136
- Not plannable specifications:
137
- · {topic-1} [feature, in-progress]
138
- · {caching-strategy} [cross-cutting, concluded]
139
- · {rate-limiting} [cross-cutting, in-progress]
140
- ```
141
-
142
- **Output in a fenced code block exactly as shown above.**
143
-
144
- **Formatting rules:**
145
-
146
- Available (numbered, selectable):
147
- - **`+`** — concluded spec with no plan yet
148
- - **`▶`** — has a plan with `plan_status: planning`
149
- - **`>`** — has a plan with `plan_status: concluded`
150
-
151
- Not plannable specifications (no number, not selectable — `[type, status]` format):
152
- - **`·`** — feature specs still in-progress, or cross-cutting specifications
153
- - Feature specs: `[feature, in-progress]`
154
- - Cross-cutting specs: `[cross-cutting, {status}]`
155
-
156
- Omit either section entirely if it has no entries.
157
-
158
- **Then prompt based on what's actionable:**
159
-
160
- **If multiple actionable items:**
161
- ```
162
- · · · · · · · · · · · ·
163
- Select a specification (enter number):
164
- ```
165
-
166
- **STOP.** Wait for user response.
167
-
168
- **If single actionable item (auto-select):**
169
- ```
170
- Auto-selecting: {topic} (only actionable specification)
171
- ```
172
-
173
- → Proceed directly to **Step 4**.
129
+ Load **[display-state.md](references/display-state.md)** and follow its instructions as written.
174
130
 
175
- **If nothing actionable:**
176
- ```
177
- No plannable specifications.
178
-
179
- Before you can start planning:
180
- - Complete any in-progress specifications with /start-specification, or
181
- - Create a new specification first
182
-
183
- Then re-run /start-planning.
184
- ```
185
-
186
- **STOP.** This workflow cannot continue — do not proceed.
187
-
188
- → Based on user choice, proceed to **Step 4**.
131
+ → Proceed to **Step 4**.
189
132
 
190
133
  ---
191
134
 
@@ -207,54 +150,26 @@ The plan already has its context from when it was created. Skip context gatherin
207
150
 
208
151
  ## Step 5: Gather Additional Context
209
152
 
210
- Ask:
211
- - Any additional context or priorities to consider?
212
- - Any constraints since the specification was concluded?
213
-
214
- **STOP.** Wait for user response.
215
-
216
- → Proceed to **Step 6**.
217
-
218
- ---
219
-
220
- ## Step 6: Surface Cross-Cutting Context
221
-
222
- **If no cross-cutting specifications exist**: Skip this step. → Proceed to **Step 7**.
223
-
224
- Read each cross-cutting specification from `specifications.crosscutting` in the discovery output.
225
-
226
- ### 6a: Warn about in-progress cross-cutting specs
227
-
228
- If any **in-progress** cross-cutting specifications exist, check whether they could be relevant to the feature being planned (by topic overlap — e.g., a caching strategy is relevant if the feature involves data retrieval or API calls).
229
-
230
- If any are relevant:
153
+ > *Output the next fenced block as markdown (not a code block):*
231
154
 
232
155
  ```
233
- Note: The following cross-cutting specifications are still in-progress:
234
- · {rate-limiting} - in-progress
235
-
236
- These may contain architectural decisions relevant to this plan.
237
-
238
156
  · · · · · · · · · · · ·
239
- - **`c`/`continue`** Plan without them
240
- - **`s`/`stop`** — Complete them first (/start-specification)
157
+ Any additional context since the specification was concluded?
158
+
159
+ - **`c`/`continue`** — Continue with the specification as-is
160
+ - Or provide additional context (priorities, constraints, new considerations)
241
161
  · · · · · · · · · · · ·
242
162
  ```
243
163
 
244
164
  **STOP.** Wait for user response.
245
165
 
246
- If the user chooses to stop, end here. If they choose to continue, proceed.
247
-
248
- ### 6b: Summarize concluded cross-cutting specs
166
+ Proceed to **Step 6**.
249
167
 
250
- If any **concluded** cross-cutting specifications exist, identify which are relevant to the feature being planned and summarize for handoff:
168
+ ---
251
169
 
252
- ```
253
- Cross-cutting specifications to reference:
254
- - caching-strategy.md: [brief summary of key decisions]
255
- ```
170
+ ## Step 6: Surface Cross-Cutting Context
256
171
 
257
- These specifications contain validated architectural decisions that should inform the plan. The planning skill will incorporate these as a "Cross-Cutting References" section in the plan.
172
+ Load **[cross-cutting-context.md](references/cross-cutting-context.md)** and follow its instructions as written.
258
173
 
259
174
  → Proceed to **Step 7**.
260
175
 
@@ -262,33 +177,4 @@ These specifications contain validated architectural decisions that should infor
262
177
 
263
178
  ## Step 7: Invoke the Skill
264
179
 
265
- After completing the steps above, this skill's purpose is fulfilled.
266
-
267
- Invoke the [technical-planning](../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.
268
-
269
- **Example handoff (fresh plan):**
270
- ```
271
- Planning session for: {topic}
272
- Specification: docs/workflow/specification/{topic}.md
273
- Additional context: {summary of user's answers from Step 5}
274
- Cross-cutting references: {list of applicable cross-cutting specs with brief summaries, or "none"}
275
- Recommended output format: {common_format from discovery if non-empty, otherwise "none"}
276
-
277
- Invoke the technical-planning skill.
278
- ```
279
-
280
- **Example handoff (continue/review existing plan):**
281
- ```
282
- Planning session for: {topic}
283
- Specification: docs/workflow/specification/{topic}.md
284
- Existing plan: docs/workflow/planning/{topic}.md
285
-
286
- Invoke the technical-planning skill.
287
- ```
288
-
289
- ## Notes
290
-
291
- - Ask questions clearly and wait for responses before proceeding
292
- - The feature specification is the primary source of truth for planning
293
- - Cross-cutting specifications provide supplementary context for architectural decisions
294
- - Do not reference discussions - only specifications
180
+ Load **[invoke-skill.md](references/invoke-skill.md)** and follow its instructions as written.
@@ -0,0 +1,50 @@
1
+ # Cross-Cutting Context
2
+
3
+ *Reference for **[start-planning](../SKILL.md)***
4
+
5
+ ---
6
+
7
+ **If no cross-cutting specifications exist**:
8
+
9
+ Skip this step.
10
+
11
+ → Proceed to **Step 7**.
12
+
13
+ Read each cross-cutting specification from `specifications.crosscutting` in the discovery output.
14
+
15
+ ### 6a: Warn about in-progress cross-cutting specs
16
+
17
+ If any **in-progress** cross-cutting specifications exist, check whether they could be relevant to the feature being planned (by topic overlap — e.g., a caching strategy is relevant if the feature involves data retrieval or API calls).
18
+
19
+ If any are relevant:
20
+
21
+ > *Output the next fenced block as markdown (not a code block):*
22
+
23
+ ```
24
+ Cross-cutting specifications still in progress:
25
+ These may contain architectural decisions relevant to this plan.
26
+
27
+ • {topic}
28
+
29
+ · · · · · · · · · · · ·
30
+ - **`c`/`continue`** — Plan without them
31
+ - **`s`/`stop`** — Complete them first (/start-specification)
32
+ · · · · · · · · · · · ·
33
+ ```
34
+
35
+ **STOP.** Wait for user response.
36
+
37
+ If the user chooses to stop, end here. If they choose to continue, proceed.
38
+
39
+ ### 6b: Summarize concluded cross-cutting specs
40
+
41
+ If any **concluded** cross-cutting specifications exist, identify which are relevant to the feature being planned and summarize for handoff:
42
+
43
+ > *Output the next fenced block as a code block:*
44
+
45
+ ```
46
+ Cross-cutting specifications to reference:
47
+ - caching-strategy.md: [brief summary of key decisions]
48
+ ```
49
+
50
+ These specifications contain validated architectural decisions that should inform the plan. The planning skill will incorporate these as a "Cross-Cutting References" section in the plan.
@@ -0,0 +1,109 @@
1
+ # Display State and Options
2
+
3
+ *Reference for **[start-planning](../SKILL.md)***
4
+
5
+ ---
6
+
7
+ Present everything discovered to help the user make an informed choice.
8
+
9
+ **Present the full state:**
10
+
11
+ > *Output the next fenced block as a code block:*
12
+
13
+ ```
14
+ Planning Overview
15
+
16
+ {N} specifications found. {M} plans exist.
17
+
18
+ 1. {topic:(titlecase)}
19
+ └─ Plan: @if(has_plan) {plan_status:[in-progress|concluded]} @else (no plan) @endif
20
+ └─ Spec: concluded
21
+
22
+ 2. ...
23
+ ```
24
+
25
+ **Tree rules:**
26
+
27
+ Each numbered item shows a feature specification that is actionable:
28
+ - Concluded spec with no plan → `Plan: (no plan)`
29
+ - Has a plan with `plan_status: planning` → `Plan: in-progress`
30
+ - Has a plan with `plan_status: concluded` → `Plan: concluded`
31
+
32
+ **If non-plannable specifications exist**, show them in a separate code block:
33
+
34
+ > *Output the next fenced block as a code block:*
35
+
36
+ ```
37
+ Specifications not ready for planning:
38
+ These specifications are either still in progress or cross-cutting
39
+ and cannot be planned directly.
40
+
41
+ • {topic} ({type:[feature|cross-cutting]}, {status:[in-progress|concluded]})
42
+ ```
43
+
44
+ **Key/Legend** — show only statuses that appear in the current display. No `---` separator before this section.
45
+
46
+ > *Output the next fenced block as a code block:*
47
+
48
+ ```
49
+ Key:
50
+
51
+ Plan status:
52
+ in-progress — planning work is ongoing
53
+ concluded — plan is complete
54
+
55
+ Spec type:
56
+ cross-cutting — architectural policy, not directly plannable
57
+ feature — plannable feature specification
58
+ ```
59
+
60
+ Omit any section entirely if it has no entries.
61
+
62
+ **Then prompt based on what's actionable:**
63
+
64
+ **If multiple actionable items:**
65
+
66
+ The verb in the menu depends on the plan state:
67
+ - No plan exists → **Create**
68
+ - Plan is `in-progress` → **Continue**
69
+ - Plan is `concluded` → **Review**
70
+
71
+ > *Output the next fenced block as markdown (not a code block):*
72
+
73
+ ```
74
+ · · · · · · · · · · · ·
75
+ 1. Create "Auth Flow" — concluded spec, no plan
76
+ 2. Continue "Data Model" — plan in-progress
77
+ 3. Review "Billing" — plan concluded
78
+
79
+ Select an option (enter number):
80
+ · · · · · · · · · · · ·
81
+ ```
82
+
83
+ Recreate with actual topics and states from discovery.
84
+
85
+ **STOP.** Wait for user response.
86
+
87
+ **If single actionable item (auto-select):**
88
+
89
+ > *Output the next fenced block as a code block:*
90
+
91
+ ```
92
+ Automatically proceeding with "{topic:(titlecase)}".
93
+ ```
94
+
95
+ **If nothing actionable:**
96
+
97
+ > *Output the next fenced block as a code block:*
98
+
99
+ ```
100
+ Planning Overview
101
+
102
+ No plannable specifications found.
103
+
104
+ The planning phase requires a concluded feature specification.
105
+ Complete any in-progress specifications with /start-specification,
106
+ or create a new specification first.
107
+ ```
108
+
109
+ **STOP.** Do not proceed — terminal condition.
@@ -0,0 +1,29 @@
1
+ # Invoke the Skill
2
+
3
+ *Reference for **[start-planning](../SKILL.md)***
4
+
5
+ ---
6
+
7
+ After completing the steps above, this skill's purpose is fulfilled.
8
+
9
+ Invoke the [technical-planning](../../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.
10
+
11
+ **Example handoff (fresh plan):**
12
+ ```
13
+ Planning session for: {topic}
14
+ Specification: docs/workflow/specification/{topic}.md
15
+ Additional context: {summary of user's answers from Step 5}
16
+ Cross-cutting references: {list of applicable cross-cutting specs with brief summaries, or "none"}
17
+ Recommended output format: {common_format from discovery if non-empty, otherwise "none"}
18
+
19
+ Invoke the technical-planning skill.
20
+ ```
21
+
22
+ **Example handoff (continue/review existing plan):**
23
+ ```
24
+ Planning session for: {topic}
25
+ Specification: docs/workflow/specification/{topic}.md
26
+ Existing plan: docs/workflow/planning/{topic}.md
27
+
28
+ Invoke the technical-planning skill.
29
+ ```
@@ -10,7 +10,7 @@ Ask each question below **one at a time**. After each, **STOP** and wait for the
10
10
 
11
11
  ## Seed Idea
12
12
 
13
- Ask:
13
+ > *Output the next fenced block as a code block:*
14
14
 
15
15
  ```
16
16
  What's on your mind?
@@ -25,7 +25,7 @@ What's on your mind?
25
25
 
26
26
  ## Current Knowledge
27
27
 
28
- Ask:
28
+ > *Output the next fenced block as a code block:*
29
29
 
30
30
  ```
31
31
  What do you already know?
@@ -40,7 +40,7 @@ What do you already know?
40
40
 
41
41
  ## Starting Point
42
42
 
43
- Ask:
43
+ > *Output the next fenced block as a code block:*
44
44
 
45
45
  ```
46
46
  Where should we start?
@@ -55,7 +55,7 @@ Where should we start?
55
55
 
56
56
  ## Final Context
57
57
 
58
- Ask:
58
+ > *Output the next fenced block as a code block:*
59
59
 
60
60
  ```
61
61
  Any constraints or context I should know about upfront?
@@ -90,13 +90,19 @@ Use `state.scenario` from the discovery output to determine the path:
90
90
 
91
91
  No plans exist yet.
92
92
 
93
+ > *Output the next fenced block as a code block:*
94
+
93
95
  ```
96
+ Review Overview
97
+
94
98
  No plans found in docs/workflow/planning/
95
99
 
96
- The review phase requires a completed implementation based on a plan. Please run /start-planning first to create a plan, then /start-implementation to build it.
100
+ The review phase requires a completed implementation based on a plan.
101
+ Run /start-planning first to create a plan, then /start-implementation
102
+ to build it.
97
103
  ```
98
104
 
99
- **STOP.** Wait for user to acknowledge before ending.
105
+ **STOP.** Do not proceed terminal condition.
100
106
 
101
107
  #### If scenario is "single_plan" or "multiple_plans"
102
108
 
@@ -106,107 +112,17 @@ Plans exist.
106
112
 
107
113
  ---
108
114
 
109
- ## Step 3: Present Plans and Select Scope
110
-
111
- Present all discovered plans with implementation status to help the user understand what's reviewable.
112
-
113
- **Present the full state:**
114
-
115
- ```
116
- Review Phase
117
-
118
- Reviewable:
119
- 1. ✓ {topic-1} (completed) - format: {format}, spec: {exists|missing}
120
- 2. ▶ {topic-2} (in-progress) - format: {format}, spec: {exists|missing}
121
-
122
- Not reviewable:
123
- · {topic-3} [no implementation]
124
- ```
125
-
126
- **Output in a fenced code block exactly as shown above.**
127
-
128
- **Formatting rules:**
129
-
130
- Reviewable (numbered, selectable):
131
- - **`✓`** — implementation_status: completed
132
- - **`▶`** — implementation_status: in-progress
133
-
134
- Not reviewable (not numbered, not selectable):
135
- - **`·`** — implementation_status: none
136
-
137
- Omit either section entirely if it has no entries.
138
-
139
- **Then route based on what's reviewable:**
140
-
141
- #### If no reviewable plans
142
-
143
- ```
144
- No implemented plans found.
145
-
146
- The review phase requires at least one plan with an implementation.
147
- Please run /start-implementation first.
148
- ```
149
-
150
- **STOP.** Wait for user to acknowledge before ending.
151
-
152
- #### If single reviewable plan
153
-
154
- ```
155
- Auto-selecting: {topic} (only reviewable plan)
156
- Scope: single
157
- ```
158
-
159
- → Proceed directly to **Step 5**.
160
-
161
- #### If multiple reviewable plans
115
+ ## Step 3: Display Plans
162
116
 
163
- ```
164
- · · · · · · · · · · · ·
165
- What scope would you like to review?
166
-
167
- - **`s`/`single`** — Review one plan's implementation
168
- - **`m`/`multi`** — Review selected plans together (cross-cutting)
169
- - **`a`/`all`** — Review all implemented plans (full product)
170
- · · · · · · · · · · · ·
171
- ```
172
-
173
- **STOP.** Wait for user response.
117
+ Load **[display-plans.md](references/display-plans.md)** and follow its instructions as written.
174
118
 
175
- Based on user choice, proceed to **Step 4**.
119
+ Proceed to **Step 4**.
176
120
 
177
121
  ---
178
122
 
179
- ## Step 4: Plan Selection
180
-
181
- This step only applies for `single` or `multi` scope chosen in Step 3.
182
-
183
- #### If scope is "all"
184
-
185
- All reviewable plans are included. No selection needed.
123
+ ## Step 4: Select Plans
186
124
 
187
- Proceed directly to **Step 5**.
188
-
189
- #### If scope is "single"
190
-
191
- ```
192
- · · · · · · · · · · · ·
193
- Which plan would you like to review? (Enter a number from Step 3)
194
- · · · · · · · · · · · ·
195
- ```
196
-
197
- **STOP.** Wait for user response.
198
-
199
- → Proceed to **Step 5**.
200
-
201
- #### If scope is "multi"
202
-
203
- ```
204
- · · · · · · · · · · · ·
205
- Which plans to include? (Enter numbers separated by commas, e.g. 1,3)
206
- · · · · · · · · · · · ·
207
- ```
208
-
209
- **STOP.** Wait for user response.
125
+ Load **[select-plans.md](references/select-plans.md)** and follow its instructions as written.
210
126
 
211
127
  → Proceed to **Step 5**.
212
128
 
@@ -214,29 +130,4 @@ Which plans to include? (Enter numbers separated by commas, e.g. 1,3)
214
130
 
215
131
  ## Step 5: Invoke the Skill
216
132
 
217
- After completing the steps above, this skill's purpose is fulfilled.
218
-
219
- Invoke the [technical-review](../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.
220
-
221
- **Example handoff (single):**
222
- ```
223
- Review session for: {topic}
224
- Review scope: single
225
- Plan: docs/workflow/planning/{topic}.md
226
- Format: {format}
227
- Plan ID: {plan_id} (if applicable)
228
- Specification: {specification} (exists: {true|false})
229
-
230
- Invoke the technical-review skill.
231
- ```
232
-
233
- **Example handoff (multi/all):**
234
- ```
235
- Review session for: {scope description}
236
- Review scope: {multi | all}
237
- Plans:
238
- - docs/workflow/planning/{topic-1}.md (format: {format}, spec: {spec})
239
- - docs/workflow/planning/{topic-2}.md (format: {format}, spec: {spec})
240
-
241
- Invoke the technical-review skill.
242
- ```
133
+ Load **[invoke-skill.md](references/invoke-skill.md)** and follow its instructions as written.
@@ -0,0 +1,103 @@
1
+ # Display Plans
2
+
3
+ *Reference for **[start-review](../SKILL.md)***
4
+
5
+ ---
6
+
7
+ Present all discovered plans with implementation status to help the user understand what's reviewable.
8
+
9
+ **Present the full state:**
10
+
11
+ Show reviewable plans as numbered tree items.
12
+
13
+ > *Output the next fenced block as a code block:*
14
+
15
+ ```
16
+ Review Overview
17
+
18
+ {N} plans found. {M} with implementations.
19
+
20
+ 1. {topic:(titlecase)}
21
+ └─ Plan: concluded ({format})
22
+ └─ Implementation: {impl_status:[completed|in-progress]}
23
+ └─ Spec: {spec:[exists|missing]}
24
+
25
+ 2. ...
26
+ ```
27
+
28
+ **Tree rules:**
29
+
30
+ Reviewable (numbered):
31
+ - Implementation `status: completed` → `Implementation: completed`
32
+ - Implementation `status: in-progress` → `Implementation: in-progress`
33
+
34
+ Omit any section entirely if it has no entries.
35
+
36
+ **If non-reviewable plans exist**, show them in a separate code block:
37
+
38
+ > *Output the next fenced block as a code block:*
39
+
40
+ ```
41
+ Plans not ready for review:
42
+ These plans have no implementation to review.
43
+
44
+ • {topic} (no implementation)
45
+ ```
46
+
47
+ **Key/Legend** — show only statuses that appear in the current display. No `---` separator before this section.
48
+
49
+ > *Output the next fenced block as a code block:*
50
+
51
+ ```
52
+ Key:
53
+
54
+ Implementation status:
55
+ completed — all tasks implemented
56
+ in-progress — implementation still ongoing
57
+ ```
58
+
59
+ **Then route based on what's reviewable:**
60
+
61
+ #### If no reviewable plans
62
+
63
+ > *Output the next fenced block as a code block:*
64
+
65
+ ```
66
+ Review Overview
67
+
68
+ No implemented plans found.
69
+
70
+ The review phase requires at least one plan with an implementation.
71
+ Run /start-implementation first.
72
+ ```
73
+
74
+ **STOP.** Do not proceed — terminal condition.
75
+
76
+ #### If single reviewable plan
77
+
78
+ > *Output the next fenced block as a code block:*
79
+
80
+ ```
81
+ Automatically proceeding with "{topic:(titlecase)}".
82
+ Scope: single
83
+ ```
84
+
85
+ → Proceed directly to **Step 5**.
86
+
87
+ #### If multiple reviewable plans
88
+
89
+ > *Output the next fenced block as markdown (not a code block):*
90
+
91
+ ```
92
+ · · · · · · · · · · · ·
93
+ What scope would you like to review?
94
+
95
+ - **`s`/`single`** — Review one plan's implementation
96
+ - **`m`/`multi`** — Review selected plans together (cross-cutting)
97
+ - **`a`/`all`** — Review all implemented plans (full product)
98
+ · · · · · · · · · · · ·
99
+ ```
100
+
101
+ **STOP.** Wait for user response.
102
+
103
+ → Based on user choice, proceed to **Step 4**.