@leeovery/claude-technical-workflows 2.1.34 → 2.1.36

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/README.md +1 -2
  2. package/agents/planning-task-author.md +46 -16
  3. package/agents/review-findings-synthesizer.md +14 -18
  4. package/agents/review-task-verifier.md +3 -4
  5. package/package.json +1 -1
  6. package/skills/begin-implementation/SKILL.md +5 -1
  7. package/skills/begin-planning/SKILL.md +5 -1
  8. package/skills/migrate/SKILL.md +2 -1
  9. package/skills/migrate/scripts/migrate.sh +31 -28
  10. package/skills/migrate/scripts/migrations/001-discussion-frontmatter.sh +1 -15
  11. package/skills/migrate/scripts/migrations/002-specification-frontmatter.sh +0 -14
  12. package/skills/migrate/scripts/migrations/003-planning-frontmatter.sh +0 -14
  13. package/skills/migrate/scripts/migrations/004-sources-object-format.sh +0 -12
  14. package/skills/migrate/scripts/migrations/005-plan-external-deps-frontmatter.sh +0 -12
  15. package/skills/migrate/scripts/migrations/006-directory-restructure.sh +2 -22
  16. package/skills/migrate/scripts/migrations/007-tasks-subdirectory.sh +1 -17
  17. package/skills/migrate/scripts/migrations/008-review-directory-structure.sh +0 -10
  18. package/skills/migrate/scripts/migrations/009-review-per-plan-storage.sh +117 -0
  19. package/skills/migrate/scripts/migrations/010-gitignore-sessions.sh +67 -0
  20. package/skills/start-discussion/SKILL.md +1 -1
  21. package/skills/start-discussion/references/handle-selection.md +1 -1
  22. package/skills/start-discussion/references/research-analysis.md +3 -3
  23. package/skills/start-discussion/scripts/discovery.sh +1 -1
  24. package/skills/start-review/references/display-plans.md +2 -2
  25. package/skills/start-review/references/invoke-skill.md +20 -26
  26. package/skills/start-review/references/select-plans.md +1 -1
  27. package/skills/start-review/scripts/discovery.sh +15 -64
  28. package/skills/start-specification/SKILL.md +1 -1
  29. package/skills/start-specification/references/analysis-flow.md +2 -2
  30. package/skills/start-specification/references/display-analyze.md +1 -1
  31. package/skills/start-specification/references/display-groupings.md +3 -3
  32. package/skills/start-specification/references/display-specs-menu.md +1 -1
  33. package/skills/start-specification/scripts/discovery.sh +1 -1
  34. package/skills/technical-planning/SKILL.md +4 -3
  35. package/skills/technical-planning/references/author-tasks.md +119 -35
  36. package/skills/technical-planning/references/output-formats/tick/about.md +3 -2
  37. package/skills/technical-planning/references/output-formats/tick/graph.md +2 -0
  38. package/skills/technical-planning/references/output-formats/tick/reading.md +2 -0
  39. package/skills/technical-planning/references/plan-construction.md +11 -15
  40. package/skills/technical-planning/references/review-integrity.md +1 -1
  41. package/skills/technical-review/SKILL.md +3 -13
  42. package/skills/technical-review/references/invoke-review-synthesizer.md +3 -3
  43. package/skills/technical-review/references/invoke-task-verifiers.md +5 -12
  44. package/skills/technical-review/references/produce-review.md +2 -4
  45. package/skills/technical-review/references/review-actions-loop.md +14 -22
  46. package/skills/technical-review/references/template.md +1 -21
  47. package/agents/review-product-assessor.md +0 -112
  48. package/skills/technical-review/references/invoke-product-assessor.md +0 -57
@@ -4,13 +4,25 @@
4
4
 
5
5
  ---
6
6
 
7
- This step uses the `planning-task-author` agent (`../../../agents/planning-task-author.md`) to write full detail for a single task. You invoke the agent, present its output, and handle the approval gate.
7
+ This step uses the `planning-task-author` agent (`../../../agents/planning-task-author.md`) to write full detail for all tasks in a phase. One sub-agent authors all tasks, writing to a scratch file. The orchestrator then handles per-task approval and format-specific writing to the plan.
8
8
 
9
9
  ---
10
10
 
11
- ## Author the Task
11
+ ## Section 1: Prepare the Scratch File
12
12
 
