claude-code-workflow 7.2.23 → 7.2.24

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 (181) hide show
  1. package/.codex/skills/team-arch-opt/SKILL.md +242 -175
  2. package/.codex/skills/team-arch-opt/roles/analyzer/role.md +78 -78
  3. package/.codex/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -57
  4. package/.codex/skills/team-arch-opt/roles/coordinator/commands/monitor.md +246 -204
  5. package/.codex/skills/team-arch-opt/roles/coordinator/role.md +196 -184
  6. package/.codex/skills/team-arch-opt/roles/designer/role.md +115 -115
  7. package/.codex/skills/team-arch-opt/roles/refactorer/role.md +102 -102
  8. package/.codex/skills/team-arch-opt/roles/reviewer/role.md +111 -111
  9. package/.codex/skills/team-arch-opt/roles/validator/role.md +115 -115
  10. package/.codex/skills/team-arch-opt/specs/pipelines.md +102 -102
  11. package/.codex/skills/team-brainstorm/SKILL.md +72 -4
  12. package/.codex/skills/team-brainstorm/roles/challenger/role.md +61 -61
  13. package/.codex/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -58
  14. package/.codex/skills/team-brainstorm/roles/coordinator/commands/monitor.md +212 -171
  15. package/.codex/skills/team-brainstorm/roles/coordinator/role.md +172 -160
  16. package/.codex/skills/team-brainstorm/roles/evaluator/role.md +56 -56
  17. package/.codex/skills/team-brainstorm/roles/ideator/role.md +69 -69
  18. package/.codex/skills/team-brainstorm/roles/synthesizer/role.md +57 -57
  19. package/.codex/skills/team-brainstorm/specs/pipelines.md +72 -72
  20. package/.codex/skills/team-coordinate/SKILL.md +71 -3
  21. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +45 -5
  22. package/.codex/skills/team-coordinate/roles/coordinator/role.md +402 -389
  23. package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +111 -111
  24. package/.codex/skills/team-coordinate/specs/pipelines.md +97 -97
  25. package/.codex/skills/team-coordinate/specs/quality-gates.md +112 -112
  26. package/.codex/skills/team-designer/SKILL.md +153 -153
  27. package/.codex/skills/team-designer/phases/01-requirements-analysis.md +250 -250
  28. package/.codex/skills/team-designer/phases/02-scaffold-generation.md +228 -228
  29. package/.codex/skills/team-designer/phases/03-content-generation.md +330 -330
  30. package/.codex/skills/team-designer/phases/04-validation.md +320 -320
  31. package/.codex/skills/team-executor/SKILL.md +29 -2
  32. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +23 -15
  33. package/.codex/skills/team-frontend/SKILL.md +77 -3
  34. package/.codex/skills/team-frontend/roles/analyst/role.md +92 -92
  35. package/.codex/skills/team-frontend/roles/architect/role.md +86 -86
  36. package/.codex/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -52
  37. package/.codex/skills/team-frontend/roles/coordinator/commands/monitor.md +222 -188
  38. package/.codex/skills/team-frontend/roles/coordinator/role.md +189 -177
  39. package/.codex/skills/team-frontend/roles/developer/role.md +93 -93
  40. package/.codex/skills/team-frontend/roles/qa/role.md +79 -79
  41. package/.codex/skills/team-frontend/specs/pipelines.md +76 -76
  42. package/.codex/skills/team-frontend-debug/SKILL.md +66 -3
  43. package/.codex/skills/team-frontend-debug/roles/analyzer/role.md +208 -208
  44. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -174
  45. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +198 -198
  46. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +177 -143
  47. package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +164 -152
  48. package/.codex/skills/team-frontend-debug/roles/fixer/role.md +147 -147
  49. package/.codex/skills/team-frontend-debug/roles/reproducer/role.md +147 -147
  50. package/.codex/skills/team-frontend-debug/roles/tester/role.md +231 -231
  51. package/.codex/skills/team-frontend-debug/roles/verifier/role.md +172 -172
  52. package/.codex/skills/team-frontend-debug/specs/debug-tools.md +215 -215
  53. package/.codex/skills/team-frontend-debug/specs/pipelines.md +94 -94
  54. package/.codex/skills/team-issue/SKILL.md +83 -4
  55. package/.codex/skills/team-issue/roles/coordinator/commands/analyze.md +64 -64
  56. package/.codex/skills/team-issue/roles/coordinator/commands/dispatch.md +273 -273
  57. package/.codex/skills/team-issue/roles/coordinator/commands/monitor.md +235 -194
  58. package/.codex/skills/team-issue/roles/coordinator/role.md +206 -194
  59. package/.codex/skills/team-issue/roles/explorer/role.md +94 -94
  60. package/.codex/skills/team-issue/roles/implementer/role.md +87 -87
  61. package/.codex/skills/team-issue/roles/integrator/role.md +84 -84
  62. package/.codex/skills/team-issue/roles/planner/role.md +81 -81
  63. package/.codex/skills/team-issue/roles/reviewer/role.md +86 -86
  64. package/.codex/skills/team-issue/specs/pipelines.md +124 -124
  65. package/.codex/skills/team-iterdev/SKILL.md +64 -3
  66. package/.codex/skills/team-iterdev/roles/architect/role.md +65 -65
  67. package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +62 -62
  68. package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +227 -186
  69. package/.codex/skills/team-iterdev/roles/coordinator/role.md +193 -181
  70. package/.codex/skills/team-iterdev/roles/developer/role.md +74 -74
  71. package/.codex/skills/team-iterdev/roles/reviewer/role.md +66 -66
  72. package/.codex/skills/team-iterdev/roles/tester/role.md +88 -88
  73. package/.codex/skills/team-iterdev/specs/pipelines.md +94 -94
  74. package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +6 -6
  75. package/.codex/skills/team-lifecycle-v4/SKILL.md +305 -242
  76. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +1 -1
  77. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +66 -24
  78. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +13 -1
  79. package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +1 -1
  80. package/.codex/skills/team-lifecycle-v4/templates/architecture.md +254 -254
  81. package/.codex/skills/team-lifecycle-v4/templates/epics.md +196 -196
  82. package/.codex/skills/team-lifecycle-v4/templates/product-brief.md +133 -133
  83. package/.codex/skills/team-lifecycle-v4/templates/requirements.md +224 -224
  84. package/.codex/skills/team-perf-opt/SKILL.md +68 -3
  85. package/.codex/skills/team-perf-opt/roles/benchmarker/role.md +89 -89
  86. package/.codex/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -61
  87. package/.codex/skills/team-perf-opt/roles/coordinator/commands/monitor.md +35 -1
  88. package/.codex/skills/team-perf-opt/roles/coordinator/role.md +179 -167
  89. package/.codex/skills/team-perf-opt/roles/optimizer/role.md +97 -97
  90. package/.codex/skills/team-perf-opt/roles/profiler/role.md +73 -73
  91. package/.codex/skills/team-perf-opt/roles/reviewer/role.md +75 -75
  92. package/.codex/skills/team-perf-opt/roles/strategist/role.md +94 -94
  93. package/.codex/skills/team-perf-opt/specs/pipelines.md +65 -65
  94. package/.codex/skills/team-planex/SKILL.md +65 -3
  95. package/.codex/skills/team-planex/roles/coordinator/commands/analyze.md +52 -52
  96. package/.codex/skills/team-planex/roles/coordinator/commands/monitor.md +210 -164
  97. package/.codex/skills/team-planex/roles/coordinator/role.md +171 -159
  98. package/.codex/skills/team-planex/roles/executor/role.md +91 -91
  99. package/.codex/skills/team-planex/roles/planner/role.md +112 -112
  100. package/.codex/skills/team-planex/specs/pipelines.md +93 -93
  101. package/.codex/skills/team-quality-assurance/SKILL.md +60 -3
  102. package/.codex/skills/team-quality-assurance/roles/analyst/role.md +80 -80
  103. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -72
  104. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +108 -108
  105. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +243 -209
  106. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +176 -164
  107. package/.codex/skills/team-quality-assurance/roles/executor/role.md +66 -66
  108. package/.codex/skills/team-quality-assurance/roles/generator/role.md +68 -68
  109. package/.codex/skills/team-quality-assurance/roles/scout/role.md +67 -67
  110. package/.codex/skills/team-quality-assurance/roles/strategist/role.md +71 -71
  111. package/.codex/skills/team-quality-assurance/specs/pipelines.md +115 -115
  112. package/.codex/skills/team-review/SKILL.md +58 -3
  113. package/.codex/skills/team-review/roles/coordinator/commands/analyze.md +71 -71
  114. package/.codex/skills/team-review/roles/coordinator/commands/dispatch.md +90 -90
  115. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +225 -185
  116. package/.codex/skills/team-review/roles/coordinator/role.md +175 -163
  117. package/.codex/skills/team-review/roles/fixer/role.md +76 -76
  118. package/.codex/skills/team-review/roles/reviewer/role.md +68 -68
  119. package/.codex/skills/team-review/roles/scanner/role.md +71 -71
  120. package/.codex/skills/team-review/specs/pipelines.md +102 -102
  121. package/.codex/skills/team-roadmap-dev/SKILL.md +55 -3
  122. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -61
  123. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +502 -468
  124. package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +335 -322
  125. package/.codex/skills/team-roadmap-dev/roles/executor/role.md +71 -71
  126. package/.codex/skills/team-roadmap-dev/roles/planner/role.md +76 -76
  127. package/.codex/skills/team-roadmap-dev/roles/verifier/role.md +74 -74
  128. package/.codex/skills/team-roadmap-dev/specs/pipelines.md +93 -93
  129. package/.codex/skills/team-tech-debt/SKILL.md +56 -3
  130. package/.codex/skills/team-tech-debt/roles/assessor/role.md +69 -69
  131. package/.codex/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -47
  132. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +272 -231
  133. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +172 -160
  134. package/.codex/skills/team-tech-debt/roles/executor/role.md +76 -76
  135. package/.codex/skills/team-tech-debt/roles/planner/role.md +69 -69
  136. package/.codex/skills/team-tech-debt/roles/scanner/role.md +82 -82
  137. package/.codex/skills/team-tech-debt/roles/validator/role.md +75 -75
  138. package/.codex/skills/team-tech-debt/specs/pipelines.md +47 -47
  139. package/.codex/skills/team-testing/SKILL.md +72 -3
  140. package/.codex/skills/team-testing/roles/analyst/role.md +95 -95
  141. package/.codex/skills/team-testing/roles/coordinator/commands/analyze.md +70 -70
  142. package/.codex/skills/team-testing/roles/coordinator/commands/dispatch.md +106 -106
  143. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +283 -242
  144. package/.codex/skills/team-testing/roles/coordinator/role.md +184 -172
  145. package/.codex/skills/team-testing/roles/executor/role.md +96 -96
  146. package/.codex/skills/team-testing/roles/generator/role.md +95 -95
  147. package/.codex/skills/team-testing/roles/strategist/role.md +83 -83
  148. package/.codex/skills/team-testing/specs/pipelines.md +101 -101
  149. package/.codex/skills/team-uidesign/SKILL.md +65 -3
  150. package/.codex/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -59
  151. package/.codex/skills/team-uidesign/roles/coordinator/commands/dispatch.md +156 -156
  152. package/.codex/skills/team-uidesign/roles/coordinator/commands/monitor.md +234 -194
  153. package/.codex/skills/team-uidesign/roles/coordinator/role.md +211 -199
  154. package/.codex/skills/team-uidesign/roles/designer/role.md +69 -69
  155. package/.codex/skills/team-uidesign/roles/implementer/role.md +72 -72
  156. package/.codex/skills/team-uidesign/roles/researcher/role.md +82 -82
  157. package/.codex/skills/team-uidesign/roles/reviewer/role.md +67 -67
  158. package/.codex/skills/team-uidesign/specs/pipelines.md +76 -76
  159. package/.codex/skills/team-ultra-analyze/SKILL.md +73 -3
  160. package/.codex/skills/team-ultra-analyze/roles/analyst/role.md +90 -90
  161. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -73
  162. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +50 -9
  163. package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +255 -243
  164. package/.codex/skills/team-ultra-analyze/roles/discussant/role.md +104 -104
  165. package/.codex/skills/team-ultra-analyze/roles/explorer/role.md +74 -74
  166. package/.codex/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -78
  167. package/.codex/skills/team-ultra-analyze/specs/pipelines.md +64 -64
  168. package/.codex/skills/team-ux-improve/SKILL.md +64 -3
  169. package/.codex/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -62
  170. package/.codex/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +233 -233
  171. package/.codex/skills/team-ux-improve/roles/coordinator/commands/monitor.md +195 -160
  172. package/.codex/skills/team-ux-improve/roles/coordinator/role.md +170 -158
  173. package/.codex/skills/team-ux-improve/roles/designer/role.md +122 -122
  174. package/.codex/skills/team-ux-improve/roles/diagnoser/role.md +93 -93
  175. package/.codex/skills/team-ux-improve/roles/explorer/role.md +77 -77
  176. package/.codex/skills/team-ux-improve/roles/implementer/role.md +102 -102
  177. package/.codex/skills/team-ux-improve/roles/scanner/role.md +93 -93
  178. package/.codex/skills/team-ux-improve/roles/tester/role.md +84 -84
  179. package/.codex/skills/team-ux-improve/specs/pipelines.md +54 -54
  180. package/README.md +1 -0
  181. package/package.json +1 -1
