@leeovery/claude-technical-workflows 2.1.33 → 2.1.35
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/README.md +14 -5
- package/agents/implementation-analysis-task-writer.md +3 -2
- package/agents/planning-task-author.md +46 -16
- package/agents/review-findings-synthesizer.md +108 -0
- package/agents/review-task-verifier.md +4 -3
- package/package.json +1 -1
- package/skills/begin-implementation/SKILL.md +5 -1
- package/skills/begin-planning/SKILL.md +5 -1
- package/skills/migrate/SKILL.md +2 -1
- package/skills/migrate/scripts/migrate.sh +31 -28
- package/skills/migrate/scripts/migrations/001-discussion-frontmatter.sh +1 -15
- package/skills/migrate/scripts/migrations/002-specification-frontmatter.sh +0 -14
- package/skills/migrate/scripts/migrations/003-planning-frontmatter.sh +0 -14
- package/skills/migrate/scripts/migrations/004-sources-object-format.sh +0 -12
- package/skills/migrate/scripts/migrations/005-plan-external-deps-frontmatter.sh +0 -12
- package/skills/migrate/scripts/migrations/006-directory-restructure.sh +2 -22
- package/skills/migrate/scripts/migrations/007-tasks-subdirectory.sh +1 -17
- package/skills/migrate/scripts/migrations/008-review-directory-structure.sh +96 -0
- package/skills/migrate/scripts/migrations/009-review-per-plan-storage.sh +117 -0
- package/skills/migrate/scripts/migrations/010-gitignore-sessions.sh +67 -0
- package/skills/start-discussion/SKILL.md +1 -1
- package/skills/start-discussion/references/handle-selection.md +1 -1
- package/skills/start-discussion/references/research-analysis.md +3 -3
- package/skills/start-discussion/scripts/discovery.sh +1 -1
- package/skills/start-review/SKILL.md +48 -16
- package/skills/start-review/references/display-plans.md +11 -3
- package/skills/start-review/references/invoke-skill.md +41 -13
- package/skills/start-review/references/select-plans.md +31 -2
- package/skills/start-review/scripts/discovery.sh +89 -0
- package/skills/start-specification/SKILL.md +1 -1
- package/skills/start-specification/references/analysis-flow.md +2 -2
- package/skills/start-specification/references/display-analyze.md +1 -1
- package/skills/start-specification/references/display-groupings.md +3 -3
- package/skills/start-specification/references/display-specs-menu.md +1 -1
- package/skills/start-specification/scripts/discovery.sh +1 -1
- package/skills/technical-implementation/references/invoke-task-writer.md +1 -0
- package/skills/technical-planning/SKILL.md +4 -3
- package/skills/technical-planning/references/author-tasks.md +119 -35
- package/skills/technical-planning/references/output-formats/tick/about.md +3 -2
- package/skills/technical-planning/references/output-formats/tick/graph.md +2 -0
- package/skills/technical-planning/references/output-formats/tick/reading.md +2 -0
- package/skills/technical-planning/references/plan-construction.md +11 -15
- package/skills/technical-planning/references/review-integrity.md +1 -1
- package/skills/technical-review/SKILL.md +10 -34
- package/skills/technical-review/references/invoke-review-synthesizer.md +64 -0
- package/skills/technical-review/references/invoke-review-task-writer.md +44 -0
- package/skills/technical-review/references/invoke-task-verifiers.md +7 -6
- package/skills/technical-review/references/produce-review.md +25 -0
- package/skills/technical-review/references/review-actions-loop.md +295 -0
- package/skills/technical-review/references/template.md +1 -21
- package/agents/review-product-assessor.md +0 -112
- package/skills/technical-review/references/invoke-product-assessor.md +0 -57
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Invoke Review Synthesizer
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-review](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This step dispatches a `review-findings-synthesizer` agent to read review findings, deduplicate, group, and normalize them into proposed tasks.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Determine Cycle Number
|
|
12
|
+
|
|
13
|
+
Count existing `review-tasks-c*.md` files in `docs/workflow/implementation/{primary-topic}/` and add 1.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
ls docs/workflow/implementation/{primary-topic}/review-tasks-c*.md 2>/dev/null | wc -l
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Invoke the Agent
|
|
22
|
+
|
|
23
|
+
**Agent path**: `../../../agents/review-findings-synthesizer.md`
|
|
24
|
+
|
|
25
|
+
Dispatch **one agent** via the Task tool.
|
|
26
|
+
|
|
27
|
+
The synthesizer receives:
|
|
28
|
+
|
|
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
|
+
4. **Cycle number** — the review remediation cycle number
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Wait for Completion
|
|
37
|
+
|
|
38
|
+
**STOP.** Do not proceed until the synthesizer has returned.
|
|
39
|
+
|
|
40
|
+
If the agent fails (error, timeout), record the failure and report "synthesis failed" to the user.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Commit Findings
|
|
45
|
+
|
|
46
|
+
Commit the report and staging file (if created):
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
review({scope}): synthesis cycle {N} — findings
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Expected Result
|
|
55
|
+
|
|
56
|
+
The synthesizer returns:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
STATUS: tasks_proposed | clean
|
|
60
|
+
TASKS_PROPOSED: {N}
|
|
61
|
+
SUMMARY: {1-2 sentences}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
The full report is at `docs/workflow/implementation/{primary-topic}/review-report-c{N}.md`. If tasks were proposed, the staging file is at `docs/workflow/implementation/{primary-topic}/review-tasks-c{N}.md`.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Invoke Review Task Writer
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-review](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This step invokes the task writer agent to create plan tasks from approved review findings. It reuses the `implementation-analysis-task-writer` agent with a review-specific phase label.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Determine Format
|
|
12
|
+
|
|
13
|
+
Read the `format` field from the plan's frontmatter (`docs/workflow/planning/{topic}/plan.md`). This determines which output format adapters to pass to the agent.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Invoke the Agent
|
|
18
|
+
|
|
19
|
+
**Agent path**: `../../../agents/implementation-analysis-task-writer.md`
|
|
20
|
+
|
|
21
|
+
Pass via the orchestrator's prompt:
|
|
22
|
+
|
|
23
|
+
1. **Topic name** — the implementation topic (scopes tasks to correct plan)
|
|
24
|
+
2. **Staging file path** — `docs/workflow/implementation/{topic}/review-tasks-c{cycle-number}.md`
|
|
25
|
+
3. **Plan path** — the implementation plan path
|
|
26
|
+
4. **Plan format reading adapter path** — `../../technical-planning/references/output-formats/{format}/reading.md`
|
|
27
|
+
5. **Plan format authoring adapter path** — `../../technical-planning/references/output-formats/{format}/authoring.md`
|
|
28
|
+
6. **plan-index-schema.md** — `../../technical-planning/references/plan-index-schema.md`
|
|
29
|
+
7. **Phase label** — `Review Remediation (Cycle {N})`
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Expected Result
|
|
34
|
+
|
|
35
|
+
The agent creates tasks in the plan for all approved entries in the staging file.
|
|
36
|
+
|
|
37
|
+
Returns a brief status:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
STATUS: complete
|
|
41
|
+
TASKS_CREATED: {N}
|
|
42
|
+
PHASE: {N}
|
|
43
|
+
SUMMARY: {1 sentence}
|
|
44
|
+
```
|
|
@@ -32,10 +32,10 @@ From each plan in scope, list every task across all phases:
|
|
|
32
32
|
|
|
33
33
|
## Create Output Directory
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
Ensure the review output directory exists:
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
mkdir -p docs/workflow/review/{topic}
|
|
38
|
+
mkdir -p docs/workflow/review/{topic}/r{N}
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
---
|
|
@@ -60,8 +60,9 @@ Each verifier receives:
|
|
|
60
60
|
3. **Plan path** — the full plan for phase context
|
|
61
61
|
4. **Project skill paths** — from Step 2 discovery
|
|
62
62
|
5. **Review checklist path** — `skills/technical-review/references/review-checklist.md`
|
|
63
|
-
6. **Topic
|
|
64
|
-
7. **
|
|
63
|
+
6. **Topic** — the plan topic name (used for output directory)
|
|
64
|
+
7. **Review number** — version number (e.g., 1 for `r1/`)
|
|
65
|
+
8. **Task index** — sequential number for file naming (1, 2, 3...)
|
|
65
66
|
|
|
66
67
|
If any verifier fails (error, timeout), record the failure and continue — aggregate what's available.
|
|
67
68
|
|
|
@@ -77,7 +78,7 @@ FINDINGS_COUNT: {N blocking issues}
|
|
|
77
78
|
SUMMARY: {1 sentence}
|
|
78
79
|
```
|
|
79
80
|
|
|
80
|
-
Full findings are written to `docs/workflow/review/{topic}/qa-task-{index}.md`.
|
|
81
|
+
Full findings are written to `docs/workflow/review/{topic}/r{N}/qa-task-{index}.md`.
|
|
81
82
|
|
|
82
83
|
---
|
|
83
84
|
|
|
@@ -85,7 +86,7 @@ Full findings are written to `docs/workflow/review/{topic}/qa-task-{index}.md`.
|
|
|
85
86
|
|
|
86
87
|
Once all batches have completed:
|
|
87
88
|
|
|
88
|
-
1. Read all `docs/workflow/review/{topic}/qa-task-*.md` files
|
|
89
|
+
1. Read all `docs/workflow/review/{topic}/r{N}/qa-task-*.md` files
|
|
89
90
|
2. Synthesize findings from file contents:
|
|
90
91
|
- Collect all tasks with `STATUS: Incomplete` or `STATUS: Issues Found` as blocking issues
|
|
91
92
|
- Collect all test issues (under/over-tested)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Produce Review
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-review](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Aggregate QA findings into a review document using the **[template.md](template.md)**.
|
|
8
|
+
|
|
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
|
+
|
|
11
|
+
**QA Verdict** (from Step 3):
|
|
12
|
+
- **Approve** — All acceptance criteria met, no blocking issues
|
|
13
|
+
- **Request Changes** — Missing requirements, broken functionality, inadequate tests
|
|
14
|
+
- **Comments Only** — Minor suggestions, non-blocking observations
|
|
15
|
+
|
|
16
|
+
Commit: `review({topic}): complete review`
|
|
17
|
+
|
|
18
|
+
Present the review to the user.
|
|
19
|
+
|
|
20
|
+
Your review feedback can be:
|
|
21
|
+
- Addressed by implementation (same or new session)
|
|
22
|
+
- Delegated to an agent for fixes
|
|
23
|
+
- Overridden by user ("ship it anyway")
|
|
24
|
+
|
|
25
|
+
You produce feedback. User decides what to do with it.
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
# Review Actions Loop
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-review](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
After a review is complete, this loop synthesizes findings into actionable tasks.
|
|
8
|
+
|
|
9
|
+
Stages A through E run sequentially. Always start at **A. Verdict Gate**.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
A. Verdict gate (check verdicts, offer synthesis)
|
|
13
|
+
B. Dispatch review synthesizer → invoke-review-synthesizer.md
|
|
14
|
+
C. Approval gate (present tasks, approve/skip/comment)
|
|
15
|
+
D. Create tasks in plan → invoke-review-task-writer.md
|
|
16
|
+
E. Re-open implementation + plan mode handoff
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## A. Verdict Gate
|
|
22
|
+
|
|
23
|
+
Check the verdict(s) from the review(s) being analyzed.
|
|
24
|
+
|
|
25
|
+
#### If all verdicts are "Approve" with no required changes
|
|
26
|
+
|
|
27
|
+
> *Output the next fenced block as a code block:*
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
No actionable findings. All reviews passed with no required changes.
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**STOP.** Do not proceed — terminal condition.
|
|
34
|
+
|
|
35
|
+
#### If any verdict is "Request Changes"
|
|
36
|
+
|
|
37
|
+
Blocking issues exist. Synthesis is strongly recommended.
|
|
38
|
+
|
|
39
|
+
> *Output the next fenced block as a code block:*
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
The review found blocking issues that require changes.
|
|
43
|
+
Synthesizing findings into actionable tasks is recommended.
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
· · · · · · · · · · · ·
|
|
50
|
+
- **`y`/`yes`** — Synthesize findings into tasks *(recommended)*
|
|
51
|
+
- **`n`/`no`** — Skip synthesis
|
|
52
|
+
|
|
53
|
+
Proceed with synthesis?
|
|
54
|
+
· · · · · · · · · · · ·
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**STOP.** Wait for user response.
|
|
58
|
+
|
|
59
|
+
#### If yes
|
|
60
|
+
|
|
61
|
+
→ Proceed to **B. Dispatch Review Synthesizer**.
|
|
62
|
+
|
|
63
|
+
#### If no
|
|
64
|
+
|
|
65
|
+
**STOP.** Do not proceed — terminal condition.
|
|
66
|
+
|
|
67
|
+
#### If verdict is "Comments Only"
|
|
68
|
+
|
|
69
|
+
Non-blocking improvements only. Synthesis is optional.
|
|
70
|
+
|
|
71
|
+
> *Output the next fenced block as a code block:*
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
The review found non-blocking suggestions only.
|
|
75
|
+
You can synthesize these into tasks or skip.
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
· · · · · · · · · · · ·
|
|
82
|
+
- **`y`/`yes`** — Synthesize findings into tasks
|
|
83
|
+
- **`n`/`no`** — Skip synthesis *(default)*
|
|
84
|
+
|
|
85
|
+
Synthesize non-blocking findings?
|
|
86
|
+
· · · · · · · · · · · ·
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**STOP.** Wait for user response.
|
|
90
|
+
|
|
91
|
+
#### If yes
|
|
92
|
+
|
|
93
|
+
→ Proceed to **B. Dispatch Review Synthesizer**.
|
|
94
|
+
|
|
95
|
+
#### If no
|
|
96
|
+
|
|
97
|
+
**STOP.** Do not proceed — terminal condition.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## B. Dispatch Review Synthesizer
|
|
102
|
+
|
|
103
|
+
Load **[invoke-review-synthesizer.md](invoke-review-synthesizer.md)** and follow its instructions.
|
|
104
|
+
|
|
105
|
+
**STOP.** Do not proceed until the synthesizer has returned.
|
|
106
|
+
|
|
107
|
+
#### If STATUS is "clean"
|
|
108
|
+
|
|
109
|
+
> *Output the next fenced block as a code block:*
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
No actionable tasks synthesized.
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**STOP.** Do not proceed — terminal condition.
|
|
116
|
+
|
|
117
|
+
#### If STATUS is "tasks_proposed"
|
|
118
|
+
|
|
119
|
+
→ Proceed to **C. Approval Gate**.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## C. Approval Gate
|
|
124
|
+
|
|
125
|
+
Read the staging file from `docs/workflow/implementation/{topic}/review-tasks-c{cycle-number}.md`.
|
|
126
|
+
|
|
127
|
+
Check `gate_mode` in the staging file frontmatter (`gated` or `auto`).
|
|
128
|
+
|
|
129
|
+
Present an overview:
|
|
130
|
+
|
|
131
|
+
> *Output the next fenced block as a code block:*
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
Review synthesis cycle {N}: {K} proposed tasks
|
|
135
|
+
|
|
136
|
+
1. {title} ({severity})
|
|
137
|
+
2. {title} ({severity})
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Then present each task with `status: pending` individually:
|
|
141
|
+
|
|
142
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
**Task {current}/{total}: {title}** ({severity})
|
|
146
|
+
Sources: {sources}
|
|
147
|
+
|
|
148
|
+
**Problem**: {problem}
|
|
149
|
+
**Solution**: {solution}
|
|
150
|
+
**Outcome**: {outcome}
|
|
151
|
+
|
|
152
|
+
**Do**:
|
|
153
|
+
{steps}
|
|
154
|
+
|
|
155
|
+
**Acceptance Criteria**:
|
|
156
|
+
{criteria}
|
|
157
|
+
|
|
158
|
+
**Tests**:
|
|
159
|
+
{tests}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
#### If gate_mode is "gated"
|
|
163
|
+
|
|
164
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
· · · · · · · · · · · ·
|
|
168
|
+
- **`a`/`approve`** — Approve this task
|
|
169
|
+
- **`auto`** — Approve this and all remaining tasks automatically
|
|
170
|
+
- **`s`/`skip`** — Skip this task
|
|
171
|
+
- **Comment** — Revise based on feedback
|
|
172
|
+
· · · · · · · · · · · ·
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**STOP.** Wait for user input.
|
|
176
|
+
|
|
177
|
+
#### If gate_mode is "auto"
|
|
178
|
+
|
|
179
|
+
> *Output the next fenced block as a code block:*
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
Task {current} of {total}: {title} — approved (auto).
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
→ Continue to next task without stopping.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
Process user input:
|
|
190
|
+
|
|
191
|
+
#### If `approve`
|
|
192
|
+
|
|
193
|
+
Update `status: approved` in the staging file.
|
|
194
|
+
|
|
195
|
+
→ Present the next pending task, or proceed to routing below if all tasks processed.
|
|
196
|
+
|
|
197
|
+
#### If `auto`
|
|
198
|
+
|
|
199
|
+
Update `status: approved` in the staging file. Update `gate_mode: auto` in the staging file frontmatter.
|
|
200
|
+
|
|
201
|
+
→ Continue processing remaining tasks without stopping.
|
|
202
|
+
|
|
203
|
+
#### If `skip`
|
|
204
|
+
|
|
205
|
+
Update `status: skipped` in the staging file.
|
|
206
|
+
|
|
207
|
+
→ Present the next pending task, or proceed to routing below if all tasks processed.
|
|
208
|
+
|
|
209
|
+
#### If comment
|
|
210
|
+
|
|
211
|
+
Revise the task content in the staging file based on the user's feedback. Re-present this task.
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
After all tasks processed:
|
|
216
|
+
|
|
217
|
+
→ If any tasks have `status: approved`, proceed to **D. Create Tasks in Plan**.
|
|
218
|
+
|
|
219
|
+
→ If all tasks were skipped:
|
|
220
|
+
|
|
221
|
+
Commit the staging file updates:
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
review({topic}): synthesis cycle {N} — tasks skipped
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**STOP.** Do not proceed — terminal condition.
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## D. Create Tasks in Plan
|
|
232
|
+
|
|
233
|
+
For approved tasks in the staging file, invoke the task writer.
|
|
234
|
+
|
|
235
|
+
1. Filter staging file to tasks with `status: approved`
|
|
236
|
+
2. Load **[invoke-review-task-writer.md](invoke-review-task-writer.md)** and follow its instructions
|
|
237
|
+
3. Wait for the task writer to return
|
|
238
|
+
|
|
239
|
+
**STOP.** Do not proceed until the task writer has returned.
|
|
240
|
+
|
|
241
|
+
Commit all changes (staging file, plan tasks, Plan Index Files):
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
review({topic}): add review remediation ({K} tasks)
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
→ Proceed to **E. Re-open Implementation + Plan Mode Handoff**.
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## E. Re-open Implementation + Plan Mode Handoff
|
|
252
|
+
|
|
253
|
+
For each plan that received new tasks:
|
|
254
|
+
|
|
255
|
+
1. Read the implementation tracking file at `docs/workflow/implementation/{topic}/tracking.md`
|
|
256
|
+
2. Update frontmatter:
|
|
257
|
+
- `status: in-progress`
|
|
258
|
+
- Remove `completed` field (if present)
|
|
259
|
+
- `updated: {today's date}`
|
|
260
|
+
- `analysis_cycle: 0`
|
|
261
|
+
3. Commit tracking changes:
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
review({topic}): re-open implementation tracking
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Then enter plan mode and write the following plan:
|
|
268
|
+
|
|
269
|
+
```
|
|
270
|
+
# Review Actions Complete: {topic}
|
|
271
|
+
|
|
272
|
+
Review findings have been synthesized into {N} implementation tasks.
|
|
273
|
+
|
|
274
|
+
## Summary
|
|
275
|
+
|
|
276
|
+
{Summary, e.g., "tick-core: 3 tasks in Phase 9"}
|
|
277
|
+
|
|
278
|
+
## Instructions
|
|
279
|
+
|
|
280
|
+
1. Invoke `/start-implementation`
|
|
281
|
+
2. The skill will detect the new tasks and start executing them
|
|
282
|
+
|
|
283
|
+
## Context
|
|
284
|
+
|
|
285
|
+
- Plan updated: {topic}
|
|
286
|
+
- Tasks created: {total count}
|
|
287
|
+
- Implementation tracking: re-opened
|
|
288
|
+
|
|
289
|
+
## How to proceed
|
|
290
|
+
|
|
291
|
+
Clear context and continue. Claude will start implementation
|
|
292
|
+
and pick up the new review remediation tasks automatically.
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
Exit plan mode. The user will approve and clear context, and the fresh session will pick up with `/start-implementation` routing to the new tasks.
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
```markdown
|
|
10
10
|
# Implementation Review: {Topic / Product}
|
|
11
11
|
|
|
12
|
-
**
|
|
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
|
```
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: review-product-assessor
|
|
3
|
-
description: Evaluates implementation holistically as a product — robustness, gaps, cross-plan consistency, and forward-looking assessment. Invoked by technical-review skill during product assessment stage.
|
|
4
|
-
tools: Read, Glob, Grep, Bash
|
|
5
|
-
model: opus
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Review: Product Assessor
|
|
9
|
-
|
|
10
|
-
You are evaluating an implementation as a product. Not task-by-task correctness (QA handles that) — you're assessing whether the product is robust, complete, and ready. You bring a holistic, forward-looking perspective.
|
|
11
|
-
|
|
12
|
-
## Your Input
|
|
13
|
-
|
|
14
|
-
You receive via the orchestrator's prompt:
|
|
15
|
-
|
|
16
|
-
1. **Implementation files** — all files in scope
|
|
17
|
-
2. **Specification path(s)** — validated specification(s) for design context
|
|
18
|
-
3. **Plan path(s)** — implementation plan(s) for scope context
|
|
19
|
-
4. **Project skill paths** — relevant `.claude/skills/` paths for framework conventions
|
|
20
|
-
5. **Review scope** — one of: `single-plan`, `multi-plan`, `full-product`
|
|
21
|
-
|
|
22
|
-
## Your Focus
|
|
23
|
-
|
|
24
|
-
### For all scopes:
|
|
25
|
-
|
|
26
|
-
- **Robustness** — Where would this break under real-world usage? Missing error handling, untested failure modes, fragile assumptions, edge cases the spec didn't cover
|
|
27
|
-
- **Gaps** — What's obviously missing now the product exists? Things a real user would expect
|
|
28
|
-
- **Strengthening** — Performance, security, scalability concerns visible only at the whole-product level
|
|
29
|
-
- **What's next** — What does this enable? What should be built next?
|
|
30
|
-
|
|
31
|
-
### Additional for multi-plan / full-product scope:
|
|
32
|
-
|
|
33
|
-
- **Cross-plan consistency** — Are patterns consistent across independently-planned features? Same error handling, logging, configuration approaches?
|
|
34
|
-
- **Integration seams** — Do the independently-built features connect cleanly? Shared types, compatible APIs, no conflicting assumptions?
|
|
35
|
-
- **Missing shared concerns** — Are there utilities, middleware, or abstractions that should exist but don't because each plan was developed independently?
|
|
36
|
-
- **Architectural coherence** — Does the product feel like one system or a collection of separate features?
|
|
37
|
-
|
|
38
|
-
## Your Process
|
|
39
|
-
|
|
40
|
-
1. **Read project skills** — understand framework conventions and architecture patterns
|
|
41
|
-
2. **Read specification(s)** — understand design intent and boundaries
|
|
42
|
-
3. **Read plan(s)** — understand what was built and the scope of each plan
|
|
43
|
-
4. **Read all implementation files** — understand the full picture
|
|
44
|
-
5. **Assess as a product** — evaluate holistically against focus areas
|
|
45
|
-
6. **Write findings** to `docs/workflow/review/{topic-or-scope}/product-assessment.md`
|
|
46
|
-
|
|
47
|
-
For multi-plan/full-product scope, use a descriptive scope name (e.g., `full-product` or a hyphenated list of topic names).
|
|
48
|
-
|
|
49
|
-
## Hard Rules
|
|
50
|
-
|
|
51
|
-
**MANDATORY. No exceptions.**
|
|
52
|
-
|
|
53
|
-
1. **No git writes** — do not commit or stage. Writing the output file is your only file write.
|
|
54
|
-
2. **No code edits** — read-only analysis. Do not modify implementation files.
|
|
55
|
-
3. **Holistic perspective** — evaluate as a product, not task-by-task
|
|
56
|
-
4. **Forward-looking** — assess the product as it stands. Do not re-litigate implementation decisions.
|
|
57
|
-
5. **Proportional** — high-impact observations only. Not minor preferences.
|
|
58
|
-
6. **Scope-aware** — cross-plan findings only for multi-plan/full-product scope. Don't fabricate cross-cutting issues for single-plan reviews.
|
|
59
|
-
|
|
60
|
-
## Output File Format
|
|
61
|
-
|
|
62
|
-
Write to `docs/workflow/review/{topic-or-scope}/product-assessment.md`:
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
SCOPE: {single-plan | multi-plan | full-product}
|
|
66
|
-
PLANS_REVIEWED: {list}
|
|
67
|
-
|
|
68
|
-
ROBUSTNESS:
|
|
69
|
-
- {observation with file:line references}
|
|
70
|
-
|
|
71
|
-
GAPS:
|
|
72
|
-
- {what's missing with reasoning}
|
|
73
|
-
|
|
74
|
-
INTEGRATION: (multi-plan/full-product only)
|
|
75
|
-
- {cross-plan observations}
|
|
76
|
-
|
|
77
|
-
CONSISTENCY: (multi-plan/full-product only)
|
|
78
|
-
- {pattern inconsistencies across plans}
|
|
79
|
-
|
|
80
|
-
STRENGTHENING:
|
|
81
|
-
- {priority improvements}
|
|
82
|
-
|
|
83
|
-
NEXT_STEPS:
|
|
84
|
-
- {recommendations with priority}
|
|
85
|
-
|
|
86
|
-
SUMMARY: {1-2 paragraph product readiness assessment}
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
If no significant findings:
|
|
90
|
-
|
|
91
|
-
```
|
|
92
|
-
SCOPE: {scope}
|
|
93
|
-
PLANS_REVIEWED: {list}
|
|
94
|
-
|
|
95
|
-
ROBUSTNESS: No significant concerns
|
|
96
|
-
GAPS: No obvious gaps
|
|
97
|
-
STRENGTHENING: No priority improvements identified
|
|
98
|
-
NEXT_STEPS:
|
|
99
|
-
- {recommendations}
|
|
100
|
-
|
|
101
|
-
SUMMARY: {1-2 paragraph assessment}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
## Your Output
|
|
105
|
-
|
|
106
|
-
Return a brief status to the orchestrator:
|
|
107
|
-
|
|
108
|
-
```
|
|
109
|
-
STATUS: findings | clean
|
|
110
|
-
FINDINGS_COUNT: {N}
|
|
111
|
-
SUMMARY: {1 sentence}
|
|
112
|
-
```
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# Invoke Product Assessor
|
|
2
|
-
|
|
3
|
-
*Reference for **[technical-review](../SKILL.md)***
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
This step dispatches a single `review-product-assessor` agent to evaluate the implementation holistically as a product. This is not task-by-task — the assessor evaluates robustness, gaps, and product readiness.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Identify Scope
|
|
12
|
-
|
|
13
|
-
Determine the review scope indicator to pass to the assessor:
|
|
14
|
-
|
|
15
|
-
- **single-plan** — one plan selected
|
|
16
|
-
- **multi-plan** — multiple plans selected
|
|
17
|
-
- **full-product** — all implemented plans
|
|
18
|
-
|
|
19
|
-
Build the full list of implementation files across all plans in scope (same git history approach as QA verification).
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Dispatch Assessor
|
|
24
|
-
|
|
25
|
-
Dispatch **one agent** via the Task tool.
|
|
26
|
-
|
|
27
|
-
- **Agent path**: `../../../agents/review-product-assessor.md`
|
|
28
|
-
|
|
29
|
-
The assessor receives:
|
|
30
|
-
|
|
31
|
-
1. **Implementation files** — all files in scope (the full list, not summarized)
|
|
32
|
-
2. **Specification path(s)** — from each plan's frontmatter
|
|
33
|
-
3. **Plan path(s)** — all plans in scope
|
|
34
|
-
4. **Project skill paths** — from Step 2 discovery
|
|
35
|
-
5. **Review scope** — one of: `single-plan`, `multi-plan`, `full-product`
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Wait for Completion
|
|
40
|
-
|
|
41
|
-
**STOP.** Do not proceed until the assessor has returned.
|
|
42
|
-
|
|
43
|
-
The assessor writes its findings to `docs/workflow/review/{topic-or-scope}/product-assessment.md` and returns a brief status. If the agent fails (error, timeout), record the failure and continue to the review production step with QA findings only.
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Expected Result
|
|
48
|
-
|
|
49
|
-
The assessor returns:
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
STATUS: findings | clean
|
|
53
|
-
FINDINGS_COUNT: {N}
|
|
54
|
-
SUMMARY: {1 sentence}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
The full findings are in the output file. Read `docs/workflow/review/{topic-or-scope}/product-assessment.md` to incorporate into the review document.
|