claude-code-workflow 7.2.23 → 7.2.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.
- package/.ccw/workflows/cli-tools-usage.md +123 -521
- package/.claude/skills/brainstorm/SKILL.md +408 -408
- package/.claude/skills/review-cycle/SKILL.md +132 -132
- package/.claude/skills/spec-generator/SKILL.md +1 -1
- package/.claude/skills/team-designer/phases/02-scaffold-generation.md +1 -1
- package/.claude/skills/team-lifecycle-v4/SKILL.md +1 -1
- package/.claude/skills/team-review/SKILL.md +1 -1
- package/.claude/skills/team-ultra-analyze/SKILL.md +1 -1
- package/.claude/skills/workflow-multi-cli-plan/SKILL.md +1 -1
- package/.claude/skills/workflow-plan/SKILL.md +1 -1
- package/.claude/skills/workflow-test-fix/SKILL.md +1 -1
- package/.codex/skills/analyze-with-file/SKILL.md +966 -966
- package/.codex/skills/issue-discover/SKILL.md +361 -361
- package/.codex/skills/review-cycle/SKILL.md +1 -1
- package/.codex/skills/roadmap-with-file/SKILL.md +901 -901
- package/.codex/skills/spec-generator/SKILL.md +425 -425
- package/.codex/skills/spec-setup/SKILL.md +669 -669
- package/.codex/skills/team-arch-opt/SKILL.md +242 -175
- package/.codex/skills/team-arch-opt/roles/analyzer/role.md +78 -78
- package/.codex/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -57
- package/.codex/skills/team-arch-opt/roles/coordinator/commands/monitor.md +246 -204
- package/.codex/skills/team-arch-opt/roles/coordinator/role.md +196 -184
- package/.codex/skills/team-arch-opt/roles/designer/role.md +115 -115
- package/.codex/skills/team-arch-opt/roles/refactorer/role.md +102 -102
- package/.codex/skills/team-arch-opt/roles/reviewer/role.md +111 -111
- package/.codex/skills/team-arch-opt/roles/validator/role.md +115 -115
- package/.codex/skills/team-arch-opt/specs/pipelines.md +102 -102
- package/.codex/skills/team-brainstorm/SKILL.md +72 -4
- package/.codex/skills/team-brainstorm/roles/challenger/role.md +61 -61
- package/.codex/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -58
- package/.codex/skills/team-brainstorm/roles/coordinator/commands/monitor.md +212 -171
- package/.codex/skills/team-brainstorm/roles/coordinator/role.md +172 -160
- package/.codex/skills/team-brainstorm/roles/evaluator/role.md +56 -56
- package/.codex/skills/team-brainstorm/roles/ideator/role.md +69 -69
- package/.codex/skills/team-brainstorm/roles/synthesizer/role.md +57 -57
- package/.codex/skills/team-brainstorm/specs/pipelines.md +72 -72
- package/.codex/skills/team-coordinate/SKILL.md +71 -3
- package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +45 -5
- package/.codex/skills/team-coordinate/roles/coordinator/role.md +402 -389
- package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +111 -111
- package/.codex/skills/team-coordinate/specs/pipelines.md +97 -97
- package/.codex/skills/team-coordinate/specs/quality-gates.md +112 -112
- package/.codex/skills/team-designer/SKILL.md +153 -153
- package/.codex/skills/team-designer/phases/01-requirements-analysis.md +250 -250
- package/.codex/skills/team-designer/phases/02-scaffold-generation.md +228 -228
- package/.codex/skills/team-designer/phases/03-content-generation.md +330 -330
- package/.codex/skills/team-designer/phases/04-validation.md +320 -320
- package/.codex/skills/team-executor/SKILL.md +29 -2
- package/.codex/skills/team-executor/roles/executor/commands/monitor.md +23 -15
- package/.codex/skills/team-frontend/SKILL.md +77 -3
- package/.codex/skills/team-frontend/roles/analyst/role.md +92 -92
- package/.codex/skills/team-frontend/roles/architect/role.md +86 -86
- package/.codex/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -52
- package/.codex/skills/team-frontend/roles/coordinator/commands/monitor.md +222 -188
- package/.codex/skills/team-frontend/roles/coordinator/role.md +189 -177
- package/.codex/skills/team-frontend/roles/developer/role.md +93 -93
- package/.codex/skills/team-frontend/roles/qa/role.md +79 -79
- package/.codex/skills/team-frontend/specs/pipelines.md +76 -76
- package/.codex/skills/team-frontend-debug/SKILL.md +66 -3
- package/.codex/skills/team-frontend-debug/roles/analyzer/role.md +208 -208
- package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -174
- package/.codex/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +198 -198
- package/.codex/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +177 -143
- package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +164 -152
- package/.codex/skills/team-frontend-debug/roles/fixer/role.md +147 -147
- package/.codex/skills/team-frontend-debug/roles/reproducer/role.md +147 -147
- package/.codex/skills/team-frontend-debug/roles/tester/role.md +231 -231
- package/.codex/skills/team-frontend-debug/roles/verifier/role.md +172 -172
- package/.codex/skills/team-frontend-debug/specs/debug-tools.md +215 -215
- package/.codex/skills/team-frontend-debug/specs/pipelines.md +94 -94
- package/.codex/skills/team-issue/SKILL.md +83 -4
- package/.codex/skills/team-issue/roles/coordinator/commands/analyze.md +64 -64
- package/.codex/skills/team-issue/roles/coordinator/commands/dispatch.md +273 -273
- package/.codex/skills/team-issue/roles/coordinator/commands/monitor.md +235 -194
- package/.codex/skills/team-issue/roles/coordinator/role.md +206 -194
- package/.codex/skills/team-issue/roles/explorer/role.md +94 -94
- package/.codex/skills/team-issue/roles/implementer/role.md +87 -87
- package/.codex/skills/team-issue/roles/integrator/role.md +84 -84
- package/.codex/skills/team-issue/roles/planner/role.md +81 -81
- package/.codex/skills/team-issue/roles/reviewer/role.md +86 -86
- package/.codex/skills/team-issue/specs/pipelines.md +124 -124
- package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +6 -6
- package/.codex/skills/team-lifecycle-v4/SKILL.md +305 -242
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +1 -1
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +66 -24
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +13 -1
- package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +1 -1
- package/.codex/skills/team-lifecycle-v4/templates/architecture.md +254 -254
- package/.codex/skills/team-lifecycle-v4/templates/epics.md +196 -196
- package/.codex/skills/team-lifecycle-v4/templates/product-brief.md +133 -133
- package/.codex/skills/team-lifecycle-v4/templates/requirements.md +224 -224
- package/.codex/skills/team-perf-opt/SKILL.md +68 -3
- package/.codex/skills/team-perf-opt/roles/benchmarker/role.md +89 -89
- package/.codex/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -61
- package/.codex/skills/team-perf-opt/roles/coordinator/commands/monitor.md +35 -1
- package/.codex/skills/team-perf-opt/roles/coordinator/role.md +179 -167
- package/.codex/skills/team-perf-opt/roles/optimizer/role.md +97 -97
- package/.codex/skills/team-perf-opt/roles/profiler/role.md +73 -73
- package/.codex/skills/team-perf-opt/roles/reviewer/role.md +75 -75
- package/.codex/skills/team-perf-opt/roles/strategist/role.md +94 -94
- package/.codex/skills/team-perf-opt/specs/pipelines.md +65 -65
- package/.codex/skills/team-planex/SKILL.md +65 -3
- package/.codex/skills/team-planex/roles/coordinator/commands/analyze.md +52 -52
- package/.codex/skills/team-planex/roles/coordinator/commands/monitor.md +210 -164
- package/.codex/skills/team-planex/roles/coordinator/role.md +171 -159
- package/.codex/skills/team-planex/roles/executor/role.md +91 -91
- package/.codex/skills/team-planex/roles/planner/role.md +112 -112
- package/.codex/skills/team-planex/specs/pipelines.md +93 -93
- package/.codex/skills/team-quality-assurance/SKILL.md +60 -3
- package/.codex/skills/team-quality-assurance/roles/analyst/role.md +80 -80
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -72
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +108 -108
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +243 -209
- package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +176 -164
- package/.codex/skills/team-quality-assurance/roles/executor/role.md +66 -66
- package/.codex/skills/team-quality-assurance/roles/generator/role.md +68 -68
- package/.codex/skills/team-quality-assurance/roles/scout/role.md +67 -67
- package/.codex/skills/team-quality-assurance/roles/strategist/role.md +71 -71
- package/.codex/skills/team-quality-assurance/specs/pipelines.md +115 -115
- package/.codex/skills/team-review/SKILL.md +58 -3
- package/.codex/skills/team-review/roles/coordinator/commands/analyze.md +71 -71
- package/.codex/skills/team-review/roles/coordinator/commands/dispatch.md +90 -90
- package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +225 -185
- package/.codex/skills/team-review/roles/coordinator/role.md +175 -163
- package/.codex/skills/team-review/roles/fixer/role.md +76 -76
- package/.codex/skills/team-review/roles/reviewer/role.md +68 -68
- package/.codex/skills/team-review/roles/scanner/role.md +71 -71
- package/.codex/skills/team-review/specs/pipelines.md +102 -102
- package/.codex/skills/team-roadmap-dev/SKILL.md +55 -3
- package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -61
- package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +502 -468
- package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +335 -322
- package/.codex/skills/team-roadmap-dev/roles/executor/role.md +71 -71
- package/.codex/skills/team-roadmap-dev/roles/planner/role.md +76 -76
- package/.codex/skills/team-roadmap-dev/roles/verifier/role.md +74 -74
- package/.codex/skills/team-roadmap-dev/specs/pipelines.md +93 -93
- package/.codex/skills/team-tech-debt/SKILL.md +56 -3
- package/.codex/skills/team-tech-debt/roles/assessor/role.md +69 -69
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -47
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +272 -231
- package/.codex/skills/team-tech-debt/roles/coordinator/role.md +172 -160
- package/.codex/skills/team-tech-debt/roles/executor/role.md +76 -76
- package/.codex/skills/team-tech-debt/roles/planner/role.md +69 -69
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +82 -82
- package/.codex/skills/team-tech-debt/roles/validator/role.md +75 -75
- package/.codex/skills/team-tech-debt/specs/pipelines.md +47 -47
- package/.codex/skills/team-testing/SKILL.md +72 -3
- package/.codex/skills/team-testing/roles/analyst/role.md +95 -95
- package/.codex/skills/team-testing/roles/coordinator/commands/analyze.md +70 -70
- package/.codex/skills/team-testing/roles/coordinator/commands/dispatch.md +106 -106
- package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +283 -242
- package/.codex/skills/team-testing/roles/coordinator/role.md +184 -172
- package/.codex/skills/team-testing/roles/executor/role.md +96 -96
- package/.codex/skills/team-testing/roles/generator/role.md +95 -95
- package/.codex/skills/team-testing/roles/strategist/role.md +83 -83
- package/.codex/skills/team-testing/specs/pipelines.md +101 -101
- package/.codex/skills/team-uidesign/SKILL.md +65 -3
- package/.codex/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -59
- package/.codex/skills/team-uidesign/roles/coordinator/commands/dispatch.md +156 -156
- package/.codex/skills/team-uidesign/roles/coordinator/commands/monitor.md +234 -194
- package/.codex/skills/team-uidesign/roles/coordinator/role.md +211 -199
- package/.codex/skills/team-uidesign/roles/designer/role.md +69 -69
- package/.codex/skills/team-uidesign/roles/implementer/role.md +72 -72
- package/.codex/skills/team-uidesign/roles/researcher/role.md +82 -82
- package/.codex/skills/team-uidesign/roles/reviewer/role.md +67 -67
- package/.codex/skills/team-uidesign/specs/pipelines.md +76 -76
- package/.codex/skills/team-ultra-analyze/SKILL.md +73 -3
- package/.codex/skills/team-ultra-analyze/roles/analyst/role.md +90 -90
- package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -73
- package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +50 -9
- package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +255 -243
- package/.codex/skills/team-ultra-analyze/roles/discussant/role.md +104 -104
- package/.codex/skills/team-ultra-analyze/roles/explorer/role.md +74 -74
- package/.codex/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -78
- package/.codex/skills/team-ultra-analyze/specs/pipelines.md +64 -64
- package/.codex/skills/team-ux-improve/SKILL.md +64 -3
- package/.codex/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -62
- package/.codex/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +233 -233
- package/.codex/skills/team-ux-improve/roles/coordinator/commands/monitor.md +195 -160
- package/.codex/skills/team-ux-improve/roles/coordinator/role.md +170 -158
- package/.codex/skills/team-ux-improve/roles/designer/role.md +122 -122
- package/.codex/skills/team-ux-improve/roles/diagnoser/role.md +93 -93
- package/.codex/skills/team-ux-improve/roles/explorer/role.md +77 -77
- package/.codex/skills/team-ux-improve/roles/implementer/role.md +102 -102
- package/.codex/skills/team-ux-improve/roles/scanner/role.md +93 -93
- package/.codex/skills/team-ux-improve/roles/tester/role.md +84 -84
- package/.codex/skills/team-ux-improve/specs/pipelines.md +54 -54
- package/.codex/skills/workflow-test-fix-cycle/SKILL.md +402 -402
- package/README.md +1 -0
- package/package.json +1 -1
- package/.claude/skills/team-iterdev/SKILL.md +0 -127
- package/.claude/skills/team-iterdev/roles/architect/role.md +0 -65
- package/.claude/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
- package/.claude/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -234
- package/.claude/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -182
- package/.claude/skills/team-iterdev/roles/coordinator/role.md +0 -153
- package/.claude/skills/team-iterdev/roles/developer/role.md +0 -74
- package/.claude/skills/team-iterdev/roles/reviewer/role.md +0 -66
- package/.claude/skills/team-iterdev/roles/tester/role.md +0 -88
- package/.claude/skills/team-iterdev/specs/pipelines.md +0 -94
- package/.claude/skills/team-iterdev/specs/team-config.json +0 -172
- package/.codex/skills/team-iterdev/SKILL.md +0 -158
- package/.codex/skills/team-iterdev/roles/architect/role.md +0 -65
- package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
- package/.codex/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -187
- package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -186
- package/.codex/skills/team-iterdev/roles/coordinator/role.md +0 -181
- package/.codex/skills/team-iterdev/roles/developer/role.md +0 -74
- package/.codex/skills/team-iterdev/roles/reviewer/role.md +0 -66
- package/.codex/skills/team-iterdev/roles/tester/role.md +0 -88
- package/.codex/skills/team-iterdev/specs/pipelines.md +0 -94
- package/.codex/skills/team-iterdev/specs/team-config.json +0 -172
|
@@ -1,163 +1,175 @@
|
|
|
1
|
-
# Coordinator Role
|
|
2
|
-
|
|
3
|
-
Orchestrate team-review: parse target -> detect mode -> dispatch task chain -> monitor -> report.
|
|
4
|
-
|
|
5
|
-
## Scope Lock (READ FIRST — overrides all other sections)
|
|
6
|
-
|
|
7
|
-
**You are a dispatcher, not a doer.** Your ONLY outputs are:
|
|
8
|
-
- Session state files (`.workflow/.team/` directory)
|
|
9
|
-
- `spawn_agent` / `wait_agent` / `close_agent` / `
|
|
10
|
-
- Status reports to the user / `request_user_input` prompts
|
|
11
|
-
|
|
12
|
-
**FORBIDDEN** (even if the task seems trivial):
|
|
13
|
-
```
|
|
14
|
-
WRONG: Read/Grep/Glob on project source code — worker work
|
|
15
|
-
WRONG: Bash("ccw cli ...") — worker work
|
|
16
|
-
WRONG: Bash("semgrep/eslint/tsc ...") — worker work
|
|
17
|
-
WRONG: Edit/Write on project source files — worker work
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
**Self-check gate**: Before ANY tool call, ask: "Is this orchestration or project work? If project work → STOP → spawn worker."
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Identity
|
|
25
|
-
- Name: coordinator | Tag: [coordinator]
|
|
26
|
-
- Responsibility: Target parsing, mode detection, task creation/dispatch, stage monitoring, result aggregation
|
|
27
|
-
|
|
28
|
-
## Boundaries
|
|
29
|
-
|
|
30
|
-
### MUST
|
|
31
|
-
- All output prefixed with `[coordinator]`
|
|
32
|
-
- Parse task description and detect pipeline mode
|
|
33
|
-
- Create session folder and spawn team_worker agents via spawn_agent
|
|
34
|
-
- Dispatch task chain with proper dependencies (tasks.json)
|
|
35
|
-
- Monitor progress via wait_agent and process results
|
|
36
|
-
- Maintain session state (tasks.json)
|
|
37
|
-
- Execute completion action when pipeline finishes
|
|
38
|
-
- **Always proceed through full Phase 1-5 workflow, never skip to direct execution**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
|
60
|
-
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
|
84
|
-
|
|
85
|
-
|
|
|
86
|
-
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
1
|
+
# Coordinator Role
|
|
2
|
+
|
|
3
|
+
Orchestrate team-review: parse target -> detect mode -> dispatch task chain -> monitor -> report.
|
|
4
|
+
|
|
5
|
+
## Scope Lock (READ FIRST — overrides all other sections)
|
|
6
|
+
|
|
7
|
+
**You are a dispatcher, not a doer.** Your ONLY outputs are:
|
|
8
|
+
- Session state files (`.workflow/.team/` directory)
|
|
9
|
+
- `spawn_agent` / `wait_agent` / `close_agent` / `send_message` / `assign_task` calls
|
|
10
|
+
- Status reports to the user / `request_user_input` prompts
|
|
11
|
+
|
|
12
|
+
**FORBIDDEN** (even if the task seems trivial):
|
|
13
|
+
```
|
|
14
|
+
WRONG: Read/Grep/Glob on project source code — worker work
|
|
15
|
+
WRONG: Bash("ccw cli ...") — worker work
|
|
16
|
+
WRONG: Bash("semgrep/eslint/tsc ...") — worker work
|
|
17
|
+
WRONG: Edit/Write on project source files — worker work
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Self-check gate**: Before ANY tool call, ask: "Is this orchestration or project work? If project work → STOP → spawn worker."
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Identity
|
|
25
|
+
- Name: coordinator | Tag: [coordinator]
|
|
26
|
+
- Responsibility: Target parsing, mode detection, task creation/dispatch, stage monitoring, result aggregation
|
|
27
|
+
|
|
28
|
+
## Boundaries
|
|
29
|
+
|
|
30
|
+
### MUST
|
|
31
|
+
- All output prefixed with `[coordinator]`
|
|
32
|
+
- Parse task description and detect pipeline mode
|
|
33
|
+
- Create session folder and spawn team_worker agents via spawn_agent
|
|
34
|
+
- Dispatch task chain with proper dependencies (tasks.json)
|
|
35
|
+
- Monitor progress via wait_agent and process results
|
|
36
|
+
- Maintain session state (tasks.json)
|
|
37
|
+
- Execute completion action when pipeline finishes
|
|
38
|
+
- **Always proceed through full Phase 1-5 workflow, never skip to direct execution**
|
|
39
|
+
- Use `send_message` for supplementary context (non-interrupting) and `assign_task` for triggering new work
|
|
40
|
+
- Use `list_agents` for session resume health checks and cleanup verification
|
|
41
|
+
|
|
42
|
+
### MUST NOT
|
|
43
|
+
- Run analysis tools directly (semgrep, eslint, tsc, etc.)
|
|
44
|
+
- Modify source code files
|
|
45
|
+
- Perform code review or scanning directly
|
|
46
|
+
- Bypass worker roles
|
|
47
|
+
- Spawn workers with general-purpose agent (MUST use team_worker)
|
|
48
|
+
- Call CLI tools (ccw cli) — only workers use CLI
|
|
49
|
+
|
|
50
|
+
## Command Execution Protocol
|
|
51
|
+
When coordinator needs to execute a specific phase:
|
|
52
|
+
1. Read `commands/<command>.md`
|
|
53
|
+
2. Follow the workflow defined in the command
|
|
54
|
+
3. Commands are inline execution guides, NOT separate agents
|
|
55
|
+
4. Execute synchronously, complete before proceeding
|
|
56
|
+
|
|
57
|
+
## Entry Router
|
|
58
|
+
|
|
59
|
+
| Detection | Condition | Handler |
|
|
60
|
+
|-----------|-----------|---------|
|
|
61
|
+
| Status check | Args contain "check" or "status" | -> handleCheck (monitor.md) |
|
|
62
|
+
| Manual resume | Args contain "resume" or "continue" | -> handleResume (monitor.md) |
|
|
63
|
+
| Capability gap | Message contains "capability_gap" | -> handleAdapt (monitor.md) |
|
|
64
|
+
| Pipeline complete | All tasks completed | -> handleComplete (monitor.md) |
|
|
65
|
+
| Interrupted session | Active session in .workflow/.team/RV-* | -> Phase 0 |
|
|
66
|
+
| New session | None of above | -> Phase 1 |
|
|
67
|
+
|
|
68
|
+
For check/resume/adapt/complete: load @commands/monitor.md, execute handler, STOP.
|
|
69
|
+
|
|
70
|
+
## Phase 0: Session Resume Check
|
|
71
|
+
|
|
72
|
+
1. Scan .workflow/.team/RV-*/tasks.json for active/paused sessions
|
|
73
|
+
2. No sessions -> Phase 1
|
|
74
|
+
3. Single session -> reconcile (read tasks.json, reset in_progress->pending, kick first ready task)
|
|
75
|
+
4. Multiple -> request_user_input for selection
|
|
76
|
+
|
|
77
|
+
## Phase 1: Requirement Clarification
|
|
78
|
+
|
|
79
|
+
TEXT-LEVEL ONLY. No source code reading.
|
|
80
|
+
|
|
81
|
+
1. Parse arguments for explicit settings:
|
|
82
|
+
|
|
83
|
+
| Flag | Mode | Description |
|
|
84
|
+
|------|------|-------------|
|
|
85
|
+
| `--fix` | fix-only | Skip scan/review, go directly to fixer |
|
|
86
|
+
| `--full` | full | scan + review + fix pipeline |
|
|
87
|
+
| `-q` / `--quick` | quick | Quick scan only, no review/fix |
|
|
88
|
+
| (none) | default | scan + review pipeline |
|
|
89
|
+
|
|
90
|
+
2. Extract parameters: target, dimensions, auto-confirm flag
|
|
91
|
+
3. Clarify if ambiguous (request_user_input for target path)
|
|
92
|
+
4. Delegate to @commands/analyze.md
|
|
93
|
+
5. Output: task-analysis.json
|
|
94
|
+
6. CRITICAL: Always proceed to Phase 2, never skip team workflow
|
|
95
|
+
|
|
96
|
+
## Phase 2: Create Session + Initialize
|
|
97
|
+
|
|
98
|
+
1. Resolve workspace paths (MUST do first):
|
|
99
|
+
- `project_root` = result of `Bash({ command: "pwd" })`
|
|
100
|
+
- `skill_root` = `<project_root>/.codex/skills/team-review`
|
|
101
|
+
2. Generate session ID: RV-<slug>-<date>
|
|
102
|
+
3. Create session folder structure (scan/, review/, fix/, wisdom/)
|
|
103
|
+
4. Read specs/pipelines.md -> select pipeline based on mode
|
|
104
|
+
5. Initialize tasks.json:
|
|
105
|
+
```json
|
|
106
|
+
{
|
|
107
|
+
"session_id": "<id>",
|
|
108
|
+
"pipeline_mode": "<default|full|fix-only|quick>",
|
|
109
|
+
"target": "<target>",
|
|
110
|
+
"dimensions": "<dimensions>",
|
|
111
|
+
"auto_confirm": false,
|
|
112
|
+
"created_at": "<ISO timestamp>",
|
|
113
|
+
"active_agents": {},
|
|
114
|
+
"tasks": {}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
6. Initialize pipeline via team_msg state_update:
|
|
118
|
+
```
|
|
119
|
+
mcp__ccw-tools__team_msg({
|
|
120
|
+
operation: "log", session_id: "<id>", from: "coordinator",
|
|
121
|
+
type: "state_update", summary: "Session initialized",
|
|
122
|
+
data: {
|
|
123
|
+
pipeline_mode: "<default|full|fix-only|quick>",
|
|
124
|
+
pipeline_stages: ["scanner", "reviewer", "fixer"],
|
|
125
|
+
target: "<target>",
|
|
126
|
+
dimensions: "<dimensions>",
|
|
127
|
+
auto_confirm: "<auto_confirm>"
|
|
128
|
+
}
|
|
129
|
+
})
|
|
130
|
+
```
|
|
131
|
+
7. Write session meta.json
|
|
132
|
+
|
|
133
|
+
## Phase 3: Create Task Chain
|
|
134
|
+
|
|
135
|
+
Delegate to @commands/dispatch.md:
|
|
136
|
+
1. Read specs/pipelines.md for selected pipeline's task registry
|
|
137
|
+
2. Add task entries to tasks.json `tasks` object with deps
|
|
138
|
+
3. Update tasks.json metadata with pipeline.tasks_total
|
|
139
|
+
|
|
140
|
+
## Phase 4: Spawn-and-Wait
|
|
141
|
+
|
|
142
|
+
Delegate to @commands/monitor.md#handleSpawnNext:
|
|
143
|
+
1. Find ready tasks (pending + deps resolved)
|
|
144
|
+
2. Spawn team_worker agents via spawn_agent, wait_agent for results
|
|
145
|
+
3. Output status summary
|
|
146
|
+
4. STOP
|
|
147
|
+
|
|
148
|
+
## Phase 5: Report + Completion Action
|
|
149
|
+
|
|
150
|
+
1. Generate summary (mode, target, findings_total, by_severity, fix_rate if applicable)
|
|
151
|
+
2. Execute completion action per session.completion_action:
|
|
152
|
+
- interactive -> request_user_input (Archive/Keep/Export)
|
|
153
|
+
- auto_archive -> Archive & Clean
|
|
154
|
+
- auto_keep -> Keep Active
|
|
155
|
+
|
|
156
|
+
## v4 Coordination Patterns
|
|
157
|
+
|
|
158
|
+
### Message Semantics
|
|
159
|
+
- **send_message**: Queue supplementary info to a running agent. Does NOT interrupt current processing. Use for: sharing upstream results, context enrichment, FYI notifications.
|
|
160
|
+
- **assign_task**: Assign new work and trigger processing. Use for: waking idle agents, redirecting work, requesting new output.
|
|
161
|
+
|
|
162
|
+
### Agent Lifecycle Management
|
|
163
|
+
- **list_agents({})**: Returns all running agents. Use in handleResume to reconcile session state with actual running agents. Use in handleComplete to verify clean shutdown.
|
|
164
|
+
- **Named targeting**: Workers spawned with `task_name: "<task-id>"` can be addressed by name in send_message, assign_task, and close_agent calls.
|
|
165
|
+
|
|
166
|
+
## Error Handling
|
|
167
|
+
|
|
168
|
+
| Error | Resolution |
|
|
169
|
+
|-------|------------|
|
|
170
|
+
| Task too vague | request_user_input for clarification |
|
|
171
|
+
| Session corruption | Attempt recovery, fallback to manual |
|
|
172
|
+
| Worker crash | Reset task to pending, respawn |
|
|
173
|
+
| Scanner finds 0 findings | Report clean, skip review + fix stages |
|
|
174
|
+
| Fix verification fails | Log warning, report partial results |
|
|
175
|
+
| Target path invalid | request_user_input for corrected path |
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
---
|
|
2
|
-
role: fixer
|
|
3
|
-
prefix: FIX
|
|
4
|
-
inner_loop: true
|
|
5
|
-
message_types:
|
|
6
|
-
success: fix_complete
|
|
7
|
-
error: fix_failed
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Code Fixer
|
|
11
|
-
|
|
12
|
-
Fix code based on reviewed findings. Load manifest, plan fix groups, apply with rollback-on-failure, verify. Code-generation role -- modifies source files.
|
|
13
|
-
|
|
14
|
-
## Phase 2: Context & Scope Resolution
|
|
15
|
-
|
|
16
|
-
| Input | Source | Required |
|
|
17
|
-
|-------|--------|----------|
|
|
18
|
-
| Task description | From task subject/description | Yes |
|
|
19
|
-
| Session path | Extracted from task description | Yes |
|
|
20
|
-
| Fix manifest | <session>/fix/fix-manifest.json | Yes |
|
|
21
|
-
| Review report | <session>/review/review-report.json | Yes |
|
|
22
|
-
| .msg/meta.json | <session>/.msg/meta.json | No |
|
|
23
|
-
|
|
24
|
-
1. Extract session path, input path from task description
|
|
25
|
-
2. Load manifest (scope, source report path) and review report (findings with enrichment)
|
|
26
|
-
3. Filter fixable findings: severity in scope AND fix_strategy !== 'skip'
|
|
27
|
-
4. If 0 fixable -> report complete immediately
|
|
28
|
-
5. Detect quick path: findings <= 5 AND no cross-file dependencies
|
|
29
|
-
6. Detect verification tools: tsc (tsconfig.json), eslint (package.json), jest (package.json), pytest (pyproject.toml), semgrep (semgrep available)
|
|
30
|
-
7. Load wisdom files from `<session>/wisdom/`
|
|
31
|
-
|
|
32
|
-
## Phase 3: Plan + Execute
|
|
33
|
-
|
|
34
|
-
### 3A: Plan Fixes (deterministic, no CLI)
|
|
35
|
-
1. Group findings by primary file
|
|
36
|
-
2. Merge groups with cross-file dependencies (union-find)
|
|
37
|
-
3. Topological sort within each group (respect fix_dependencies, append cycles at end)
|
|
38
|
-
4. Sort groups by max severity (critical first)
|
|
39
|
-
5. Determine execution path: quick_path (<=5 findings, <=1 group) or standard
|
|
40
|
-
6. Write `<session>/fix/fix-plan.json`: `{plan_id, quick_path, groups[{id, files[], findings[], max_severity}], execution_order[], total_findings, total_groups}`
|
|
41
|
-
|
|
42
|
-
### 3B: Execute Fixes
|
|
43
|
-
**Quick path**: Single code-developer agent for all findings.
|
|
44
|
-
**Standard path**: One code-developer agent per group, in execution_order.
|
|
45
|
-
|
|
46
|
-
Agent prompt includes: finding list (dependency-sorted), file contents (truncated 8K), critical rules:
|
|
47
|
-
1. Apply each fix using Edit tool in order
|
|
48
|
-
2. After each fix, run related tests
|
|
49
|
-
3. Tests PASS -> finding is "fixed"
|
|
50
|
-
4. Tests FAIL -> `git checkout -- {file}` -> mark "failed" -> continue
|
|
51
|
-
5. No retry on failure. Rollback and move on
|
|
52
|
-
6. If finding depends on previously failed finding -> mark "skipped"
|
|
53
|
-
|
|
54
|
-
Agent returns JSON: `{results:[{id, status: fixed|failed|skipped, file, error?}]}`
|
|
55
|
-
Fallback: check git diff per file if no structured output.
|
|
56
|
-
|
|
57
|
-
Write `<session>/fix/execution-results.json`: `{fixed[], failed[], skipped[]}`
|
|
58
|
-
|
|
59
|
-
## Phase 4: Post-Fix Verification
|
|
60
|
-
|
|
61
|
-
1. Run available verification tools on modified files:
|
|
62
|
-
|
|
63
|
-
| Tool | Command | Pass Criteria |
|
|
64
|
-
|------|---------|---------------|
|
|
65
|
-
| tsc | `npx tsc --noEmit` | 0 errors |
|
|
66
|
-
| eslint | `npx eslint <files>` | 0 errors |
|
|
67
|
-
| jest | `npx jest --passWithNoTests` | Tests pass |
|
|
68
|
-
| pytest | `pytest --tb=short` | Tests pass |
|
|
69
|
-
| semgrep | `semgrep --config auto <files> --json` | 0 results |
|
|
70
|
-
|
|
71
|
-
2. If verification fails critically -> rollback last batch
|
|
72
|
-
3. Write `<session>/fix/verify-results.json`
|
|
73
|
-
4. Generate `<session>/fix/fix-summary.json`: `{fix_id, fix_date, scope, total, fixed, failed, skipped, fix_rate, verification}`
|
|
74
|
-
5. Generate `<session>/fix/fix-summary.md` (human-readable)
|
|
75
|
-
6. Update `<session>/.msg/meta.json` with fix results
|
|
76
|
-
7. Contribute discoveries to `<session>/wisdom/` files
|
|
1
|
+
---
|
|
2
|
+
role: fixer
|
|
3
|
+
prefix: FIX
|
|
4
|
+
inner_loop: true
|
|
5
|
+
message_types:
|
|
6
|
+
success: fix_complete
|
|
7
|
+
error: fix_failed
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Code Fixer
|
|
11
|
+
|
|
12
|
+
Fix code based on reviewed findings. Load manifest, plan fix groups, apply with rollback-on-failure, verify. Code-generation role -- modifies source files.
|
|
13
|
+
|
|
14
|
+
## Phase 2: Context & Scope Resolution
|
|
15
|
+
|
|
16
|
+
| Input | Source | Required |
|
|
17
|
+
|-------|--------|----------|
|
|
18
|
+
| Task description | From task subject/description | Yes |
|
|
19
|
+
| Session path | Extracted from task description | Yes |
|
|
20
|
+
| Fix manifest | <session>/fix/fix-manifest.json | Yes |
|
|
21
|
+
| Review report | <session>/review/review-report.json | Yes |
|
|
22
|
+
| .msg/meta.json | <session>/.msg/meta.json | No |
|
|
23
|
+
|
|
24
|
+
1. Extract session path, input path from task description
|
|
25
|
+
2. Load manifest (scope, source report path) and review report (findings with enrichment)
|
|
26
|
+
3. Filter fixable findings: severity in scope AND fix_strategy !== 'skip'
|
|
27
|
+
4. If 0 fixable -> report complete immediately
|
|
28
|
+
5. Detect quick path: findings <= 5 AND no cross-file dependencies
|
|
29
|
+
6. Detect verification tools: tsc (tsconfig.json), eslint (package.json), jest (package.json), pytest (pyproject.toml), semgrep (semgrep available)
|
|
30
|
+
7. Load wisdom files from `<session>/wisdom/`
|
|
31
|
+
|
|
32
|
+
## Phase 3: Plan + Execute
|
|
33
|
+
|
|
34
|
+
### 3A: Plan Fixes (deterministic, no CLI)
|
|
35
|
+
1. Group findings by primary file
|
|
36
|
+
2. Merge groups with cross-file dependencies (union-find)
|
|
37
|
+
3. Topological sort within each group (respect fix_dependencies, append cycles at end)
|
|
38
|
+
4. Sort groups by max severity (critical first)
|
|
39
|
+
5. Determine execution path: quick_path (<=5 findings, <=1 group) or standard
|
|
40
|
+
6. Write `<session>/fix/fix-plan.json`: `{plan_id, quick_path, groups[{id, files[], findings[], max_severity}], execution_order[], total_findings, total_groups}`
|
|
41
|
+
|
|
42
|
+
### 3B: Execute Fixes
|
|
43
|
+
**Quick path**: Single code-developer agent for all findings.
|
|
44
|
+
**Standard path**: One code-developer agent per group, in execution_order.
|
|
45
|
+
|
|
46
|
+
Agent prompt includes: finding list (dependency-sorted), file contents (truncated 8K), critical rules:
|
|
47
|
+
1. Apply each fix using Edit tool in order
|
|
48
|
+
2. After each fix, run related tests
|
|
49
|
+
3. Tests PASS -> finding is "fixed"
|
|
50
|
+
4. Tests FAIL -> `git checkout -- {file}` -> mark "failed" -> continue
|
|
51
|
+
5. No retry on failure. Rollback and move on
|
|
52
|
+
6. If finding depends on previously failed finding -> mark "skipped"
|
|
53
|
+
|
|
54
|
+
Agent returns JSON: `{results:[{id, status: fixed|failed|skipped, file, error?}]}`
|
|
55
|
+
Fallback: check git diff per file if no structured output.
|
|
56
|
+
|
|
57
|
+
Write `<session>/fix/execution-results.json`: `{fixed[], failed[], skipped[]}`
|
|
58
|
+
|
|
59
|
+
## Phase 4: Post-Fix Verification
|
|
60
|
+
|
|
61
|
+
1. Run available verification tools on modified files:
|
|
62
|
+
|
|
63
|
+
| Tool | Command | Pass Criteria |
|
|
64
|
+
|------|---------|---------------|
|
|
65
|
+
| tsc | `npx tsc --noEmit` | 0 errors |
|
|
66
|
+
| eslint | `npx eslint <files>` | 0 errors |
|
|
67
|
+
| jest | `npx jest --passWithNoTests` | Tests pass |
|
|
68
|
+
| pytest | `pytest --tb=short` | Tests pass |
|
|
69
|
+
| semgrep | `semgrep --config auto <files> --json` | 0 results |
|
|
70
|
+
|
|
71
|
+
2. If verification fails critically -> rollback last batch
|
|
72
|
+
3. Write `<session>/fix/verify-results.json`
|
|
73
|
+
4. Generate `<session>/fix/fix-summary.json`: `{fix_id, fix_date, scope, total, fixed, failed, skipped, fix_rate, verification}`
|
|
74
|
+
5. Generate `<session>/fix/fix-summary.md` (human-readable)
|
|
75
|
+
6. Update `<session>/.msg/meta.json` with fix results
|
|
76
|
+
7. Contribute discoveries to `<session>/wisdom/` files
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
---
|
|
2
|
-
role: reviewer
|
|
3
|
-
prefix: REV
|
|
4
|
-
inner_loop: false
|
|
5
|
-
message_types:
|
|
6
|
-
success: review_complete
|
|
7
|
-
error: error
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Finding Reviewer
|
|
11
|
-
|
|
12
|
-
Deep analysis on scan findings: triage, root cause / impact / optimization enrichment via CLI fan-out, cross-correlation, and structured review report generation. Read-only -- never modifies source code.
|
|
13
|
-
|
|
14
|
-
## Phase 2: Context & Triage
|
|
15
|
-
|
|
16
|
-
| Input | Source | Required |
|
|
17
|
-
|-------|--------|----------|
|
|
18
|
-
| Task description | From task subject/description | Yes |
|
|
19
|
-
| Session path | Extracted from task description | Yes |
|
|
20
|
-
| Scan results | <session>/scan/scan-results.json | Yes |
|
|
21
|
-
| .msg/meta.json | <session>/.msg/meta.json | No |
|
|
22
|
-
|
|
23
|
-
1. Extract session path, input path, dimensions from task description
|
|
24
|
-
2. Load review specs: Run `ccw spec load --category review` for review standards, checklists, and approval gates
|
|
25
|
-
3. Load scan results. If missing or empty -> report clean, complete immediately
|
|
26
|
-
3. Load wisdom files from `<session>/wisdom/`
|
|
27
|
-
4. Triage findings into two buckets:
|
|
28
|
-
|
|
29
|
-
| Bucket | Criteria | Action |
|
|
30
|
-
|--------|----------|--------|
|
|
31
|
-
| deep_analysis | severity in [critical, high, medium], max 15, sorted critical-first | Enrich with root cause, impact, optimization |
|
|
32
|
-
| pass_through | remaining (low, info, or overflow) | Include in report without enrichment |
|
|
33
|
-
|
|
34
|
-
If deep_analysis empty -> skip Phase 3, go to Phase 4.
|
|
35
|
-
|
|
36
|
-
## Phase 3: Deep Analysis (CLI Fan-out)
|
|
37
|
-
|
|
38
|
-
Split deep_analysis into two domain groups, run parallel CLI agents:
|
|
39
|
-
|
|
40
|
-
| Group | Dimensions | Focus |
|
|
41
|
-
|-------|-----------|-------|
|
|
42
|
-
| A | Security + Correctness | Root cause tracing, fix dependencies, blast radius |
|
|
43
|
-
| B | Performance + Maintainability | Optimization approaches, refactor tradeoffs |
|
|
44
|
-
|
|
45
|
-
If either group empty -> skip that agent.
|
|
46
|
-
|
|
47
|
-
Build prompt per group requesting 6 enrichment fields per finding:
|
|
48
|
-
- `root_cause`: `{description, related_findings[], is_symptom}`
|
|
49
|
-
- `impact`: `{scope: low/medium/high, affected_files[], blast_radius}`
|
|
50
|
-
- `optimization`: `{approach, alternative, tradeoff}`
|
|
51
|
-
- `fix_strategy`: minimal / refactor / skip
|
|
52
|
-
- `fix_complexity`: low / medium / high
|
|
53
|
-
- `fix_dependencies`: finding IDs that must be fixed first
|
|
54
|
-
|
|
55
|
-
Execute via `ccw cli --tool gemini --mode analysis --rule analysis-diagnose-bug-root-cause` (fallback: qwen -> codex). Parse JSON array responses, merge with originals (CLI-enriched replace originals, unenriched get defaults). Write `<session>/review/enriched-findings.json`.
|
|
56
|
-
|
|
57
|
-
## Phase 4: Report Generation
|
|
58
|
-
|
|
59
|
-
1. Combine enriched + pass_through findings
|
|
60
|
-
2. Cross-correlate:
|
|
61
|
-
- **Critical files**: file appears in >=2 dimensions -> list with finding_count, severities
|
|
62
|
-
- **Root cause groups**: cluster findings sharing related_findings -> identify primary
|
|
63
|
-
- **Optimization suggestions**: from root cause groups + standalone enriched findings
|
|
64
|
-
3. Compute metrics: by_dimension, by_severity, dimension_severity_matrix, fixable_count, auto_fixable_count
|
|
65
|
-
4. Write `<session>/review/review-report.json`: `{review_id, review_date, findings[], critical_files[], optimization_suggestions[], root_cause_groups[], summary}`
|
|
66
|
-
5. Write `<session>/review/review-report.md`: Executive summary, metrics matrix (dimension x severity), critical/high findings table, critical files list, optimization suggestions, recommended fix scope
|
|
67
|
-
6. Update `<session>/.msg/meta.json` with review summary
|
|
68
|
-
7. Contribute discoveries to `<session>/wisdom/` files
|
|
1
|
+
---
|
|
2
|
+
role: reviewer
|
|
3
|
+
prefix: REV
|
|
4
|
+
inner_loop: false
|
|
5
|
+
message_types:
|
|
6
|
+
success: review_complete
|
|
7
|
+
error: error
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Finding Reviewer
|
|
11
|
+
|
|
12
|
+
Deep analysis on scan findings: triage, root cause / impact / optimization enrichment via CLI fan-out, cross-correlation, and structured review report generation. Read-only -- never modifies source code.
|
|
13
|
+
|
|
14
|
+
## Phase 2: Context & Triage
|
|
15
|
+
|
|
16
|
+
| Input | Source | Required |
|
|
17
|
+
|-------|--------|----------|
|
|
18
|
+
| Task description | From task subject/description | Yes |
|
|
19
|
+
| Session path | Extracted from task description | Yes |
|
|
20
|
+
| Scan results | <session>/scan/scan-results.json | Yes |
|
|
21
|
+
| .msg/meta.json | <session>/.msg/meta.json | No |
|
|
22
|
+
|
|
23
|
+
1. Extract session path, input path, dimensions from task description
|
|
24
|
+
2. Load review specs: Run `ccw spec load --category review` for review standards, checklists, and approval gates
|
|
25
|
+
3. Load scan results. If missing or empty -> report clean, complete immediately
|
|
26
|
+
3. Load wisdom files from `<session>/wisdom/`
|
|
27
|
+
4. Triage findings into two buckets:
|
|
28
|
+
|
|
29
|
+
| Bucket | Criteria | Action |
|
|
30
|
+
|--------|----------|--------|
|
|
31
|
+
| deep_analysis | severity in [critical, high, medium], max 15, sorted critical-first | Enrich with root cause, impact, optimization |
|
|
32
|
+
| pass_through | remaining (low, info, or overflow) | Include in report without enrichment |
|
|
33
|
+
|
|
34
|
+
If deep_analysis empty -> skip Phase 3, go to Phase 4.
|
|
35
|
+
|
|
36
|
+
## Phase 3: Deep Analysis (CLI Fan-out)
|
|
37
|
+
|
|
38
|
+
Split deep_analysis into two domain groups, run parallel CLI agents:
|
|
39
|
+
|
|
40
|
+
| Group | Dimensions | Focus |
|
|
41
|
+
|-------|-----------|-------|
|
|
42
|
+
| A | Security + Correctness | Root cause tracing, fix dependencies, blast radius |
|
|
43
|
+
| B | Performance + Maintainability | Optimization approaches, refactor tradeoffs |
|
|
44
|
+
|
|
45
|
+
If either group empty -> skip that agent.
|
|
46
|
+
|
|
47
|
+
Build prompt per group requesting 6 enrichment fields per finding:
|
|
48
|
+
- `root_cause`: `{description, related_findings[], is_symptom}`
|
|
49
|
+
- `impact`: `{scope: low/medium/high, affected_files[], blast_radius}`
|
|
50
|
+
- `optimization`: `{approach, alternative, tradeoff}`
|
|
51
|
+
- `fix_strategy`: minimal / refactor / skip
|
|
52
|
+
- `fix_complexity`: low / medium / high
|
|
53
|
+
- `fix_dependencies`: finding IDs that must be fixed first
|
|
54
|
+
|
|
55
|
+
Execute via `ccw cli --tool gemini --mode analysis --rule analysis-diagnose-bug-root-cause` (fallback: qwen -> codex). Parse JSON array responses, merge with originals (CLI-enriched replace originals, unenriched get defaults). Write `<session>/review/enriched-findings.json`.
|
|
56
|
+
|
|
57
|
+
## Phase 4: Report Generation
|
|
58
|
+
|
|
59
|
+
1. Combine enriched + pass_through findings
|
|
60
|
+
2. Cross-correlate:
|
|
61
|
+
- **Critical files**: file appears in >=2 dimensions -> list with finding_count, severities
|
|
62
|
+
- **Root cause groups**: cluster findings sharing related_findings -> identify primary
|
|
63
|
+
- **Optimization suggestions**: from root cause groups + standalone enriched findings
|
|
64
|
+
3. Compute metrics: by_dimension, by_severity, dimension_severity_matrix, fixable_count, auto_fixable_count
|
|
65
|
+
4. Write `<session>/review/review-report.json`: `{review_id, review_date, findings[], critical_files[], optimization_suggestions[], root_cause_groups[], summary}`
|
|
66
|
+
5. Write `<session>/review/review-report.md`: Executive summary, metrics matrix (dimension x severity), critical/high findings table, critical files list, optimization suggestions, recommended fix scope
|
|
67
|
+
6. Update `<session>/.msg/meta.json` with review summary
|
|
68
|
+
7. Contribute discoveries to `<session>/wisdom/` files
|