claude-code-workflow 7.2.29 → 7.3.0

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 (169) hide show
  1. package/.ccw/workflows/cli-templates/schemas/plan-overview-base-schema.json +2 -2
  2. package/.ccw/workflows/cli-templates/schemas/task-schema.json +14 -7
  3. package/.claude/agents/action-planning-agent.md +7 -4
  4. package/.claude/agents/cli-explore-agent.md +77 -63
  5. package/.claude/agents/cli-lite-planning-agent.md +11 -10
  6. package/.claude/agents/issue-plan-agent.md +421 -426
  7. package/.claude/commands/workflow/spec/setup.md +1 -1
  8. package/.claude/commands/workflow-skill.md +130 -0
  9. package/.claude/skills/ccw-chain/SKILL.md +92 -0
  10. package/.claude/skills/ccw-chain/chains/ccw-cycle.json +31 -0
  11. package/.claude/skills/ccw-chain/chains/ccw-exploration.json +58 -0
  12. package/.claude/skills/ccw-chain/chains/ccw-issue.json +44 -0
  13. package/.claude/skills/ccw-chain/chains/ccw-lightweight.json +71 -0
  14. package/.claude/skills/ccw-chain/chains/ccw-main.json +65 -0
  15. package/.claude/skills/ccw-chain/chains/ccw-standard.json +51 -0
  16. package/.claude/skills/ccw-chain/chains/ccw-team.json +15 -0
  17. package/.claude/skills/ccw-chain/chains/ccw-with-file.json +47 -0
  18. package/.claude/skills/ccw-chain/specs/auto-mode.md +47 -0
  19. package/.claude/skills/chain-loader/SKILL.md +78 -0
  20. package/.claude/skills/chain-loader/phases/01-analyze-skill.md +53 -0
  21. package/.claude/skills/chain-loader/phases/02-design-graph.md +73 -0
  22. package/.claude/skills/chain-loader/phases/03-generate-validate.md +75 -0
  23. package/.claude/skills/chain-loader/specs/chain-schema.md +126 -0
  24. package/.claude/skills/chain-loader/specs/design-patterns.md +99 -0
  25. package/.claude/skills/chain-loader/templates/chain-json.md +63 -0
  26. package/.claude/skills/review-cycle/phases/review-module.md +764 -764
  27. package/.claude/skills/review-cycle/phases/review-session.md +775 -775
  28. package/.claude/skills/workflow-multi-cli-plan/SKILL.md +2 -2
  29. package/.claude/skills/workflow-plan/SKILL.md +1 -0
  30. package/.claude/skills/workflow-plan/phases/01-session-discovery.md +19 -2
  31. package/.claude/skills/workflow-plan/phases/02-context-gathering.md +2 -2
  32. package/.claude/skills/workflow-plan/phases/03-conflict-resolution.md +422 -422
  33. package/.claude/skills/workflow-plan/phases/04-task-generation.md +9 -1
  34. package/.claude/skills/workflow-plan/phases/05-plan-verify.md +395 -395
  35. package/.claude/skills/workflow-tdd-plan/phases/02-context-gathering.md +407 -407
  36. package/.claude/skills/workflow-tdd-plan/phases/04-conflict-resolution.md +426 -426
  37. package/.claude/skills/workflow-test-fix/phases/02-test-context-gather.md +493 -493
  38. package/.codex/skills/analyze-with-file/SKILL.md +383 -134
  39. package/.codex/skills/brainstorm/SKILL.md +3 -3
  40. package/.codex/skills/brainstorm-with-file/SKILL.md +208 -88
  41. package/.codex/skills/clean/SKILL.md +1 -1
  42. package/.codex/skills/csv-wave-pipeline/SKILL.md +2 -2
  43. package/.codex/skills/investigate/orchestrator.md +24 -0
  44. package/.codex/skills/issue-discover/SKILL.md +374 -361
  45. package/.codex/skills/issue-discover/phases/01-issue-new.md +1 -1
  46. package/.codex/skills/issue-discover/phases/02-discover.md +2 -2
  47. package/.codex/skills/issue-discover/phases/03-discover-by-prompt.md +1 -1
  48. package/.codex/skills/issue-discover/phases/04-quick-execute.md +2 -2
  49. package/.codex/skills/parallel-dev-cycle/SKILL.md +44 -37
  50. package/.codex/skills/project-documentation-workflow/SKILL.md +1 -1
  51. package/.codex/skills/review-cycle/SKILL.md +31 -12
  52. package/.codex/skills/roadmap-with-file/SKILL.md +141 -133
  53. package/.codex/skills/security-audit/orchestrator.md +29 -0
  54. package/.codex/skills/session-sync/SKILL.md +1 -1
  55. package/.codex/skills/ship/orchestrator.md +24 -0
  56. package/.codex/skills/spec-add/SKILL.md +5 -5
  57. package/.codex/skills/spec-generator/SKILL.md +33 -2
  58. package/.codex/skills/spec-generator/phases/01-5-requirement-clarification.md +3 -3
  59. package/.codex/skills/spec-generator/phases/01-discovery.md +1 -1
  60. package/.codex/skills/spec-generator/phases/02-product-brief.md +1 -1
  61. package/.codex/skills/spec-generator/phases/03-requirements.md +1 -1
  62. package/.codex/skills/spec-generator/phases/04-architecture.md +1 -1
  63. package/.codex/skills/spec-generator/phases/05-epics-stories.md +1 -1
  64. package/.codex/skills/spec-generator/phases/06-readiness-check.md +1 -1
  65. package/.codex/skills/spec-generator/phases/07-issue-export.md +1 -1
  66. package/.codex/skills/spec-setup/SKILL.md +669 -669
  67. package/.codex/skills/team-arch-opt/specs/team-config.json +1 -1
  68. package/.codex/skills/team-brainstorm/SKILL.md +259 -259
  69. package/.codex/skills/team-coordinate/SKILL.md +359 -359
  70. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +1 -1
  71. package/.codex/skills/team-designer/SKILL.md +27 -1
  72. package/.codex/skills/team-designer/phases/01-requirements-analysis.md +2 -2
  73. package/.codex/skills/team-designer/phases/02-scaffold-generation.md +1 -1
  74. package/.codex/skills/team-designer/phases/04-validation.md +1 -1
  75. package/.codex/skills/team-executor/SKILL.md +218 -218
  76. package/.codex/skills/team-frontend/SKILL.md +227 -227
  77. package/.codex/skills/team-frontend-debug/SKILL.md +278 -278
  78. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +2 -2
  79. package/.codex/skills/team-interactive-craft/SKILL.md +220 -220
  80. package/.codex/skills/team-interactive-craft/roles/coordinator/role.md +209 -209
  81. package/.codex/skills/team-issue/SKILL.md +269 -269
  82. package/.codex/skills/team-issue/roles/coordinator/role.md +1 -1
  83. package/.codex/skills/team-lifecycle-v4/SKILL.md +305 -305
  84. package/.codex/skills/team-motion-design/SKILL.md +222 -222
  85. package/.codex/skills/team-motion-design/roles/coordinator/role.md +210 -210
  86. package/.codex/skills/team-perf-opt/SKILL.md +258 -258
  87. package/.codex/skills/team-perf-opt/specs/team-config.json +1 -1
  88. package/.codex/skills/team-planex/SKILL.md +216 -216
  89. package/.codex/skills/team-quality-assurance/SKILL.md +229 -229
  90. package/.codex/skills/team-review/SKILL.md +227 -227
  91. package/.codex/skills/team-roadmap-dev/SKILL.md +238 -238
  92. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/roadmap-discuss.md +5 -5
  93. package/.codex/skills/team-tech-debt/SKILL.md +206 -206
  94. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +1 -1
  95. package/.codex/skills/team-testing/SKILL.md +237 -237
  96. package/.codex/skills/team-ui-polish/SKILL.md +218 -218
  97. package/.codex/skills/team-ui-polish/roles/coordinator/role.md +213 -213
  98. package/.codex/skills/team-uidesign/SKILL.md +219 -219
  99. package/.codex/skills/team-uidesign/roles/coordinator/role.md +2 -2
  100. package/.codex/skills/team-ultra-analyze/SKILL.md +260 -260
  101. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +1 -1
  102. package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +1 -1
  103. package/.codex/skills/team-ux-improve/SKILL.md +227 -227
  104. package/.codex/skills/team-ux-improve/roles/coordinator/role.md +1 -1
  105. package/.codex/skills/team-ux-improve/specs/team-config.json +1 -1
  106. package/.codex/skills/team-visual-a11y/SKILL.md +319 -319
  107. package/.codex/skills/team-visual-a11y/roles/coordinator/role.md +213 -213
  108. package/.codex/skills/workflow-execute/SKILL.md +5 -5
  109. package/.codex/skills/workflow-lite-planex/SKILL.md +3 -3
  110. package/.codex/skills/workflow-plan/SKILL.md +3 -3
  111. package/.codex/skills/workflow-tdd-plan/SKILL.md +4 -4
  112. package/.codex/skills/workflow-test-fix-cycle/SKILL.md +403 -402
  113. package/README.md +14 -0
  114. package/ccw/dist/cli.d.ts.map +1 -1
  115. package/ccw/dist/cli.js +16 -0
  116. package/ccw/dist/cli.js.map +1 -1
  117. package/ccw/dist/commands/chain-loader.d.ts +2 -0
  118. package/ccw/dist/commands/chain-loader.d.ts.map +1 -0
  119. package/ccw/dist/commands/chain-loader.js +11 -0
  120. package/ccw/dist/commands/chain-loader.js.map +1 -0
  121. package/ccw/dist/commands/install.d.ts.map +1 -1
  122. package/ccw/dist/commands/install.js +52 -1
  123. package/ccw/dist/commands/install.js.map +1 -1
  124. package/ccw/dist/commands/launcher.d.ts +2 -0
  125. package/ccw/dist/commands/launcher.d.ts.map +1 -0
  126. package/ccw/dist/commands/launcher.js +434 -0
  127. package/ccw/dist/commands/launcher.js.map +1 -0
  128. package/ccw/dist/core/routes/litellm-api-routes.d.ts.map +1 -1
  129. package/ccw/dist/core/routes/litellm-api-routes.js +0 -23
  130. package/ccw/dist/core/routes/litellm-api-routes.js.map +1 -1
  131. package/ccw/dist/tools/chain-loader.d.ts +10 -0
  132. package/ccw/dist/tools/chain-loader.d.ts.map +1 -0
  133. package/ccw/dist/tools/chain-loader.js +1054 -0
  134. package/ccw/dist/tools/chain-loader.js.map +1 -0
  135. package/ccw/dist/tools/index.d.ts.map +1 -1
  136. package/ccw/dist/tools/index.js +2 -0
  137. package/ccw/dist/tools/index.js.map +1 -1
  138. package/ccw/dist/tools/json-builder.js +20 -0
  139. package/ccw/dist/tools/json-builder.js.map +1 -1
  140. package/ccw/dist/tools/skill-context-loader.d.ts.map +1 -1
  141. package/ccw/dist/tools/skill-context-loader.js +12 -26
  142. package/ccw/dist/tools/skill-context-loader.js.map +1 -1
  143. package/ccw/dist/types/chain-types.d.ts +112 -0
  144. package/ccw/dist/types/chain-types.d.ts.map +1 -0
  145. package/ccw/dist/types/chain-types.js +5 -0
  146. package/ccw/dist/types/chain-types.js.map +1 -0
  147. package/ccw/dist/utils/chain-visualizer.d.ts +13 -0
  148. package/ccw/dist/utils/chain-visualizer.d.ts.map +1 -0
  149. package/ccw/dist/utils/chain-visualizer.js +164 -0
  150. package/ccw/dist/utils/chain-visualizer.js.map +1 -0
  151. package/ccw/scripts/prepublish-clean.mjs +0 -1
  152. package/package.json +1 -3
  153. package/.claude/commands/cli/cli-init.md +0 -441
  154. package/.claude/commands/cli/codex-review.md +0 -361
  155. package/.claude/commands/flow-create.md +0 -663
  156. package/.claude/skills/team-edict.zip +0 -0
  157. package/ccw-litellm/README.md +0 -180
  158. package/ccw-litellm/pyproject.toml +0 -35
  159. package/ccw-litellm/src/ccw_litellm/__init__.py +0 -47
  160. package/ccw-litellm/src/ccw_litellm/cli.py +0 -108
  161. package/ccw-litellm/src/ccw_litellm/clients/__init__.py +0 -12
  162. package/ccw-litellm/src/ccw_litellm/clients/litellm_embedder.py +0 -270
  163. package/ccw-litellm/src/ccw_litellm/clients/litellm_llm.py +0 -198
  164. package/ccw-litellm/src/ccw_litellm/config/__init__.py +0 -22
  165. package/ccw-litellm/src/ccw_litellm/config/loader.py +0 -343
  166. package/ccw-litellm/src/ccw_litellm/config/models.py +0 -162
  167. package/ccw-litellm/src/ccw_litellm/interfaces/__init__.py +0 -14
  168. package/ccw-litellm/src/ccw_litellm/interfaces/embedder.py +0 -52
  169. package/ccw-litellm/src/ccw_litellm/interfaces/llm.py +0 -45
