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,220 +1,220 @@
1
- ---
2
- name: team-interactive-craft
3
- description: Unified team skill for interactive component crafting. Vanilla JS + CSS interactive components with zero dependencies. Research -> interaction design -> build -> a11y test. Uses team-worker agent architecture with roles/ for domain logic. Coordinator orchestrates pipeline with GC loops and sync points. Triggers on "team interactive craft", "interactive component".
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 Interactive Craft
8
-
9
- Systematic interactive component pipeline: research -> interaction design -> build -> a11y test. 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-interactive-craft", 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 interaction-designer builder a11y-tester
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
- | interaction-designer | [roles/interaction-designer/role.md](roles/interaction-designer/role.md) | INTERACT-* | false |
40
- | builder | [roles/builder/role.md](roles/builder/role.md) | BUILD-* | true |
41
- | a11y-tester | [roles/a11y-tester/role.md](roles/a11y-tester/role.md) | A11Y-* | 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**: `IC`
77
- - **Session path**: `.workflow/.team/IC-<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: <true|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
- Interactive craft is a technical pipeline where research informs interaction design, which guides implementation. Builder needs creative problem-solving for vanilla JS constraints, a11y-tester needs thorough analysis.
120
-
121
- | Role | reasoning_effort | Rationale |
122
- |------|-------------------|-----------|
123
- | researcher | high | Deep analysis of existing interactive patterns and browser APIs |
124
- | interaction-designer | high | Creative state machine and event flow design |
125
- | builder | high | Complex vanilla JS implementation with GPU animation and touch handling |
126
- | a11y-tester | high | Thorough accessibility audit must catch all keyboard/screen reader issues |
127
-
128
- ### Research-to-Design Context Flow
129
-
130
- Researcher findings must reach interaction-designer via coordinator's upstream context:
131
- ```
132
- // After RESEARCH-001 completes, coordinator sends findings to interaction-designer
133
- spawn_agent({
134
- agent_type: "team_worker",
135
- task_name: "INTERACT-001",
136
- fork_context: false,
137
- items: [
138
- ...,
139
- { type: "text", text: `## Upstream Context
140
- Research findings: <session>/research/interaction-inventory.json
141
- Browser API audit: <session>/research/browser-api-audit.json
142
- Pattern reference: <session>/research/pattern-reference.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
- - [specs/interaction-patterns.md](specs/interaction-patterns.md) -- Interaction pattern catalog
158
- - [specs/vanilla-constraints.md](specs/vanilla-constraints.md) -- Zero-dependency rules
159
-
160
- ## Session Directory
161
-
162
- ```
163
- .workflow/.team/IC-<slug>-<date>/
164
- +-- .msg/
165
- | +-- messages.jsonl # Team message bus
166
- | +-- meta.json # Pipeline config + GC state
167
- +-- research/ # Researcher output
168
- | +-- interaction-inventory.json
169
- | +-- browser-api-audit.json
170
- | +-- pattern-reference.json
171
- +-- interaction/ # Interaction designer output
172
- | +-- blueprints/
173
- | +-- {component-name}.md
174
- +-- build/ # Builder output
175
- | +-- components/
176
- | +-- {name}.js
177
- | +-- {name}.css
178
- +-- a11y/ # A11y tester output
179
- | +-- a11y-audit-{NNN}.md
180
- +-- wisdom/ # Cross-task knowledge
181
- ```
182
-
183
- ## v4 Agent Coordination
184
-
185
- ### Message Semantics
186
-
187
- | Intent | API | Example |
188
- |--------|-----|---------|
189
- | Queue supplementary info (don't interrupt) | `send_message` | Send research findings to running interaction-designer |
190
- | Assign build from reviewed blueprints | `assign_task` | Assign BUILD task after blueprint review |
191
- | Check running agents | `list_agents` | Verify agent health during resume |
192
-
193
- ### Agent Health Check
194
-
195
- Use `list_agents({})` in handleResume and handleComplete:
196
-
197
- ```
198
- // Reconcile session state with actual running agents
199
- const running = list_agents({})
200
- // Compare with tasks.json active_agents
201
- // Reset orphaned tasks (in_progress but agent gone) to pending
202
- ```
203
-
204
- ### Named Agent Targeting
205
-
206
- Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
207
- - `send_message({ target: "INTERACT-001", items: [...] })` -- send research findings to interaction-designer
208
- - `assign_task({ target: "BUILD-001", items: [...] })` -- assign implementation from interaction blueprint
209
- - `close_agent({ target: "A11Y-001" })` -- cleanup after a11y audit
210
-
211
- ## Error Handling
212
-
213
- | Scenario | Resolution |
214
- |----------|------------|
215
- | Unknown command | Error with available command list |
216
- | Role not found | Error with role registry |
217
- | Session corruption | Attempt recovery, fallback to manual |
218
- | Fast-advance conflict | Coordinator reconciles on next callback |
219
- | Completion action fails | Default to Keep Active |
220
- | GC loop stuck > 2 rounds | Escalate to user: accept / retry / terminate |
1
+ ---
2
+ name: team-interactive-craft
3
+ description: Unified team skill for interactive component crafting. Vanilla JS + CSS interactive components with zero dependencies. Research -> interaction design -> build -> a11y test. Uses team-worker agent architecture with roles/ for domain logic. Coordinator orchestrates pipeline with GC loops and sync points. Triggers on "team interactive craft", "interactive component".
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 Interactive Craft
8
+
9
+ Systematic interactive component pipeline: research -> interaction design -> build -> a11y test. 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-interactive-craft", 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 interaction-designer builder a11y-tester
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
+ | interaction-designer | [roles/interaction-designer/role.md](roles/interaction-designer/role.md) | INTERACT-* | false |
40
+ | builder | [roles/builder/role.md](roles/builder/role.md) | BUILD-* | true |
41
+ | a11y-tester | [roles/a11y-tester/role.md](roles/a11y-tester/role.md) | A11Y-* | 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**: `IC`
77
+ - **Session path**: `.workflow/.team/IC-<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: <true|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
+ Interactive craft is a technical pipeline where research informs interaction design, which guides implementation. Builder needs creative problem-solving for vanilla JS constraints, a11y-tester needs thorough analysis.
120
+
121
+ | Role | reasoning_effort | Rationale |
122
+ |------|-------------------|-----------|
123
+ | researcher | high | Deep analysis of existing interactive patterns and browser APIs |
124
+ | interaction-designer | high | Creative state machine and event flow design |
125
+ | builder | high | Complex vanilla JS implementation with GPU animation and touch handling |
126
+ | a11y-tester | high | Thorough accessibility audit must catch all keyboard/screen reader issues |
127
+
128
+ ### Research-to-Design Context Flow
129
+
130
+ Researcher findings must reach interaction-designer via coordinator's upstream context:
131
+ ```
132
+ // After RESEARCH-001 completes, coordinator sends findings to interaction-designer
133
+ spawn_agent({
134
+ agent_type: "team_worker",
135
+ task_name: "INTERACT-001",
136
+ fork_context: false,
137
+ items: [
138
+ ...,
139
+ { type: "text", text: `## Upstream Context
140
+ Research findings: <session>/research/interaction-inventory.json
141
+ Browser API audit: <session>/research/browser-api-audit.json
142
+ Pattern reference: <session>/research/pattern-reference.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
+ - [specs/interaction-patterns.md](specs/interaction-patterns.md) -- Interaction pattern catalog
158
+ - [specs/vanilla-constraints.md](specs/vanilla-constraints.md) -- Zero-dependency rules
159
+
160
+ ## Session Directory
161
+
162
+ ```
163
+ .workflow/.team/IC-<slug>-<date>/
164
+ +-- .msg/
165
+ | +-- messages.jsonl # Team message bus
166
+ | +-- meta.json # Pipeline config + GC state
167
+ +-- research/ # Researcher output
168
+ | +-- interaction-inventory.json
169
+ | +-- browser-api-audit.json
170
+ | +-- pattern-reference.json
171
+ +-- interaction/ # Interaction designer output
172
+ | +-- blueprints/
173
+ | +-- {component-name}.md
174
+ +-- build/ # Builder output
175
+ | +-- components/
176
+ | +-- {name}.js
177
+ | +-- {name}.css
178
+ +-- a11y/ # A11y tester output
179
+ | +-- a11y-audit-{NNN}.md
180
+ +-- wisdom/ # Cross-task knowledge
181
+ ```
182
+
183
+ ## v4 Agent Coordination
184
+
185
+ ### Message Semantics
186
+
187
+ | Intent | API | Example |
188
+ |--------|-----|---------|
189
+ | Queue supplementary info (don't interrupt) | `send_message` | Send research findings to running interaction-designer |
190
+ | Assign build from reviewed blueprints | `assign_task` | Assign BUILD task after blueprint review |
191
+ | Check running agents | `list_agents` | Verify agent health during resume |
192
+
193
+ ### Agent Health Check
194
+
195
+ Use `list_agents({})` in handleResume and handleComplete:
196
+
197
+ ```
198
+ // Reconcile session state with actual running agents
199
+ const running = list_agents({})
200
+ // Compare with tasks.json active_agents
201
+ // Reset orphaned tasks (in_progress but agent gone) to pending
202
+ ```
203
+
204
+ ### Named Agent Targeting
205
+
206
+ Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
207
+ - `send_message({ target: "INTERACT-001", items: [...] })` -- send research findings to interaction-designer
208
+ - `assign_task({ target: "BUILD-001", items: [...] })` -- assign implementation from interaction blueprint
209
+ - `close_agent({ target: "A11Y-001" })` -- cleanup after a11y audit
210
+
211
+ ## Error Handling
212
+
213
+ | Scenario | Resolution |
214
+ |----------|------------|
215
+ | Unknown command | Error with available command list |
216
+ | Role not found | Error with role registry |
217
+ | Session corruption | Attempt recovery, fallback to manual |
218
+ | Fast-advance conflict | Coordinator reconciles on next callback |
219
+ | Completion action fails | Default to Keep Active |
220
+ | GC loop stuck > 2 rounds | Escalate to user: accept / retry / terminate |