13
- ### Invoke the Agent
13
+ Scratch file path: `docs/workflow/.cache/planning/{topic}/phase-{N}.md`
14
+
15
+ Create the `docs/workflow/.cache/planning/{topic}/` directory if it does not exist.
16
+
17
+ ---
18
+
19
+ ## Section 2: Invoke the Agent (Batch)
20
+
21
+ > *Output the next fenced block as a code block:*
22
+
23
+ ```
24
+ Authoring {count} tasks for Phase {N}: {Phase Name}...
25
+ ```
14
26
 
15
27
  Invoke `planning-task-author` with these file paths:
16
28
 
@@ -19,36 +31,65 @@ Invoke `planning-task-author` with these file paths:
19
31
  3. **Cross-cutting specs**: paths from the Plan Index File's `cross_cutting_specs:` field (if any)
20
32
  4. **task-design.md**: `task-design.md`
21
33
  5. **All approved phases**: the complete phase structure from the Plan Index File body
22
- 6. **Task list for current phase**: the approved task table
23
- 7. **Target task**: the task name, edge cases, and ID from the table
24
- 8. **Output format authoring reference**: path to the format's `authoring.md` (e.g., `output-formats/{format}/authoring.md`)
34
+ 6. **Task list for current phase**: the approved task table (ALL tasks in the phase)
35
+ 7. **Scratch file path**: `docs/workflow/.cache/planning/{topic}/phase-{N}.md`
25
36
 
26
- ### Check Gate Mode
37
+ The agent writes all tasks to the scratch file and returns.
27
38
 
28
- The agent returns complete task detail following the task template from task-design.md. What the user sees is what gets logged.
39
+ ---
29
40
 
30
- > *Output the next fenced block as markdown (not a code block):*
41
+ ## Section 3: Validate Scratch File
31
42
 
32
- ```
33
- {task detail from planning-task-author agent}
34
- ```
43
+ Read the scratch file and count tasks. Verify task count matches the task table in the Plan Index File for this phase.
44
+
45
+ #### If mismatch
46
+
47
+ Re-invoke the agent with the same inputs.
48
+
49
+ #### If valid
50
+
51
+ → Proceed to **Section 4**.
52
+
53
+ ---
54
+
55
+ ## Section 4: Check Gate Mode
35
56
 
36
57
  Check `author_gate_mode` in the Plan Index File frontmatter.
37
58
 
38
59
  #### If `author_gate_mode: auto`
39
60
 
40
- **Auto mode removes the approval pause — not the sequential process.** Each task is still invoked, authored, and logged one at a time, in order. Do not batch, skip ahead, or create multiple tasks concurrently.
41
-
42
61
  > *Output the next fenced block as a code block:*
43
62
 
44
63
  ```
45
- Task {M} of {total}: {Task Name} authored. Logging to plan.
64
+ Phase {N}: {count} tasks authored. Auto-approved. Writing to plan.
46
65
  ```
47
66
 
48
- Skip to **If approved** below.
67
+ Jump to **Section 6**.
49
68
 
50
69
  #### If `author_gate_mode: gated`
51
70
 
71
+ → Enter **Section 5**.
72
+
73
+ ---
74
+
75
+ ## Section 5: Approval Loop
76
+
77
+ For each task in the scratch file, in order:
78
+
79
+ #### If task status is `approved`
80
+
81
+ Skip — already approved from a previous pass.
82
+
83
+ #### If task status is `pending`
84
+
85
+ Present the full task content:
86
+
87
+ > *Output the next fenced block as markdown (not a code block):*
88
+
89
+ ```
90
+ {task detail from scratch file}
91
+ ```
92
+
52
93
  **Task {M} of {total}: {Task Name}**
53
94
 
54
95
  > *Output the next fenced block as markdown (not a code block):*
