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,278 +1,278 @@
1
- ---
2
- name: team-frontend-debug
3
- description: Frontend debugging team using Chrome DevTools MCP. Dual-mode — feature-list testing or bug-report debugging. Triggers on "team-frontend-debug", "frontend debug".
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__chrome-devtools__*(*)
5
- ---
6
-
7
- # Frontend Debug Team
8
-
9
- Dual-mode frontend debugging: feature-list testing or bug-report debugging, powered by Chrome DevTools MCP.
10
-
11
- ## Architecture
12
-
13
- ```
14
- Skill(skill="team-frontend-debug", args="feature list or bug 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 input → select pipeline → dispatch → spawn → STOP
26
- |
27
- ┌──────────────────────────┼──────────────────────┐
28
- v v v
29
- [test-pipeline] [debug-pipeline] [shared]
30
- tester(DevTools) reproducer(DevTools) analyzer
31
- fixer
32
- verifier
33
- ```
34
-
35
- ## Pipeline Modes
36
-
37
- | Input | Pipeline | Flow |
38
- |-------|----------|------|
39
- | Feature list / 功能清单 | `test-pipeline` | TEST → ANALYZE → FIX → VERIFY |
40
- | Bug report / 错误描述 | `debug-pipeline` | REPRODUCE → ANALYZE → FIX → VERIFY |
41
-
42
- ## Role Registry
43
-
44
- | Role | Path | Prefix | Inner Loop |
45
- |------|------|--------|------------|
46
- | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
47
- | tester | [roles/tester/role.md](roles/tester/role.md) | TEST-* | true |
48
- | reproducer | [roles/reproducer/role.md](roles/reproducer/role.md) | REPRODUCE-* | false |
49
- | analyzer | [roles/analyzer/role.md](roles/analyzer/role.md) | ANALYZE-* | false |
50
- | fixer | [roles/fixer/role.md](roles/fixer/role.md) | FIX-* | true |
51
- | verifier | [roles/verifier/role.md](roles/verifier/role.md) | VERIFY-* | false |
52
-
53
- ## Role Router
54
-
55
- Parse `$ARGUMENTS`:
56
- - Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
57
- - No `--role` → `roles/coordinator/role.md`, execute entry router
58
-
59
- ## Delegation Lock
60
-
61
- **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
62
-
63
- Before calling ANY tool, apply this check:
64
-
65
- | Tool Call | Verdict | Reason |
66
- |-----------|---------|--------|
67
- | `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `assign_task` | ALLOWED | Orchestration |
68
- | `list_agents` | ALLOWED | Agent health check |
69
- | `request_user_input` | ALLOWED | User interaction |
70
- | `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
71
- | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
72
- | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
73
- | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
74
- | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
75
- | `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
76
- | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
77
-
78
- **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
79
-
80
- **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
81
-
82
- ---
83
-
84
- ## Shared Constants
85
-
86
- - **Session prefix**: `TFD`
87
- - **Session path**: `.workflow/.team/TFD-<slug>-<date>/`
88
- - **CLI tools**: `ccw cli --mode analysis` (read-only), `ccw cli --mode write` (modifications)
89
- - **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
90
-
91
- ## Workspace Resolution
92
-
93
- Coordinator MUST resolve paths at Phase 2 before spawning workers:
94
-
95
- 1. Run `Bash({ command: "pwd" })` → capture `project_root` (absolute path)
96
- 2. `skill_root = <project_root>/.claude/skills/team-frontend-debug`
97
- 3. Store in `team-session.json`:
98
- ```json
99
- { "project_root": "/abs/path/to/project", "skill_root": "/abs/path/to/skill" }
100
- ```
101
- 4. All worker `role_spec` values MUST use `<skill_root>/roles/<role>/role.md` (absolute)
102
-
103
- This ensures workers always receive an absolute, resolvable path regardless of their working directory.
104
-
105
- ## Chrome DevTools MCP Tools
106
-
107
- All browser inspection operations use Chrome DevTools MCP. Reproducer and Verifier are primary consumers.
108
-
109
- | Tool | Purpose |
110
- |------|---------|
111
- | `mcp__chrome-devtools__navigate_page` | Navigate to target URL |
112
- | `mcp__chrome-devtools__take_screenshot` | Capture visual state |
113
- | `mcp__chrome-devtools__take_snapshot` | Capture DOM/a11y tree |
114
- | `mcp__chrome-devtools__list_console_messages` | Read console logs |
115
- | `mcp__chrome-devtools__get_console_message` | Get specific console message |
116
- | `mcp__chrome-devtools__list_network_requests` | Monitor network activity |
117
- | `mcp__chrome-devtools__get_network_request` | Inspect request/response detail |
118
- | `mcp__chrome-devtools__performance_start_trace` | Start performance recording |
119
- | `mcp__chrome-devtools__performance_stop_trace` | Stop and analyze trace |
120
- | `mcp__chrome-devtools__click` | Simulate user click |
121
- | `mcp__chrome-devtools__fill` | Fill form inputs |
122
- | `mcp__chrome-devtools__hover` | Hover over elements |
123
- | `mcp__chrome-devtools__evaluate_script` | Execute JavaScript in page |
124
- | `mcp__chrome-devtools__wait_for` | Wait for element/text |
125
- | `mcp__chrome-devtools__list_pages` | List open browser tabs |
126
- | `mcp__chrome-devtools__select_page` | Switch active tab |
127
-
128
- ## Worker Spawn Template
129
-
130
- Coordinator spawns workers using this template:
131
-
132
- ```
133
- spawn_agent({
134
- agent_type: "team_worker",
135
- task_name: "<task-id>",
136
- fork_context: false,
137
- items: [
138
- { type: "text", text: `## Role Assignment
139
- role: <role>
140
- role_spec: <skill_root>/roles/<role>/role.md
141
- session: <session-folder>
142
- session_id: <session-id>
143
- requirement: <task-description>
144
- inner_loop: <true|false>
145
-
146
- Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.` },
147
-
148
- { type: "text", text: `## Task Context
149
- task_id: <task-id>
150
- title: <task-title>
151
- description: <task-description>
152
- pipeline_phase: <pipeline-phase>` },
153
-
154
- { type: "text", text: `## Upstream Context
155
- <prev_context>` }
156
- ]
157
- })
158
- ```
159
-
160
- After spawning, use `wait_agent({ targets: [...], timeout_ms: 900000 })` to collect results, then `close_agent({ target })` each worker.
161
-
162
-
163
- ### Model Selection Guide
164
-
165
- Debug workflows require tool-heavy interaction (Chrome DevTools MCP). Reasoning effort varies by role.
166
-
167
- | Role | reasoning_effort | Rationale |
168
- |------|-------------------|-----------|
169
- | tester | medium | Systematic feature testing via DevTools, follows test plan |
170
- | reproducer | medium | Reproduce bugs via DevTools interaction steps |
171
- | analyzer | high | Root cause analysis requires deep reasoning about evidence |
172
- | fixer | high | Code fixes must address root cause precisely |
173
- | verifier | medium | Verification follows defined success criteria via DevTools |
174
-
175
- ## User Commands
176
-
177
- | Command | Action |
178
- |---------|--------|
179
- | `check` / `status` | View execution status graph |
180
- | `resume` / `continue` | Advance to next step |
181
- | `revise <TASK-ID> [feedback]` | Revise specific task |
182
- | `feedback <text>` | Inject feedback for revision |
183
- | `retry <TASK-ID>` | Re-run a failed task |
184
-
185
- ## v4 Agent Coordination
186
-
187
- ### Message Semantics
188
-
189
- | Intent | API | Example |
190
- |--------|-----|---------|
191
- | Queue supplementary info (don't interrupt) | `send_message` | Send DevTools evidence to running analyzer |
192
- | Assign new work / trigger debug round | `assign_task` | Assign re-fix after verification failure |
193
- | Check running agents | `list_agents` | Verify agent health during resume |
194
-
195
- ### Agent Health Check
196
-
197
- Use `list_agents({})` in handleResume and handleComplete:
198
-
199
- ```
200
- // Reconcile session state with actual running agents
201
- const running = list_agents({})
202
- // Compare with team-session.json active tasks
203
- // Reset orphaned tasks (in_progress but agent gone) to pending
204
- ```
205
-
206
- ### Named Agent Targeting
207
-
208
- Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
209
- - `send_message({ target: "ANALYZE-001", items: [...] })` -- send evidence from reproducer to analyzer
210
- - `assign_task({ target: "FIX-001", items: [...] })` -- assign fix based on analysis results
211
- - `close_agent({ target: "VERIFY-001" })` -- cleanup after verification
212
-
213
- ### Iterative Debug Loop Pattern
214
-
215
- When verifier reports a fix did not resolve the issue, coordinator uses `assign_task` to trigger re-analysis and re-fix:
216
- ```
217
- // Verifier reports failure -> coordinator dispatches re-fix
218
- assign_task({
219
- target: "FIX-001", // reuse existing fixer if inner_loop, or spawn new
220
- items: [
221
- { type: "text", text: `## Re-fix Assignment
222
- verification_result: FAIL
223
- failure_evidence: <verifier's screenshot/console evidence>
224
- previous_fix_summary: <what was tried>
225
- instruction: Analyze verification failure and apply corrected fix.` }
226
- ]
227
- })
228
- ```
229
-
230
- This pattern enables iterative debug rounds: FIX -> VERIFY -> re-FIX -> re-VERIFY (max 3 rounds).
231
-
232
- ## Completion Action
233
-
234
- When pipeline completes, coordinator presents:
235
-
236
- ```
237
- request_user_input({
238
- questions: [{
239
- question: "Pipeline complete. What would you like to do?",
240
- header: "Completion",
241
- multiSelect: false,
242
- options: [
243
- { label: "Archive & Clean (Recommended)", description: "Archive session, clean up" },
244
- { label: "Keep Active", description: "Keep session for follow-up debugging" },
245
- { label: "Export Results", description: "Export debug report and patches" }
246
- ]
247
- }]
248
- })
249
- ```
250
-
251
- ## Specs Reference
252
-
253
- - [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
254
- - [specs/debug-tools.md](specs/debug-tools.md) — Chrome DevTools MCP usage patterns and evidence collection
255
-
256
- ## Session Directory
257
-
258
- ```
259
- .workflow/.team/TFD-<slug>-<date>/
260
- ├── team-session.json # Session state + role registry
261
- ├── evidence/ # Screenshots, snapshots, network logs
262
- ├── artifacts/ # Test reports, RCA reports, patches, verification reports
263
- ├── wisdom/ # Cross-task debug knowledge
264
- └── .msg/ # Team message bus
265
- ```
266
-
267
- ## Error Handling
268
-
269
- | Scenario | Resolution |
270
- |----------|------------|
271
- | All features pass test | Report success, pipeline completes without ANALYZE/FIX/VERIFY |
272
- | Bug not reproducible | Reproducer reports failure, coordinator asks user for more details |
273
- | Browser not available | Report error, suggest manual reproduction steps |
274
- | Analysis inconclusive | Analyzer requests more evidence via iteration loop |
275
- | Fix introduces regression | Verifier reports fail, coordinator dispatches re-fix |
276
- | No issues found in test | Skip downstream tasks, report all-pass |
277
- | Unknown command | Error with available command list |
278
- | Role not found | Error with role registry |
1
+ ---
2
+ name: team-frontend-debug
3
+ description: Frontend debugging team using Chrome DevTools MCP. Dual-mode — feature-list testing or bug-report debugging. Triggers on "team-frontend-debug", "frontend debug".
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__chrome-devtools__*(*)
5
+ ---
6
+
7
+ # Frontend Debug Team
8
+
9
+ Dual-mode frontend debugging: feature-list testing or bug-report debugging, powered by Chrome DevTools MCP.
10
+
11
+ ## Architecture
12
+
13
+ ```
14
+ Skill(skill="team-frontend-debug", args="feature list or bug 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 input → select pipeline → dispatch → spawn → STOP
26
+ |
27
+ ┌──────────────────────────┼──────────────────────┐
28
+ v v v
29
+ [test-pipeline] [debug-pipeline] [shared]
30
+ tester(DevTools) reproducer(DevTools) analyzer
31
+ fixer
32
+ verifier
33
+ ```
34
+
35
+ ## Pipeline Modes
36
+
37
+ | Input | Pipeline | Flow |
38
+ |-------|----------|------|
39
+ | Feature list / 功能清单 | `test-pipeline` | TEST → ANALYZE → FIX → VERIFY |
40
+ | Bug report / 错误描述 | `debug-pipeline` | REPRODUCE → ANALYZE → FIX → VERIFY |
41
+
42
+ ## Role Registry
43
+
44
+ | Role | Path | Prefix | Inner Loop |
45
+ |------|------|--------|------------|
46
+ | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
47
+ | tester | [roles/tester/role.md](roles/tester/role.md) | TEST-* | true |
48
+ | reproducer | [roles/reproducer/role.md](roles/reproducer/role.md) | REPRODUCE-* | false |
49
+ | analyzer | [roles/analyzer/role.md](roles/analyzer/role.md) | ANALYZE-* | false |
50
+ | fixer | [roles/fixer/role.md](roles/fixer/role.md) | FIX-* | true |
51
+ | verifier | [roles/verifier/role.md](roles/verifier/role.md) | VERIFY-* | false |
52
+
53
+ ## Role Router
54
+
55
+ Parse `$ARGUMENTS`:
56
+ - Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
57
+ - No `--role` → `roles/coordinator/role.md`, execute entry router
58
+
59
+ ## Delegation Lock
60
+
61
+ **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
62
+
63
+ Before calling ANY tool, apply this check:
64
+
65
+ | Tool Call | Verdict | Reason |
66
+ |-----------|---------|--------|
67
+ | `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `assign_task` | ALLOWED | Orchestration |
68
+ | `list_agents` | ALLOWED | Agent health check |
69
+ | `request_user_input` | ALLOWED | User interaction |
70
+ | `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
71
+ | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
72
+ | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
73
+ | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
74
+ | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
75
+ | `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
76
+ | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
77
+
78
+ **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
79
+
80
+ **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
81
+
82
+ ---
83
+
84
+ ## Shared Constants
85
+
86
+ - **Session prefix**: `TFD`
87
+ - **Session path**: `.workflow/.team/TFD-<slug>-<date>/`
88
+ - **CLI tools**: `ccw cli --mode analysis` (read-only), `ccw cli --mode write` (modifications)
89
+ - **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
90
+
91
+ ## Workspace Resolution
92
+
93
+ Coordinator MUST resolve paths at Phase 2 before spawning workers:
94
+
95
+ 1. Run `Bash({ command: "pwd" })` → capture `project_root` (absolute path)
96
+ 2. `skill_root = <project_root>/.claude/skills/team-frontend-debug`
97
+ 3. Store in `team-session.json`:
98
+ ```json
99
+ { "project_root": "/abs/path/to/project", "skill_root": "/abs/path/to/skill" }
100
+ ```
101
+ 4. All worker `role_spec` values MUST use `<skill_root>/roles/<role>/role.md` (absolute)
102
+
103
+ This ensures workers always receive an absolute, resolvable path regardless of their working directory.
104
+
105
+ ## Chrome DevTools MCP Tools
106
+
107
+ All browser inspection operations use Chrome DevTools MCP. Reproducer and Verifier are primary consumers.
108
+
109
+ | Tool | Purpose |
110
+ |------|---------|
111
+ | `mcp__chrome-devtools__navigate_page` | Navigate to target URL |
112
+ | `mcp__chrome-devtools__take_screenshot` | Capture visual state |
113
+ | `mcp__chrome-devtools__take_snapshot` | Capture DOM/a11y tree |
114
+ | `mcp__chrome-devtools__list_console_messages` | Read console logs |
115
+ | `mcp__chrome-devtools__get_console_message` | Get specific console message |
116
+ | `mcp__chrome-devtools__list_network_requests` | Monitor network activity |
117
+ | `mcp__chrome-devtools__get_network_request` | Inspect request/response detail |
118
+ | `mcp__chrome-devtools__performance_start_trace` | Start performance recording |
119
+ | `mcp__chrome-devtools__performance_stop_trace` | Stop and analyze trace |
120
+ | `mcp__chrome-devtools__click` | Simulate user click |
121
+ | `mcp__chrome-devtools__fill` | Fill form inputs |
122
+ | `mcp__chrome-devtools__hover` | Hover over elements |
123
+ | `mcp__chrome-devtools__evaluate_script` | Execute JavaScript in page |
124
+ | `mcp__chrome-devtools__wait_for` | Wait for element/text |
125
+ | `mcp__chrome-devtools__list_pages` | List open browser tabs |
126
+ | `mcp__chrome-devtools__select_page` | Switch active tab |
127
+
128
+ ## Worker Spawn Template
129
+
130
+ Coordinator spawns workers using this template:
131
+
132
+ ```
133
+ spawn_agent({
134
+ agent_type: "team_worker",
135
+ task_name: "<task-id>",
136
+ fork_context: false,
137
+ items: [
138
+ { type: "text", text: `## Role Assignment
139
+ role: <role>
140
+ role_spec: <skill_root>/roles/<role>/role.md
141
+ session: <session-folder>
142
+ session_id: <session-id>
143
+ requirement: <task-description>
144
+ inner_loop: <true|false>
145
+
146
+ Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.` },
147
+
148
+ { type: "text", text: `## Task Context
149
+ task_id: <task-id>
150
+ title: <task-title>
151
+ description: <task-description>
152
+ pipeline_phase: <pipeline-phase>` },
153
+
154
+ { type: "text", text: `## Upstream Context
155
+ <prev_context>` }
156
+ ]
157
+ })
158
+ ```
159
+
160
+ After spawning, use `wait_agent({ targets: [...], timeout_ms: 900000 })` to collect results, then `close_agent({ target })` each worker.
161
+
162
+
163
+ ### Model Selection Guide
164
+
165
+ Debug workflows require tool-heavy interaction (Chrome DevTools MCP). Reasoning effort varies by role.
166
+
167
+ | Role | reasoning_effort | Rationale |
168
+ |------|-------------------|-----------|
169
+ | tester | medium | Systematic feature testing via DevTools, follows test plan |
170
+ | reproducer | medium | Reproduce bugs via DevTools interaction steps |
171
+ | analyzer | high | Root cause analysis requires deep reasoning about evidence |
172
+ | fixer | high | Code fixes must address root cause precisely |
173
+ | verifier | medium | Verification follows defined success criteria via DevTools |
174
+
175
+ ## User Commands
176
+
177
+ | Command | Action |
178
+ |---------|--------|
179
+ | `check` / `status` | View execution status graph |
180
+ | `resume` / `continue` | Advance to next step |
181
+ | `revise <TASK-ID> [feedback]` | Revise specific task |
182
+ | `feedback <text>` | Inject feedback for revision |
183
+ | `retry <TASK-ID>` | Re-run a failed task |
184
+
185
+ ## v4 Agent Coordination
186
+
187
+ ### Message Semantics
188
+
189
+ | Intent | API | Example |
190
+ |--------|-----|---------|
191
+ | Queue supplementary info (don't interrupt) | `send_message` | Send DevTools evidence to running analyzer |
192
+ | Assign new work / trigger debug round | `assign_task` | Assign re-fix after verification failure |
193
+ | Check running agents | `list_agents` | Verify agent health during resume |
194
+
195
+ ### Agent Health Check
196
+
197
+ Use `list_agents({})` in handleResume and handleComplete:
198
+
199
+ ```
200
+ // Reconcile session state with actual running agents
201
+ const running = list_agents({})
202
+ // Compare with team-session.json active tasks
203
+ // Reset orphaned tasks (in_progress but agent gone) to pending
204
+ ```
205
+
206
+ ### Named Agent Targeting
207
+
208
+ Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
209
+ - `send_message({ target: "ANALYZE-001", items: [...] })` -- send evidence from reproducer to analyzer
210
+ - `assign_task({ target: "FIX-001", items: [...] })` -- assign fix based on analysis results
211
+ - `close_agent({ target: "VERIFY-001" })` -- cleanup after verification
212
+
213
+ ### Iterative Debug Loop Pattern
214
+
215
+ When verifier reports a fix did not resolve the issue, coordinator uses `assign_task` to trigger re-analysis and re-fix:
216
+ ```
217
+ // Verifier reports failure -> coordinator dispatches re-fix
218
+ assign_task({
219
+ target: "FIX-001", // reuse existing fixer if inner_loop, or spawn new
220
+ items: [
221
+ { type: "text", text: `## Re-fix Assignment
222
+ verification_result: FAIL
223
+ failure_evidence: <verifier's screenshot/console evidence>
224
+ previous_fix_summary: <what was tried>
225
+ instruction: Analyze verification failure and apply corrected fix.` }
226
+ ]
227
+ })
228
+ ```
229
+
230
+ This pattern enables iterative debug rounds: FIX -> VERIFY -> re-FIX -> re-VERIFY (max 3 rounds).
231
+
232
+ ## Completion Action
233
+
234
+ When pipeline completes, coordinator presents:
235
+
236
+ ```
237
+ functions.request_user_input({
238
+ questions: [{
239
+ question: "Pipeline complete. What would you like to do?",
240
+ header: "Completion",
241
+ multiSelect: false,
242
+ options: [
243
+ { label: "Archive & Clean (Recommended)", description: "Archive session, clean up" },
244
+ { label: "Keep Active", description: "Keep session for follow-up debugging" },
245
+ { label: "Export Results", description: "Export debug report and patches" }
246
+ ]
247
+ }]
248
+ })
249
+ ```
250
+
251
+ ## Specs Reference
252
+
253
+ - [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
254
+ - [specs/debug-tools.md](specs/debug-tools.md) — Chrome DevTools MCP usage patterns and evidence collection
255
+
256
+ ## Session Directory
257
+
258
+ ```
259
+ .workflow/.team/TFD-<slug>-<date>/
260
+ ├── team-session.json # Session state + role registry
261
+ ├── evidence/ # Screenshots, snapshots, network logs
262
+ ├── artifacts/ # Test reports, RCA reports, patches, verification reports
263
+ ├── wisdom/ # Cross-task debug knowledge
264
+ └── .msg/ # Team message bus
265
+ ```
266
+
267
+ ## Error Handling
268
+
269
+ | Scenario | Resolution |
270
+ |----------|------------|
271
+ | All features pass test | Report success, pipeline completes without ANALYZE/FIX/VERIFY |
272
+ | Bug not reproducible | Reproducer reports failure, coordinator asks user for more details |
273
+ | Browser not available | Report error, suggest manual reproduction steps |
274
+ | Analysis inconclusive | Analyzer requests more evidence via iteration loop |
275
+ | Fix introduces regression | Verifier reports fail, coordinator dispatches re-fix |
276
+ | No issues found in test | Skip downstream tasks, report all-pass |
277
+ | Unknown command | Error with available command list |
278
+ | Role not found | Error with role registry |
@@ -16,7 +16,7 @@ else
16
16
  ```
17
17
 
18
18
  ```
19
- request_user_input({
19
+ functions.request_user_input({
20
20
  questions: [{
21
21
  question: "请确认调试模式",
22
22
  header: "Mode",
@@ -53,7 +53,7 @@ Parse features into structured format:
53
53
 
54
54
  If base_url missing:
55
55
  ```
56
- request_user_input({
56
+ functions.request_user_input({
57
57
  questions: [{
58
58
  question: "请提供应用的访问地址",
59
59
  header: "Base URL",