@@ -1,219 +1,219 @@
1
- ---
2
- name: team-uidesign
3
- description: Unified team skill for UI design team. Research -> design tokens -> audit -> implementation. Uses team-worker agent architecture with roles/ for domain logic. Coordinator orchestrates dual-track pipeline with GC loops and sync points. Triggers on "team ui design", "ui design team".
4
- allowed-tools: spawn_agent(*), wait_agent(*), send_message(*), assign_task(*), close_agent(*), list_agents(*), report_agent_job_result(*), request_user_input(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), mcp__ace-tool__search_context(*), mcp__ccw-tools__read_file(*), mcp__ccw-tools__write_file(*), mcp__ccw-tools__edit_file(*), mcp__ccw-tools__team_msg(*)
5
- ---
6
-
7
- # Team UI Design
8
-
9
- Systematic UI design pipeline: research -> design tokens -> review -> implementation. Built on **team-worker agent architecture** — all worker roles share a single agent definition with role-specific Phase 2-4 loaded from `roles/<role>/role.md`.
10
-
11
- ## Architecture
12
-
13
- ```
14
- Skill(skill="team-uidesign", args="task description")
15
- |
16
- SKILL.md (this file) = Router
17
- |
18
- +--------------+--------------+
19
- | |
20
- no --role flag --role <name>
21
- | |
22
- Coordinator Worker
23
- roles/coordinator/role.md roles/<name>/role.md
24
- |
25
- +-- analyze → dispatch → spawn workers → STOP
26
- |
27
- +-------+-------+-------+-------+
28
- v v v v
29
- [team-worker agents, each loads roles/<role>/role.md]
30
- researcher designer reviewer implementer
31
- ```
32
-
33
- ## Role Registry
34
-
35
- | Role | Path | Prefix | Inner Loop |
36
- |------|------|--------|------------|
37
- | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
38
- | researcher | [roles/researcher/role.md](roles/researcher/role.md) | RESEARCH-* | false |
39
- | designer | [roles/designer/role.md](roles/designer/role.md) | DESIGN-* | false |
40
- | reviewer | [roles/reviewer/role.md](roles/reviewer/role.md) | AUDIT-* | false |
41
- | implementer | [roles/implementer/role.md](roles/implementer/role.md) | BUILD-* | false |
42
-
43
- ## Role Router
44
-
45
- Parse `$ARGUMENTS`:
46
- - Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
47
- - No `--role` → `roles/coordinator/role.md`, execute entry router
48
-
49
- ## Delegation Lock
50
-
51
- **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
52
-
53
- Before calling ANY tool, apply this check:
54
-
55
- | Tool Call | Verdict | Reason |
56
- |-----------|---------|--------|
57
- | `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `assign_task` | ALLOWED | Orchestration |
58
- | `list_agents` | ALLOWED | Agent health check |
59
- | `request_user_input` | ALLOWED | User interaction |
60
- | `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
61
- | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
62
- | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
63
- | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
64
- | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
65
- | `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
66
- | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
67
-
68
- **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
69
-
70
- **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
71
-
72
- ---
73
-
74
- ## Shared Constants
75
-
76
- - **Session prefix**: `UDS`
77
- - **Session path**: `.workflow/.team/UDS-<slug>-<date>/`
78
- - **CLI tools**: `ccw cli --mode analysis` (read-only), `ccw cli --mode write` (modifications)
79
- - **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
80
- - **Max GC rounds**: 2
81
-
82
- ## Worker Spawn Template
83
-
84
- Coordinator spawns workers using this template:
85
-
86
- ```
87
- spawn_agent({
88
- agent_type: "team_worker",
89
- task_name: "<task-id>",
90
- fork_context: false,
91
- items: [
92
- { type: "text", text: `## Role Assignment
93
- role: <role>
94
- role_spec: <skill_root>/roles/<role>/role.md
95
- session: <session-folder>
96
- session_id: <session-id>
97
- requirement: <task-description>
98
- inner_loop: false
99
-
100
- Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.` },
101
-
102
- { type: "text", text: `## Task Context
103
- task_id: <task-id>
104
- title: <task-title>
105
- description: <task-description>
106
- pipeline_phase: <pipeline-phase>` },
107
-
108
- { type: "text", text: `## Upstream Context
109
- <prev_context>` }
110
- ]
111
- })
112
- ```
113
-
114
- After spawning, use `wait_agent({ targets: [...], timeout_ms: 900000 })` to collect results, then `close_agent({ target })` each worker.
115
-
116
-
117
- ### Model Selection Guide
118
-
119
- UI design is a creative pipeline where research findings inform design decisions. Researcher needs thorough analysis, designer needs creative reasoning.
120
-
121
- | Role | reasoning_effort | Rationale |
122
- |------|-------------------|-----------|
123
- | researcher | high | Deep analysis of existing design systems and patterns |
124
- | designer | high | Creative design token/component spec generation |
125
- | reviewer | high | Design audit must catch consistency and accessibility issues |
126
- | implementer | medium | Implementation follows defined design specs |
127
-
128
- ### Research-to-Design Context Flow
129
-
130
- Researcher findings must reach designer via coordinator's upstream context:
131
- ```
132
- // After RESEARCH-001 completes, coordinator sends findings to designer
133
- spawn_agent({
134
- agent_type: "team_worker",
135
- task_name: "DESIGN-001",
136
- fork_context: false,
137
- items: [
138
- ...,
139
- { type: "text", text: `## Upstream Context
140
- Research findings: <session>/research/design-intelligence.json
141
- Component inventory: <session>/research/component-inventory.json
142
- Accessibility audit: <session>/research/accessibility-audit.json` }
143
- ]
144
- })
145
- ```
146
-
147
- ## User Commands
148
-
149
- | Command | Action |
150
- |---------|--------|
151
- | `check` / `status` | View execution status graph |
152
- | `resume` / `continue` | Advance to next step |
153
-
154
- ## Specs Reference
155
-
156
- - [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
157
-
158
- ## Session Directory
159
-
160
- ```
161
- .workflow/.team/UDS-<slug>-<date>/
162
- ├── .msg/
163
- │ ├── messages.jsonl # Team message bus
164
- │ └── meta.json # Pipeline config + GC state
165
- ├── research/ # Researcher output
166
- │ ├── design-system-analysis.json
167
- │ ├── component-inventory.json
168
- │ ├── accessibility-audit.json
169
- │ └── design-intelligence.json
170
- ├── design/ # Designer output
171
- │ ├── design-tokens.json
172
- │ ├── component-specs/
173
- │ └── layout-specs/
174
- ├── audit/ # Reviewer output
175
- │ └── audit-*.md
176
- ├── build/ # Implementer output
177
- │ ├── token-files/
178
- │ └── component-files/
179
- └── wisdom/ # Cross-task knowledge
180
- ```
181
-
182
- ## v4 Agent Coordination
183
-
184
- ### Message Semantics
185
-
186
- | Intent | API | Example |
187
- |--------|-----|---------|
188
- | Queue supplementary info (don't interrupt) | `send_message` | Send research findings to running designer |
189
- | Assign build from reviewed specs | `assign_task` | Assign BUILD task after audit passes |
190
- | Check running agents | `list_agents` | Verify agent health during resume |
191
-
192
- ### Agent Health Check
193
-
194
- Use `list_agents({})` in handleResume and handleComplete:
195
-
196
- ```
197
- // Reconcile session state with actual running agents
198
- const running = list_agents({})
199
- // Compare with meta.json active tasks
200
- // Reset orphaned tasks (in_progress but agent gone) to pending
201
- ```
202
-
203
- ### Named Agent Targeting
204
-
205
- Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
206
- - `send_message({ target: "DESIGN-001", items: [...] })` -- send additional research findings to designer
207
- - `assign_task({ target: "BUILD-001", items: [...] })` -- assign implementation from reviewed design specs
208
- - `close_agent({ target: "AUDIT-001" })` -- cleanup after design audit
209
-
210
- ## Error Handling
211
-
212
- | Scenario | Resolution |
213
- |----------|------------|
214
- | Unknown command | Error with available command list |
215
- | Role not found | Error with role registry |
216
- | Session corruption | Attempt recovery, fallback to manual |
217
- | Fast-advance conflict | Coordinator reconciles on next callback |
218
- | Completion action fails | Default to Keep Active |
219
- | GC loop stuck > 2 rounds | Escalate to user: accept / retry / terminate |
1
+ ---
2
+ name: team-uidesign
3
+ description: Unified team skill for UI design team. Research -> design tokens -> audit -> implementation. Uses team-worker agent architecture with roles/ for domain logic. Coordinator orchestrates dual-track pipeline with GC loops and sync points. Triggers on "team ui design", "ui design team".
4
+ allowed-tools: spawn_agent(*), wait_agent(*), send_message(*), assign_task(*), close_agent(*), list_agents(*), report_agent_job_result(*), request_user_input(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), mcp__ace-tool__search_context(*), mcp__ccw-tools__read_file(*), mcp__ccw-tools__write_file(*), mcp__ccw-tools__edit_file(*), mcp__ccw-tools__team_msg(*)
5
+ ---
6
+
7
+ # Team UI Design
8
+
9
+ Systematic UI design pipeline: research -> design tokens -> review -> implementation. Built on **team-worker agent architecture** — all worker roles share a single agent definition with role-specific Phase 2-4 loaded from `roles/<role>/role.md`.
10
+
11
+ ## Architecture
12
+
13
+ ```
14
+ Skill(skill="team-uidesign", args="task description")
15
+ |
16
+ SKILL.md (this file) = Router
17
+ |
18
+ +--------------+--------------+
19
+ | |
20
+ no --role flag --role <name>
21
+ | |
22
+ Coordinator Worker
23
+ roles/coordinator/role.md roles/<name>/role.md
24
+ |
25
+ +-- analyze → dispatch → spawn workers → STOP
26
+ |
27
+ +-------+-------+-------+-------+
28
+ v v v v
29
+ [team-worker agents, each loads roles/<role>/role.md]
30
+ researcher designer reviewer implementer
31
+ ```
32
+
33
+ ## Role Registry
34
+
35
+ | Role | Path | Prefix | Inner Loop |
36
+ |------|------|--------|------------|
37
+ | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
38
+ | researcher | [roles/researcher/role.md](roles/researcher/role.md) | RESEARCH-* | false |
39
+ | designer | [roles/designer/role.md](roles/designer/role.md) | DESIGN-* | false |
40
+ | reviewer | [roles/reviewer/role.md](roles/reviewer/role.md) | AUDIT-* | false |
41
+ | implementer | [roles/implementer/role.md](roles/implementer/role.md) | BUILD-* | false |
42
+
43
+ ## Role Router
44
+
45
+ Parse `$ARGUMENTS`:
46
+ - Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
47
+ - No `--role` → `roles/coordinator/role.md`, execute entry router
48
+
49
+ ## Delegation Lock
50
+
51
+ **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
52
+
53
+ Before calling ANY tool, apply this check:
54
+
55
+ | Tool Call | Verdict | Reason |
56
+ |-----------|---------|--------|
57
+ | `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `assign_task` | ALLOWED | Orchestration |
58
+ | `list_agents` | ALLOWED | Agent health check |
59
+ | `request_user_input` | ALLOWED | User interaction |
60
+ | `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
61
+ | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
62
+ | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
63
+ | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
64
+ | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
65
+ | `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
66
+ | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
67
+
68
+ **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
69
+
70
+ **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
71
+
72
+ ---
73
+
74
+ ## Shared Constants
75
+
76
+ - **Session prefix**: `UDS`
77
+ - **Session path**: `.workflow/.team/UDS-<slug>-<date>/`
78
+ - **CLI tools**: `ccw cli --mode analysis` (read-only), `ccw cli --mode write` (modifications)
79
+ - **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
80
+ - **Max GC rounds**: 2
81
+
82
+ ## Worker Spawn Template
83
+
84
+ Coordinator spawns workers using this template:
85
+
86
+ ```
87
+ spawn_agent({
88
+ agent_type: "team_worker",
89
+ task_name: "<task-id>",
90
+ fork_context: false,
91
+ items: [
92
+ { type: "text", text: `## Role Assignment
93
+ role: <role>
94
+ role_spec: <skill_root>/roles/<role>/role.md
95
+ session: <session-folder>
96
+ session_id: <session-id>
97
+ requirement: <task-description>
98
+ inner_loop: false
99
+
100
+ Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.` },
101
+
102
+ { type: "text", text: `## Task Context
103
+ task_id: <task-id>
104
+ title: <task-title>
105
+ description: <task-description>
106
+ pipeline_phase: <pipeline-phase>` },
107
+
108
+ { type: "text", text: `## Upstream Context
109
+ <prev_context>` }
110
+ ]
111
+ })
112
+ ```
113
+
114
+ After spawning, use `wait_agent({ targets: [...], timeout_ms: 900000 })` to collect results, then `close_agent({ target })` each worker.
115
+
116
+
117
+ ### Model Selection Guide
118
+
119
+ UI design is a creative pipeline where research findings inform design decisions. Researcher needs thorough analysis, designer needs creative reasoning.
120
+
121
+ | Role | reasoning_effort | Rationale |
122
+ |------|-------------------|-----------|
123
+ | researcher | high | Deep analysis of existing design systems and patterns |
124
+ | designer | high | Creative design token/component spec generation |
125
+ | reviewer | high | Design audit must catch consistency and accessibility issues |
126
+ | implementer | medium | Implementation follows defined design specs |
127
+
128
+ ### Research-to-Design Context Flow
129
+
130
+ Researcher findings must reach designer via coordinator's upstream context:
131
+ ```
132
+ // After RESEARCH-001 completes, coordinator sends findings to designer
133
+ spawn_agent({
134
+ agent_type: "team_worker",
135
+ task_name: "DESIGN-001",
136
+ fork_context: false,
137
+ items: [
138
+ ...,
139
+ { type: "text", text: `## Upstream Context
140
+ Research findings: <session>/research/design-intelligence.json
141
+ Component inventory: <session>/research/component-inventory.json
142
+ Accessibility audit: <session>/research/accessibility-audit.json` }
143
+ ]
144
+ })
145
+ ```
146
+
147
+ ## User Commands
148
+
149
+ | Command | Action |
150
+ |---------|--------|
151
+ | `check` / `status` | View execution status graph |
152
+ | `resume` / `continue` | Advance to next step |
153
+
154
+ ## Specs Reference
155
+
156
+ - [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
157
+
158
+ ## Session Directory
159
+
160
+ ```
161
+ .workflow/.team/UDS-<slug>-<date>/
162
+ ├── .msg/
163
+ │ ├── messages.jsonl # Team message bus
164
+ │ └── meta.json # Pipeline config + GC state
165
+ ├── research/ # Researcher output
166
+ │ ├── design-system-analysis.json
167
+ │ ├── component-inventory.json
168
+ │ ├── accessibility-audit.json
169
+ │ └── design-intelligence.json
170
+ ├── design/ # Designer output
171
+ │ ├── design-tokens.json
172
+ │ ├── component-specs/
173
+ │ └── layout-specs/
174
+ ├── audit/ # Reviewer output
175
+ │ └── audit-*.md
176
+ ├── build/ # Implementer output
177
+ │ ├── token-files/
178
+ │ └── component-files/
179
+ └── wisdom/ # Cross-task knowledge
180
+ ```
181
+
182
+ ## v4 Agent Coordination
183
+
184
+ ### Message Semantics
185
+
186
+ | Intent | API | Example |
187
+ |--------|-----|---------|
188
+ | Queue supplementary info (don't interrupt) | `send_message` | Send research findings to running designer |
189
+ | Assign build from reviewed specs | `assign_task` | Assign BUILD task after audit passes |
190
+ | Check running agents | `list_agents` | Verify agent health during resume |
191
+
192
+ ### Agent Health Check
193
+
194
+ Use `list_agents({})` in handleResume and handleComplete:
195
+
196
+ ```
197
+ // Reconcile session state with actual running agents
198
+ const running = list_agents({})
199
+ // Compare with meta.json active tasks
200
+ // Reset orphaned tasks (in_progress but agent gone) to pending
201
+ ```
202
+
203
+ ### Named Agent Targeting
204
+
205
+ Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
206
+ - `send_message({ target: "DESIGN-001", items: [...] })` -- send additional research findings to designer
207
+ - `assign_task({ target: "BUILD-001", items: [...] })` -- assign implementation from reviewed design specs
208
+ - `close_agent({ target: "AUDIT-001" })` -- cleanup after design audit
209
+
210
+ ## Error Handling
211
+
212
+ | Scenario | Resolution |
213
+ |----------|------------|
214
+ | Unknown command | Error with available command list |
215
+ | Role not found | Error with role registry |
216
+ | Session corruption | Attempt recovery, fallback to manual |
217
+ | Fast-advance conflict | Coordinator reconciles on next callback |
218
+ | Completion action fails | Default to Keep Active |
219
+ | GC loop stuck > 2 rounds | Escalate to user: accept / retry / terminate |
@@ -91,7 +91,7 @@ TEXT-LEVEL ONLY. No source code reading.
91
91
 
92
92
  3. Ask for missing parameters if scope unclear:
93
93
  ```
94
- request_user_input({
94
+ functions.request_user_input({
95
95
  questions: [
96
96
  { question: "UI design scope?", header: "Scope", options: [
97
97
  { label: "Single component" },
@@ -180,7 +180,7 @@ Delegate to `@commands/monitor.md#handleSpawnNext`:
180
180
  4. Output pipeline summary with [coordinator] prefix
181
181
  5. Execute completion action:
182
182
  ```
183
- request_user_input({
183
+ functions.request_user_input({
184
184
  questions: [{ question: "Pipeline complete. What next?", header: "Completion", options: [
185
185
  { label: "Archive & Clean", description: "Archive session and clean up resources" },
186
186
  { label: "Keep Active", description: "Keep session for follow-up work" },