@@ -56,8 +97,8 @@ Task {M} of {total}: {Task Name} — authored. Logging to plan.
56
97
  ```
57
98
  · · · · · · · · · · · ·
58
99
  **To proceed:**
59
- - **`y`/`yes`** — Approved. I'll log it to the plan.
60
- - **`a`/`auto`** — Approve this and all remaining task authoring gates automatically
100
+ - **`y`/`yes`** — Approved. I'll write it to the plan.
101
+ - **`a`/`auto`** — Approve this and all remaining tasks automatically
61
102
  - **Or tell me what to change.**
62
103
  - **Or navigate** — a different phase or task, or the leading edge.
63
104
  · · · · · · · · · · · ·
@@ -65,36 +106,69 @@ Task {M} of {total}: {Task Name} — authored. Logging to plan.
65
106
 
66
107
  **STOP.** Wait for the user's response.
67
108
 
109
+ #### If approved (`y`/`yes`)
110
+
111
+ Mark the task `approved` in the scratch file. Continue to the next task.
112
+
113
+ #### If `auto`
114
+
115
+ Mark the task `approved` in the scratch file. Set all remaining `pending` tasks to `approved`. Update `author_gate_mode: auto` in the Plan Index File frontmatter.
116
+
117
+ → Jump to **Section 6**.
118
+
68
119
  #### If the user provides feedback
69
120
 
70
- Re-invoke `planning-task-author` with all original inputs PLUS:
71
- - **Previous output**: the current task detail
72
- - **User feedback**: what the user wants changed
121
+ Mark the task `rejected` in the scratch file and add the feedback as a blockquote:
73
122
 
74
- Present the revised task in full. Ask the same choice again. Repeat until approved.
123
+ ```markdown
124
+ ## {task-id} | rejected
125
+
126
+ > **Feedback**: {user's feedback here}
127
+
128
+ ### Task {seq}: {Task Name}
129
+ ...
130
+ ```
131
+
132
+ Continue to the next task.
75
133
 
76
134
  #### If the user navigates
77
135
 
78
- → Return to **Plan Construction**.
136
+ → Return to **Plan Construction**. The scratch file preserves approval state.
79
137
 
80
- #### If `auto`
138
+ ---
139
+
140
+ ### Section 5b: Revision
81
141
 
82
- Note that `author_gate_mode` should be updated to `auto` during the commit step below.
142
+ After completing the approval loop, check for rejected tasks.
83
143
 
84
- Proceed to **If approved** below.
144
+ #### If no rejected tasks
85
145
 
86
- #### If approved (`y`/`yes` or `auto`)
146
+ Proceed to **Section 6**.
87
147
 
88
- > **CHECKPOINT**: If `author_gate_mode: gated`, verify before logging: (1) You presented this exact content, (2) The user explicitly approved with `y`/`yes` or equivalent — not a question, comment, or "okay" in passing, (3) You are writing exactly what was approved with no modifications.
148
+ #### If rejected tasks exist
89
149
 
90
- See **[plan-index-schema.md](plan-index-schema.md)** for field definitions and lifecycle.
150
+ > *Output the next fenced block as a code block:*
151
+
152
+ ```
153
+ {N} tasks need revision. Re-invoking author agent...
154
+ ```
155
+
156
+ → Return to **Section 2**. The agent receives the scratch file with rejected tasks and feedback, rewrites only those, and the flow continues through validation, gate check, and approval as normal.
157
+
158
+ ---
159
+
160
+ ## Section 6: Write to Plan
91
161
 
92
- 1. Write the task to the output format (format-specific see authoring.md)
93
- 2. If the Plan Index File frontmatter `ext_id` is empty, set it to the external identifier for the plan as exposed by the output format.
94
- 3. If the current phase's `ext_id` is empty, set it to the external identifier for the phase as exposed by the output format.
95
- 4. Update the task table in the Plan Index File: set `status: authored` and set `Ext ID` to the external identifier for the task as exposed by the output format.
96
- 5. Advance the `planning:` block in frontmatter to the next pending task (or next phase if this was the last task)
97
- 6. If user chose `auto` at this gate: update `author_gate_mode: auto` in the Plan Index File frontmatter
162
+ > **CHECKPOINT**: If `author_gate_mode: gated`, verify all tasks in the scratch file are marked `approved` before writing.
163
+
164
+ For each approved task in the scratch file, in order:
165
+
166
+ 1. Read the task content from the scratch file
167
+ 2. Write to the output format (format-specific see the format's **[authoring.md](output-formats/{format}/authoring.md)**)
168
+ 3. Update the task table in the Plan Index File: set `status: authored` and set `Ext ID` to the external identifier for the task as exposed by the output format
169
+ 4. If the Plan Index File frontmatter `ext_id` is empty, set it to the external identifier for the plan as exposed by the output format
170
+ 5. If the current phase's `ext_id` is empty, set it to the external identifier for the phase as exposed by the output format
171
+ 6. Advance the `planning:` block in frontmatter to the next pending task (or next phase if this was the last task)
98
172
  7. Commit: `planning({topic}): author task {task-id} ({task name})`
99
173
 
100
174
  > *Output the next fenced block as a code block:*
@@ -103,4 +177,14 @@ See **[plan-index-schema.md](plan-index-schema.md)** for field definitions and l
103
177
  Task {M} of {total}: {Task Name} — authored.
104
178
  ```
105
179
 
180
+ Repeat for each task.
181
+
182
+ ---
183
+
184
+ ## Section 7: Cleanup
185
+
186
+ Delete the scratch file: `rm docs/workflow/.cache/planning/{topic}/phase-{N}.md`
187
+
188
+ Remove the `docs/workflow/.cache/planning/{topic}/` directory if empty.
189
+
106
190
  → Return to **Plan Construction**.
@@ -39,8 +39,9 @@ tick init
39
39
  Add to `.gitignore`:
40
40
 
41
41
  ```
42
- .tick/.store
42
+ .tick/cache.db
43
43
  .tick/lock
44
+ .tick/.tasks-*.jsonl.tmp
44
45
  ```
45
46
 
46
47
  ## Structure Mapping
@@ -66,7 +67,7 @@ Tasks are stored in a `.tick/` directory at the project root:
66
67
  ```
67
68
  .tick/
68
69
  ├── tasks.jsonl # Append-only source of truth (git-friendly)
69
- ├── .store # SQLite cache (auto-rebuilt, do not commit)
70
+ ├── cache.db # SQLite query cache (auto-rebuilt, do not commit)
70
71
  └── lock # File lock for concurrent access
71
72
  ```
72
73
 
@@ -2,6 +2,8 @@
2
2
 
3
3
  Tick has native support for priority and blocking dependencies with cycle detection. This file is used by the graphing agent after all tasks have been authored.
4
4
 
5
+ **Natural ordering principle**: Tasks execute in natural order (by priority, then creation date) when no dependencies override it. The dependency grapher only adds edges that change execution order — if tasks are already in the right sequence, explicit dependencies add noise without value. See also the dependency grapher agent's "When NOT to add a dependency" rules.
6
+
5
7
  ## Priority
6
8
 
7
9
  | Level | Name | Value |
@@ -59,3 +59,5 @@ tick ready --parent <topic-id>
59
59
  ```
60
60
 
61
61
  If `tick ready` returns no results, either all tasks are complete or remaining tasks are blocked.
62
+
63
+ **Natural ordering convention**: `tick ready` always returns results in the correct execution order — by priority, then creation date. Consumers should take the first result as the next task. Because creation date preserves authoring order, sequential intra-phase tasks execute in natural order without needing explicit dependencies. Only add dependencies when the correct order differs from the natural order.
@@ -118,31 +118,27 @@ Phase {N}: {Phase Name} — task list confirmed. Proceeding to authoring.
118
118
 
119
119
  ## Author Tasks for the Phase
120
120
 
121
- Work through each task in the phase's task table, in order.
121
+ Tasks are authored in a single batch per phase. One sub-agent authors all tasks for the phase, writing to a scratch file. The orchestrator then handles approval and writing to the plan format. Never invoke multiple authoring agents concurrently. Never batch beyond a single phase.
122
122
 
123
- ### Sequential authoring (mandatory)
123
+ #### If all tasks in the phase have status `authored`
124
124
 
125
- Tasks **must** be authored one at a time, in order. Each task's authored detail builds context for the next — later tasks benefit from decisions, patterns, and structure established by earlier ones. This applies regardless of gate mode. Auto-gate removes the approval pause, not the sequential process.
126
-
127
- **Never** invoke multiple Step B agents concurrently. **Never** batch or skip ahead.
128
-
129
- #### If the task status is `authored`
130
-
131
- Already written.
125
+ All tasks already written.
132
126
 
133
127
  > *Output the next fenced block as a code block:*
134
128
 
135
129
  ```
136
- Task {M} of {total}: {Task Name} — already authored.
130
+ Phase {N}: {Phase Name} — all tasks already authored.
137
131
  ```
138
132
 
139
- Continue to the next task.
133
+ Continue to the next phase.
134
+
135
+ #### If any tasks in the phase have status `pending`
140
136
 
141
- #### If the task status is `pending`
137
+ Go to **Step B** for the entire phase.
142
138
 
143
- Go to **Step B** with this task.
139
+ After Step B returns, all tasks in the phase are authored.
144
140
 
145
- After Step B returns, the task is authored. Continue to the next task.
141
+ If the user navigates mid-approval, the scratch file preserves approval state. On return, resume from the first non-approved task.
146
142
 
147
143
  #### When all tasks in the phase are authored
148
144
 
@@ -178,4 +174,4 @@ Load **[define-tasks.md](define-tasks.md)** and follow its instructions as writt
178
174
 
179
175
  ## Step B: Author Tasks
180
176
 
181
- Load **[author-tasks.md](author-tasks.md)** and follow its instructions as written. This step authors **one task** and returns.
177
+ Load **[author-tasks.md](author-tasks.md)** and follow its instructions as written. This step authors **all tasks for the phase** via a batch agent and returns.
@@ -47,7 +47,7 @@ Read the plan end-to-end — carefully, as if you were about to implement it. Fo
47
47
  - Task dependencies are explicit and correct — each dependency reflects a genuine data or capability requirement
48
48
  - No circular dependencies exist in the task graph
49
49
  - Priority assignments reflect graph position — foundation tasks and tasks that unblock others are prioritised appropriately
50
- - An implementer can determine execution order from the dependency graph and priorities alone
50
+ - Tasks within a phase execute in natural order (by task ID) unless dependencies or priorities override it. Do not flag missing dependencies for sequential intra-phase tasks where natural order already produces the correct sequence. Only flag dependency issues where: execution would happen in the wrong order without an explicit dependency, a cross-phase dependency is missing, or a convergence point (task needing multiple predecessors) lacks explicit edges.
51
51
 
52
52
  5. **Task Self-Containment**
53
53
  - Each task contains all context needed for execution
@@ -129,25 +129,15 @@ Load **[invoke-task-verifiers.md](references/invoke-task-verifiers.md)** and fol
129
129
 
130
130
  ---
131
131
 
132
- ## Step 4: Product Assessment
133
-
134
- Load **[invoke-product-assessor.md](references/invoke-product-assessor.md)** and follow its instructions as written.
135
-
136
- **STOP.** Do not proceed until the product assessor has returned.
137
-
138
- → Proceed to **Step 5**.
139
-
140
- ---
141
-
142
- ## Step 5: Produce Review
132
+ ## Step 4: Produce Review
143
133
 
144
134
  Load **[produce-review.md](references/produce-review.md)** and follow its instructions as written.
145
135
 
146
- → Proceed to **Step 6**.
136
+ → Proceed to **Step 5**.
147
137
 
148
138
  ---
149
139
 
150
- ## Step 6: Review Actions
140
+ ## Step 5: Review Actions
151
141
 
152
142
  Load **[review-actions-loop.md](references/review-actions-loop.md)** and follow its instructions.
153
143
 
@@ -26,9 +26,9 @@ Dispatch **one agent** via the Task tool.
26
26
 
27
27
  The synthesizer receives:
28
28
 
29
- 1. **Review scope** — single or multi, with plan list
30
- 2. **Review paths** — paths to `r{N}/` directories (include summary, QA directory, product assessment)
31
- 3. **Specification path(s)** — from each plan's frontmatter
29
+ 1. **Plan topic** — the plan being synthesized
30
+ 2. **Review path** — path to `r{N}/` directory (review summary + QA files)
31
+ 3. **Specification path** — from the plan's frontmatter
32
32
  4. **Cycle number** — the review remediation cycle number
33
33
 
34
34
  ---
@@ -35,13 +35,7 @@ From each plan in scope, list every task across all phases:
35
35
  Ensure the review output directory exists:
36
36
 
37
37
  ```bash
38
- mkdir -p docs/workflow/review/{scope}/r{N}
39
- ```
40
-
41
- For multi-plan reviews, also create per-plan subdirectories:
42
-
43
- ```bash
44
- mkdir -p docs/workflow/review/{scope}/r{N}/{plan-topic}
38
+ mkdir -p docs/workflow/review/{topic}/r{N}
45
39
  ```
46
40
 
47
41
  ---
@@ -66,10 +60,9 @@ Each verifier receives:
66
60
  3. **Plan path** — the full plan for phase context
67
61
  4. **Project skill paths** — from Step 2 discovery
68
62
  5. **Review checklist path** — `skills/technical-review/references/review-checklist.md`
69
- 6. **Review scope** — scope directory name for output path
63
+ 6. **Topic** — the plan topic name (used for output directory)
70
64
  7. **Review number** — version number (e.g., 1 for `r1/`)
71
- 8. **Plan topic** — for multi-plan reviews, the plan-specific subdirectory name
72
- 9. **Task index** — sequential number for file naming (1, 2, 3...)
65
+ 8. **Task index** — sequential number for file naming (1, 2, 3...)
73
66
 
74
67
  If any verifier fails (error, timeout), record the failure and continue — aggregate what's available.
75
68
 
@@ -85,7 +78,7 @@ FINDINGS_COUNT: {N blocking issues}
85
78
  SUMMARY: {1 sentence}
86
79
  ```
87
80
 
88
- Full findings are written to `docs/workflow/review/{scope}/r{N}/qa-task-{index}.md` (single-plan) or `docs/workflow/review/{scope}/r{N}/{plan-topic}/qa-task-{index}.md` (multi-plan).
81
+ Full findings are written to `docs/workflow/review/{topic}/r{N}/qa-task-{index}.md`.
89
82
 
90
83
  ---
91
84
 
@@ -93,7 +86,7 @@ Full findings are written to `docs/workflow/review/{scope}/r{N}/qa-task-{index}.
93
86
 
94
87
  Once all batches have completed:
95
88
 
96
- 1. Read all `docs/workflow/review/{scope}/r{N}/qa-task-*.md` files (and `{scope}/r{N}/{plan-topic}/qa-task-*.md` for multi-plan)
89
+ 1. Read all `docs/workflow/review/{topic}/r{N}/qa-task-*.md` files
97
90
  2. Synthesize findings from file contents:
98
91
  - Collect all tasks with `STATUS: Incomplete` or `STATUS: Issues Found` as blocking issues
99
92
  - Collect all test issues (under/over-tested)
@@ -4,17 +4,15 @@
4
4
 
5
5
  ---
6
6
 
7
- Aggregate findings from both stages into a review document using the **[template.md](template.md)**.
7
+ Aggregate QA findings into a review document using the **[template.md](template.md)**.
8
8
 
9
- Write the review to `docs/workflow/review/{scope}/r{N}/review.md`. The review scope `{scope}` is the topic name (single) or a descriptive scope name (multi/all). The review number `r{N}` is passed in from the entry point.
9
+ Write the review to `docs/workflow/review/{topic}/r{N}/review.md`. The review is always per-plan. The review number `r{N}` is passed in from the entry point.
10
10
 
11
11
  **QA Verdict** (from Step 3):
12
12
  - **Approve** — All acceptance criteria met, no blocking issues
13
13
  - **Request Changes** — Missing requirements, broken functionality, inadequate tests
14
14
  - **Comments Only** — Minor suggestions, non-blocking observations
15
15
 
16
- **Product Assessment** (from Step 4) — always advisory, presented alongside the verdict.
17
-
18
16
  Commit: `review({topic}): complete review`
19
17
 
20
18
  Present the review to the user.
@@ -122,23 +122,19 @@ No actionable tasks synthesized.
122
122
 
123
123
  ## C. Approval Gate
124
124
 
125
- Read the staging file from `docs/workflow/implementation/{primary-topic}/review-tasks-c{cycle-number}.md`.
125
+ Read the staging file from `docs/workflow/implementation/{topic}/review-tasks-c{cycle-number}.md`.
126
126
 
127
127
  Check `gate_mode` in the staging file frontmatter (`gated` or `auto`).
128
128
 
129
- Present an overview. For multi-plan reviews, group tasks by plan:
129
+ Present an overview:
130
130
 
131
131
  > *Output the next fenced block as a code block:*
132
132
 
133
133
  ```
134
134
  Review synthesis cycle {N}: {K} proposed tasks
135
135
 
136
- {plan-topic}:
137
136
  1. {title} ({severity})
138
137
  2. {title} ({severity})
139
-
140
- {plan-topic-2}:
141
- 3. {title} ({severity})
142
138
  ```
143
139
 
144
140
  Then present each task with `status: pending` individually:
@@ -146,7 +142,7 @@ Then present each task with `status: pending` individually:
146
142
  > *Output the next fenced block as markdown (not a code block):*
147
143
 
148
144
  ```
149
- **Task {current}/{total}: {title}** ({severity}) — Plan: {plan-topic}
145
+ **Task {current}/{total}: {title}** ({severity})
150
146
  Sources: {sources}
151
147
 
152
148
  **Problem**: {problem}
@@ -225,7 +221,7 @@ After all tasks processed:
225
221
  Commit the staging file updates:
226
222
 
227
223
  ```
228
- review({scope}): synthesis cycle {N} — tasks skipped
224
+ review({topic}): synthesis cycle {N} — tasks skipped
229
225
  ```
230
226
 
231
227
  **STOP.** Do not proceed — terminal condition.
@@ -234,22 +230,18 @@ review({scope}): synthesis cycle {N} — tasks skipped
234
230
 
235
231
  ## D. Create Tasks in Plan
236
232
 
237
- For each plan that has approved tasks in the staging file, invoke the task writer.
238
-
239
- Process plans sequentially — each writes to a different plan.
240
-
241
- For each plan:
233
+ For approved tasks in the staging file, invoke the task writer.
242
234
 
243
- 1. Filter staging file to tasks with `plan: {plan-topic}` and `status: approved`
235
+ 1. Filter staging file to tasks with `status: approved`
244
236
  2. Load **[invoke-review-task-writer.md](invoke-review-task-writer.md)** and follow its instructions
245
- 3. Wait for the task writer to return before processing the next plan
237
+ 3. Wait for the task writer to return
246
238
 
247
- **STOP.** Do not proceed until all task writers have returned.
239
+ **STOP.** Do not proceed until the task writer has returned.
248
240
 
249
241
  Commit all changes (staging file, plan tasks, Plan Index Files):
250
242
 
251
243
  ```
252
- review({scope}): add review remediation ({K} tasks across {P} plans)
244
+ review({topic}): add review remediation ({K} tasks)
253
245
  ```
254
246
 
255
247
  → Proceed to **E. Re-open Implementation + Plan Mode Handoff**.
@@ -269,19 +261,19 @@ For each plan that received new tasks:
269
261
  3. Commit tracking changes:
270
262
 
271
263
  ```
272
- review({scope}): re-open implementation tracking
264
+ review({topic}): re-open implementation tracking
273
265
  ```
274
266
 
275
267
  Then enter plan mode and write the following plan:
276
268
 
277
269
  ```
278
- # Review Actions Complete: {scope}
270
+ # Review Actions Complete: {topic}
279
271
 
280
272
  Review findings have been synthesized into {N} implementation tasks.
281
273
 
282
274
  ## Summary
283
275
 
284
- {Per-plan summary, e.g., "tick-core: 3 tasks in Phase 9", "installation: 1 task in Phase 6"}
276
+ {Summary, e.g., "tick-core: 3 tasks in Phase 9"}
285
277
 
286
278
  ## Instructions
287
279
 
@@ -290,9 +282,9 @@ Review findings have been synthesized into {N} implementation tasks.
290
282
 
291
283
  ## Context
292
284
 
293
- - Plans updated: {list of plan topics}
285
+ - Plan updated: {topic}
294
286
  - Tasks created: {total count}
295
- - Implementation tracking: re-opened for each plan
287
+ - Implementation tracking: re-opened
296
288
 
297
289
  ## How to proceed
298
290
 
@@ -9,7 +9,7 @@
9
9
  ```markdown
10
10
  # Implementation Review: {Topic / Product}
11
11
 
12
- **Scope**: Single Plan ({plan}) | Multi-Plan ({plans}) | Full Product
12
+ **Plan**: {topic}
13
13
  **QA Verdict**: Approve | Request Changes | Comments Only
14
14
 
15
15
  ## Summary
@@ -34,26 +34,6 @@
34
34
  ### Required Changes (if any)
35
35
  1. [Specific actionable change]
36
36
 
37
- ## Product Assessment
38
-
39
- ### Robustness
40
- [Where would this break under real-world usage?]
41
-
42
- ### Gaps
43
- [What's obviously missing now the product exists?]
44
-
45
- ### Cross-Plan Consistency (multi/all only)
46
- [Are patterns consistent across features?]
47
-
48
- ### Integration Seams (multi/all only)
49
- [Do independently-built features connect cleanly?]
50
-
51
- ### Strengthening Opportunities
52
- [Priority improvements for production readiness]
53
-
54
- ### What's Next
55
- [What does this enable? What should be built next?]
56
-
57
37
  ## Recommendations
58
38
  [Combined non-blocking suggestions]
59
39
  ```