@@ -1,164 +1,176 @@
1
- # Coordinator Role
2
-
3
- Orchestrate team-quality-assurance: analyze -> dispatch -> spawn -> 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_input` 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: Edit/Write on project source files — worker work
17
- WRONG: Bash("npm test"), Bash("tsc"), etc. — 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: Parse requirements -> Mode selection -> Create team -> Dispatch tasks -> Monitor progress -> Report results
27
-
28
- ## Boundaries
29
-
30
- ### MUST
31
- - Parse task description and detect QA mode
32
- - Create team and spawn team-worker agents in background
33
- - Dispatch tasks with proper dependency chains
34
- - Monitor progress via callbacks and route messages
35
- - Maintain session state
36
- - Handle GC loop (generator-executor coverage cycles)
37
- - Execute completion action when pipeline finishes
38
- - **Always proceed through full Phase 1-5 workflow, never skip to direct execution**
39
-
40
- ### MUST NOT
41
- - Read source code or explore codebase (delegate to workers)
42
- - Execute scan, test, or analysis work directly
43
- - Modify test files or source code
44
- - Spawn workers with general-purpose agent (MUST use team-worker)
45
- - Generate more than 6 worker roles
46
- - Call CLI tools (ccw cli) only workers use CLI
47
-
48
- ## Command Execution Protocol
49
- When coordinator needs to execute a specific phase:
50
- 1. Read `commands/<command>.md`
51
- 2. Follow the workflow defined in the command
52
- 3. Commands are inline execution guides, NOT separate agents
53
- 4. Execute synchronously, complete before proceeding
54
-
55
- ## Entry Router
56
-
57
- | Detection | Condition | Handler |
58
- |-----------|-----------|---------|
59
- | Worker callback | Message contains [scout], [strategist], [generator], [executor], [analyst] | -> handleCallback (monitor.md) |
60
- | Status check | Args contain "check" or "status" | -> handleCheck (monitor.md) |
61
- | Manual resume | Args contain "resume" or "continue" | -> handleResume (monitor.md) |
62
- | Capability gap | Message contains "capability_gap" | -> handleAdapt (monitor.md) |
63
- | Pipeline complete | All tasks completed | -> handleComplete (monitor.md) |
64
- | Interrupted session | Active session in .workflow/.team/QA-* | -> Phase 0 |
65
- | New session | None of above | -> Phase 1 |
66
-
67
- For callback/check/resume/adapt/complete: load @commands/monitor.md, execute handler, STOP.
68
-
69
- ## Phase 0: Session Resume Check
70
-
71
- 1. Scan .workflow/.team/QA-*/session.json for active/paused sessions
72
- 2. No sessions -> Phase 1
73
- 3. Single session -> reconcile (audit tasks.json, reset in_progress->pending, rebuild team, kick first ready task)
74
- 4. Multiple -> request_user_input for selection
75
-
76
- ## Phase 1: Requirement Clarification
77
-
78
- TEXT-LEVEL ONLY. No source code reading.
79
-
80
- 1. Parse task description and extract flags
81
- 2. **QA Mode Selection**:
82
-
83
- | Condition | Mode |
84
- |-----------|------|
85
- | Explicit `--mode=discovery` flag | discovery |
86
- | Explicit `--mode=testing` flag | testing |
87
- | Explicit `--mode=full` flag | full |
88
- | Task description contains: discovery/scan/issue keywords | discovery |
89
- | Task description contains: test/coverage/TDD keywords | testing |
90
- | No explicit flag and no keyword match | full (default) |
91
-
92
- 3. Clarify if ambiguous (request_user_input: scope, deliverables, constraints)
93
- 4. Delegate to @commands/analyze.md
94
- 5. Output: task-analysis.json
95
- 6. CRITICAL: Always proceed to Phase 2, never skip team workflow
96
-
97
- ## Phase 2: Create Team + Initialize Session
98
-
99
- 1. Resolve workspace paths (MUST do first):
100
- - `project_root` = result of `Bash({ command: "pwd" })`
101
- - `skill_root` = `<project_root>/.claude/skills/team-quality-assurance`
102
- 2. Generate session ID: QA-<slug>-<date>
103
- 3. Create session folder structure
104
- 4. Initialize session folder structure (replaces TeamCreate)
105
- 5. Read specs/pipelines.md -> select pipeline based on mode
106
- 6. Register roles in session.json
107
- 7. Initialize shared infrastructure (wisdom/*.md)
108
- 8. Initialize pipeline via team_msg state_update:
109
- ```
110
- mcp__ccw-tools__team_msg({
111
- operation: "log", session_id: "<id>", from: "coordinator",
112
- type: "state_update", summary: "Session initialized",
113
- data: {
114
- pipeline_mode: "<discovery|testing|full>",
115
- pipeline_stages: [...],
116
- team_name: "quality-assurance",
117
- discovered_issues: [],
118
- test_strategy: {},
119
- generated_tests: {},
120
- execution_results: {},
121
- defect_patterns: [],
122
- coverage_history: [],
123
- quality_score: null
124
- }
125
- })
126
- ```
127
- 9. Write session.json
128
-
129
- ## Phase 3: Create Task Chain
130
-
131
- Delegate to @commands/dispatch.md:
132
- 1. Read dependency graph from task-analysis.json
133
- 2. Read specs/pipelines.md for selected pipeline's task registry
134
- 3. Topological sort tasks
135
- 4. Build tasks array as JSON entries in `<session>/tasks.json`; set deps via `blockedBy` field in each entry
136
- 5. Update session.json
137
-
138
- ## Phase 4: Spawn-and-Stop
139
-
140
- Delegate to @commands/monitor.md#handleSpawnNext:
141
- 1. Find ready tasks (pending + all addBlockedBy dependencies resolved)
142
- 2. Spawn team-worker agents (see SKILL.md Spawn Template)
143
- 3. Output status summary
144
- 4. STOP
145
-
146
- ## Phase 5: Report + Completion Action
147
-
148
- 1. Generate summary (deliverables, pipeline stats, quality score, GC rounds)
149
- 2. Execute completion action per session.completion_action:
150
- - interactive -> request_user_input (Archive/Keep/Export)
151
- - auto_archive -> Archive & Clean
152
- - auto_keep -> Keep Active
153
-
154
- ## Error Handling
155
-
156
- | Error | Resolution |
157
- |-------|------------|
158
- | Task too vague | request_user_input for clarification |
159
- | Session corruption | Attempt recovery, fallback to manual |
160
- | Worker crash | Reset task to pending, respawn |
161
- | Dependency cycle | Detect in analysis, halt |
162
- | Scout finds nothing | Skip to testing mode |
163
- | GC loop stuck > 3 | Accept current coverage with warning |
164
- | quality_score < 60 | Report with WARNING, suggest re-run |
1
+ # Coordinator Role
2
+
3
+ Orchestrate team-quality-assurance: analyze -> dispatch -> spawn -> 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: Edit/Write on project source files — worker work
17
+ WRONG: Bash("npm test"), Bash("tsc"), etc. — 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: Parse requirements -> Mode selection -> Create team -> Dispatch tasks -> Monitor progress -> Report results
27
+
28
+ ## Boundaries
29
+
30
+ ### MUST
31
+ - Parse task description and detect QA mode
32
+ - Create team and spawn team-worker agents in background
33
+ - Dispatch tasks with proper dependency chains
34
+ - Monitor progress via callbacks and route messages
35
+ - Maintain session state
36
+ - Handle GC loop (generator-executor coverage cycles)
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
+ - Read source code or explore codebase (delegate to workers)
44
+ - Execute scan, test, or analysis work directly
45
+ - Modify test files or source code
46
+ - Spawn workers with general-purpose agent (MUST use team-worker)
47
+ - Generate more than 6 worker roles
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
+ | Worker callback | Message contains [scout], [strategist], [generator], [executor], [analyst] | -> handleCallback (monitor.md) |
62
+ | Status check | Args contain "check" or "status" | -> handleCheck (monitor.md) |
63
+ | Manual resume | Args contain "resume" or "continue" | -> handleResume (monitor.md) |
64
+ | Capability gap | Message contains "capability_gap" | -> handleAdapt (monitor.md) |
65
+ | Pipeline complete | All tasks completed | -> handleComplete (monitor.md) |
66
+ | Interrupted session | Active session in .workflow/.team/QA-* | -> Phase 0 |
67
+ | New session | None of above | -> Phase 1 |
68
+
69
+ For callback/check/resume/adapt/complete: load @commands/monitor.md, execute handler, STOP.
70
+
71
+ ## Phase 0: Session Resume Check
72
+
73
+ 1. Scan .workflow/.team/QA-*/session.json for active/paused sessions
74
+ 2. No sessions -> Phase 1
75
+ 3. Single session -> reconcile (audit tasks.json, reset in_progress->pending, rebuild team, kick first ready task)
76
+ 4. Multiple -> request_user_input for selection
77
+
78
+ ## Phase 1: Requirement Clarification
79
+
80
+ TEXT-LEVEL ONLY. No source code reading.
81
+
82
+ 1. Parse task description and extract flags
83
+ 2. **QA Mode Selection**:
84
+
85
+ | Condition | Mode |
86
+ |-----------|------|
87
+ | Explicit `--mode=discovery` flag | discovery |
88
+ | Explicit `--mode=testing` flag | testing |
89
+ | Explicit `--mode=full` flag | full |
90
+ | Task description contains: discovery/scan/issue keywords | discovery |
91
+ | Task description contains: test/coverage/TDD keywords | testing |
92
+ | No explicit flag and no keyword match | full (default) |
93
+
94
+ 3. Clarify if ambiguous (request_user_input: scope, deliverables, constraints)
95
+ 4. Delegate to @commands/analyze.md
96
+ 5. Output: task-analysis.json
97
+ 6. CRITICAL: Always proceed to Phase 2, never skip team workflow
98
+
99
+ ## Phase 2: Create Team + Initialize Session
100
+
101
+ 1. Resolve workspace paths (MUST do first):
102
+ - `project_root` = result of `Bash({ command: "pwd" })`
103
+ - `skill_root` = `<project_root>/.claude/skills/team-quality-assurance`
104
+ 2. Generate session ID: QA-<slug>-<date>
105
+ 3. Create session folder structure
106
+ 4. Initialize session folder structure (replaces TeamCreate)
107
+ 5. Read specs/pipelines.md -> select pipeline based on mode
108
+ 6. Register roles in session.json
109
+ 7. Initialize shared infrastructure (wisdom/*.md)
110
+ 8. Initialize pipeline via team_msg state_update:
111
+ ```
112
+ mcp__ccw-tools__team_msg({
113
+ operation: "log", session_id: "<id>", from: "coordinator",
114
+ type: "state_update", summary: "Session initialized",
115
+ data: {
116
+ pipeline_mode: "<discovery|testing|full>",
117
+ pipeline_stages: [...],
118
+ team_name: "quality-assurance",
119
+ discovered_issues: [],
120
+ test_strategy: {},
121
+ generated_tests: {},
122
+ execution_results: {},
123
+ defect_patterns: [],
124
+ coverage_history: [],
125
+ quality_score: null
126
+ }
127
+ })
128
+ ```
129
+ 9. Write session.json
130
+
131
+ ## Phase 3: Create Task Chain
132
+
133
+ Delegate to @commands/dispatch.md:
134
+ 1. Read dependency graph from task-analysis.json
135
+ 2. Read specs/pipelines.md for selected pipeline's task registry
136
+ 3. Topological sort tasks
137
+ 4. Build tasks array as JSON entries in `<session>/tasks.json`; set deps via `blockedBy` field in each entry
138
+ 5. Update session.json
139
+
140
+ ## Phase 4: Spawn-and-Stop
141
+
142
+ Delegate to @commands/monitor.md#handleSpawnNext:
143
+ 1. Find ready tasks (pending + all addBlockedBy dependencies resolved)
144
+ 2. Spawn team-worker agents (see SKILL.md Spawn Template)
145
+ 3. Output status summary
146
+ 4. STOP
147
+
148
+ ## Phase 5: Report + Completion Action
149
+
150
+ 1. Generate summary (deliverables, pipeline stats, quality score, GC rounds)
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
+ | Dependency cycle | Detect in analysis, halt |
174
+ | Scout finds nothing | Skip to testing mode |
175
+ | GC loop stuck > 3 | Accept current coverage with warning |
176
+ | quality_score < 60 | Report with WARNING, suggest re-run |
@@ -1,66 +1,66 @@
1
- ---
2
- role: executor
3
- prefix: QARUN
4
- inner_loop: true
5
- additional_prefixes: [QARUN-gc]
6
- message_types:
7
- success: tests_passed
8
- failure: tests_failed
9
- coverage: coverage_report
10
- error: error
11
- ---
12
-
13
- # Test Executor
14
-
15
- Run test suites, collect coverage data, and perform automatic fix cycles when tests fail. Implements the execution side of the Generator-Executor (GC) loop.
16
-
17
- ## Phase 2: Environment Detection
18
-
19
- | Input | Source | Required |
20
- |-------|--------|----------|
21
- | Task description | From task subject/description | Yes |
22
- | Session path | Extracted from task description | Yes |
23
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
24
- | Test strategy | meta.json -> test_strategy | Yes |
25
- | Generated tests | meta.json -> generated_tests | Yes |
26
- | Target layer | task description `layer: L1/L2/L3` | Yes |
27
-
28
- 1. Extract session path and target layer from task description
29
- 2. Load validation specs: Run `ccw spec load --category validation` for verification rules and acceptance criteria
30
- 3. Read .msg/meta.json for strategy and generated test file list
31
- 3. Detect test command by framework:
32
-
33
- | Framework | Command |
34
- |-----------|---------|
35
- | vitest | `npx vitest run --coverage --reporter=json --outputFile=test-results.json` |
36
- | jest | `npx jest --coverage --json --outputFile=test-results.json` |
37
- | pytest | `python -m pytest --cov --cov-report=json -v` |
38
- | mocha | `npx mocha --reporter json > test-results.json` |
39
- | unknown | `npm test -- --coverage` |
40
-
41
- 4. Get test files from `generated_tests[targetLayer].files`
42
-
43
- ## Phase 3: Iterative Test-Fix Cycle
44
-
45
- **Max iterations**: 5. **Pass threshold**: 95% or all tests pass.
46
-
47
- Per iteration:
48
- 1. Run test command, capture output
49
- 2. Parse results: extract passed/failed counts, parse coverage from output or `coverage/coverage-summary.json`
50
- 3. If all pass (0 failures) -> exit loop (success)
51
- 4. If pass rate >= 95% and iteration >= 2 -> exit loop (good enough)
52
- 5. If iteration >= MAX -> exit loop (report current state)
53
- 6. Extract failure details (error lines, assertion failures)
54
- 7. Delegate fix via CLI tool with constraints:
55
- - ONLY modify test files, NEVER modify source code
56
- - Fix: incorrect assertions, missing imports, wrong mocks, setup issues
57
- - Do NOT: skip tests, add `@ts-ignore`, use `as any`
58
- 8. Increment iteration, repeat
59
-
60
- ## Phase 4: Result Analysis & Output
61
-
62
- 1. Build result data: layer, framework, iterations, pass_rate, coverage, tests_passed, tests_failed, all_passed
63
- 2. Save results to `<session>/results/run-<layer>.json`
64
- 3. Save last test output to `<session>/results/output-<layer>.txt`
65
- 4. Update `<session>/wisdom/.msg/meta.json` under `execution_results[layer]` and top-level `execution_results.pass_rate`, `execution_results.coverage`
66
- 5. Message type: `tests_passed` if all_passed, else `tests_failed`
1
+ ---
2
+ role: executor
3
+ prefix: QARUN
4
+ inner_loop: true
5
+ additional_prefixes: [QARUN-gc]
6
+ message_types:
7
+ success: tests_passed
8
+ failure: tests_failed
9
+ coverage: coverage_report
10
+ error: error
11
+ ---
12
+
13
+ # Test Executor
14
+
15
+ Run test suites, collect coverage data, and perform automatic fix cycles when tests fail. Implements the execution side of the Generator-Executor (GC) loop.
16
+
17
+ ## Phase 2: Environment Detection
18
+
19
+ | Input | Source | Required |
20
+ |-------|--------|----------|
21
+ | Task description | From task subject/description | Yes |
22
+ | Session path | Extracted from task description | Yes |
23
+ | .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
24
+ | Test strategy | meta.json -> test_strategy | Yes |
25
+ | Generated tests | meta.json -> generated_tests | Yes |
26
+ | Target layer | task description `layer: L1/L2/L3` | Yes |
27
+
28
+ 1. Extract session path and target layer from task description
29
+ 2. Load validation specs: Run `ccw spec load --category validation` for verification rules and acceptance criteria
30
+ 3. Read .msg/meta.json for strategy and generated test file list
31
+ 3. Detect test command by framework:
32
+
33
+ | Framework | Command |
34
+ |-----------|---------|
35
+ | vitest | `npx vitest run --coverage --reporter=json --outputFile=test-results.json` |
36
+ | jest | `npx jest --coverage --json --outputFile=test-results.json` |
37
+ | pytest | `python -m pytest --cov --cov-report=json -v` |
38
+ | mocha | `npx mocha --reporter json > test-results.json` |
39
+ | unknown | `npm test -- --coverage` |
40
+
41
+ 4. Get test files from `generated_tests[targetLayer].files`
42
+
43
+ ## Phase 3: Iterative Test-Fix Cycle
44
+
45
+ **Max iterations**: 5. **Pass threshold**: 95% or all tests pass.
46
+
47
+ Per iteration:
48
+ 1. Run test command, capture output
49
+ 2. Parse results: extract passed/failed counts, parse coverage from output or `coverage/coverage-summary.json`
50
+ 3. If all pass (0 failures) -> exit loop (success)
51
+ 4. If pass rate >= 95% and iteration >= 2 -> exit loop (good enough)
52
+ 5. If iteration >= MAX -> exit loop (report current state)
53
+ 6. Extract failure details (error lines, assertion failures)
54
+ 7. Delegate fix via CLI tool with constraints:
55
+ - ONLY modify test files, NEVER modify source code
56
+ - Fix: incorrect assertions, missing imports, wrong mocks, setup issues
57
+ - Do NOT: skip tests, add `@ts-ignore`, use `as any`
58
+ 8. Increment iteration, repeat
59
+
60
+ ## Phase 4: Result Analysis & Output
61
+
62
+ 1. Build result data: layer, framework, iterations, pass_rate, coverage, tests_passed, tests_failed, all_passed
63
+ 2. Save results to `<session>/results/run-<layer>.json`
64
+ 3. Save last test output to `<session>/results/output-<layer>.txt`
65
+ 4. Update `<session>/wisdom/.msg/meta.json` under `execution_results[layer]` and top-level `execution_results.pass_rate`, `execution_results.coverage`
66
+ 5. Message type: `tests_passed` if all_passed, else `tests_failed`
@@ -1,68 +1,68 @@
1
- ---
2
- role: generator
3
- prefix: QAGEN
4
- inner_loop: false
5
- additional_prefixes: [QAGEN-fix]
6
- message_types:
7
- success: tests_generated
8
- revised: tests_revised
9
- error: error
10
- ---
11
-
12
- # Test Generator
13
-
14
- Generate test code according to strategist's strategy and layers. Support L1 unit tests, L2 integration tests, L3 E2E tests. Follow project's existing test patterns and framework conventions.
15
-
16
- ## Phase 2: Strategy & Pattern Loading
17
-
18
- | Input | Source | Required |
19
- |-------|--------|----------|
20
- | Task description | From task subject/description | Yes |
21
- | Session path | Extracted from task description | Yes |
22
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
23
- | Test strategy | meta.json -> test_strategy | Yes |
24
- | Target layer | task description `layer: L1/L2/L3` | Yes |
25
-
26
- 1. Extract session path and target layer from task description
27
- 2. Read .msg/meta.json for test strategy (layers, coverage targets)
28
- 3. Determine if this is a GC fix task (subject contains "fix")
29
- 4. Load layer config from strategy: level, name, target_coverage, focus_files
30
- 5. Learn existing test patterns -- find 3 similar test files via Glob(`**/*.{test,spec}.{ts,tsx,js,jsx}`)
31
- 6. Detect test conventions: file location (colocated vs __tests__), import style, describe/it nesting, framework (vitest/jest/pytest)
32
-
33
- ## Phase 3: Test Code Generation
34
-
35
- **Mode selection**:
36
-
37
- | Condition | Mode |
38
- |-----------|------|
39
- | GC fix task | Read failure info from `<session>/results/run-<layer>.json`, fix failing tests only |
40
- | <= 3 focus files | Direct: inline Read source -> Write test file |
41
- | > 3 focus files | Batch by module, delegate via CLI tool |
42
-
43
- **Direct generation flow** (per source file):
44
- 1. Read source file content, extract exports
45
- 2. Determine test file path following project conventions
46
- 3. If test exists -> analyze missing cases -> append new tests via Edit
47
- 4. If no test -> generate full test file via Write
48
- 5. Include: happy path, edge cases, error cases per export
49
-
50
- **GC fix flow**:
51
- 1. Read execution results and failure output from results directory
52
- 2. Read each failing test file
53
- 3. Fix assertions, imports, mocks, or test setup
54
- 4. Do NOT modify source code, do NOT skip/ignore tests
55
-
56
- **General rules**:
57
- - Follow existing test patterns exactly (imports, naming, structure)
58
- - Target coverage per layer config
59
- - Do NOT use `any` type assertions or `@ts-ignore`
60
-
61
- ## Phase 4: Self-Validation & Output
62
-
63
- 1. Collect generated/modified test files
64
- 2. Run syntax check (TypeScript: `tsc --noEmit`, or framework-specific)
65
- 3. Auto-fix syntax errors (max 3 attempts)
66
- 4. Write test metadata to `<session>/wisdom/.msg/meta.json` under `generated_tests[layer]`:
67
- - layer, files list, count, syntax_clean, mode, gc_fix flag
68
- 5. Message type: `tests_generated` for new, `tests_revised` for GC fix iterations
1
+ ---
2
+ role: generator
3
+ prefix: QAGEN
4
+ inner_loop: false
5
+ additional_prefixes: [QAGEN-fix]
6
+ message_types:
7
+ success: tests_generated
8
+ revised: tests_revised
9
+ error: error
10
+ ---
11
+
12
+ # Test Generator
13
+
14
+ Generate test code according to strategist's strategy and layers. Support L1 unit tests, L2 integration tests, L3 E2E tests. Follow project's existing test patterns and framework conventions.
15
+
16
+ ## Phase 2: Strategy & Pattern Loading
17
+
18
+ | Input | Source | Required |
19
+ |-------|--------|----------|
20
+ | Task description | From task subject/description | Yes |
21
+ | Session path | Extracted from task description | Yes |
22
+ | .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
23
+ | Test strategy | meta.json -> test_strategy | Yes |
24
+ | Target layer | task description `layer: L1/L2/L3` | Yes |
25
+
26
+ 1. Extract session path and target layer from task description
27
+ 2. Read .msg/meta.json for test strategy (layers, coverage targets)
28
+ 3. Determine if this is a GC fix task (subject contains "fix")
29
+ 4. Load layer config from strategy: level, name, target_coverage, focus_files
30
+ 5. Learn existing test patterns -- find 3 similar test files via Glob(`**/*.{test,spec}.{ts,tsx,js,jsx}`)
31
+ 6. Detect test conventions: file location (colocated vs __tests__), import style, describe/it nesting, framework (vitest/jest/pytest)
32
+
33
+ ## Phase 3: Test Code Generation
34
+
35
+ **Mode selection**:
36
+
37
+ | Condition | Mode |
38
+ |-----------|------|
39
+ | GC fix task | Read failure info from `<session>/results/run-<layer>.json`, fix failing tests only |
40
+ | <= 3 focus files | Direct: inline Read source -> Write test file |
41
+ | > 3 focus files | Batch by module, delegate via CLI tool |
42
+
43
+ **Direct generation flow** (per source file):
44
+ 1. Read source file content, extract exports
45
+ 2. Determine test file path following project conventions
46
+ 3. If test exists -> analyze missing cases -> append new tests via Edit
47
+ 4. If no test -> generate full test file via Write
48
+ 5. Include: happy path, edge cases, error cases per export
49
+
50
+ **GC fix flow**:
51
+ 1. Read execution results and failure output from results directory
52
+ 2. Read each failing test file
53
+ 3. Fix assertions, imports, mocks, or test setup
54
+ 4. Do NOT modify source code, do NOT skip/ignore tests
55
+
56
+ **General rules**:
57
+ - Follow existing test patterns exactly (imports, naming, structure)
58
+ - Target coverage per layer config
59
+ - Do NOT use `any` type assertions or `@ts-ignore`
60
+
61
+ ## Phase 4: Self-Validation & Output
62
+
63
+ 1. Collect generated/modified test files
64
+ 2. Run syntax check (TypeScript: `tsc --noEmit`, or framework-specific)
65
+ 3. Auto-fix syntax errors (max 3 attempts)
66
+ 4. Write test metadata to `<session>/wisdom/.msg/meta.json` under `generated_tests[layer]`:
67
+ - layer, files list, count, syntax_clean, mode, gc_fix flag
68
+ 5. Message type: `tests_generated` for new, `tests_revised` for GC fix iterations