claude-code-workflow 7.2.30 → 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.
- package/.claude/commands/workflow-skill.md +130 -0
- package/.claude/skills/ccw-chain/SKILL.md +44 -71
- package/.claude/skills/ccw-chain/chains/ccw-cycle.json +13 -3
- package/.claude/skills/ccw-chain/chains/ccw-exploration.json +33 -22
- package/.claude/skills/ccw-chain/chains/ccw-issue.json +23 -12
- package/.claude/skills/ccw-chain/chains/ccw-lightweight.json +23 -9
- package/.claude/skills/ccw-chain/chains/ccw-main.json +15 -2
- package/.claude/skills/ccw-chain/chains/ccw-standard.json +28 -16
- package/.claude/skills/ccw-chain/chains/ccw-team.json +7 -2
- package/.claude/skills/ccw-chain/chains/ccw-with-file.json +25 -9
- package/.claude/skills/chain-loader/phases/01-analyze-skill.md +53 -53
- package/.claude/skills/chain-loader/specs/chain-schema.md +30 -3
- package/.claude/skills/chain-loader/templates/chain-json.md +63 -63
- package/.claude/skills/workflow-plan/SKILL.md +1 -0
- package/.claude/skills/workflow-plan/phases/01-session-discovery.md +19 -2
- package/.claude/skills/workflow-plan/phases/02-context-gathering.md +2 -2
- package/.claude/skills/workflow-plan/phases/04-task-generation.md +9 -1
- package/.codex/skills/analyze-with-file/SKILL.md +383 -134
- package/.codex/skills/brainstorm/SKILL.md +3 -3
- package/.codex/skills/brainstorm-with-file/SKILL.md +208 -88
- package/.codex/skills/clean/SKILL.md +1 -1
- package/.codex/skills/csv-wave-pipeline/SKILL.md +2 -2
- package/.codex/skills/investigate/orchestrator.md +24 -0
- package/.codex/skills/issue-discover/SKILL.md +374 -361
- package/.codex/skills/issue-discover/phases/01-issue-new.md +1 -1
- package/.codex/skills/issue-discover/phases/02-discover.md +2 -2
- package/.codex/skills/issue-discover/phases/03-discover-by-prompt.md +1 -1
- package/.codex/skills/issue-discover/phases/04-quick-execute.md +2 -2
- package/.codex/skills/parallel-dev-cycle/SKILL.md +44 -37
- package/.codex/skills/project-documentation-workflow/SKILL.md +1 -1
- package/.codex/skills/review-cycle/SKILL.md +31 -12
- package/.codex/skills/roadmap-with-file/SKILL.md +141 -133
- package/.codex/skills/security-audit/orchestrator.md +29 -0
- package/.codex/skills/session-sync/SKILL.md +1 -1
- package/.codex/skills/ship/orchestrator.md +24 -0
- package/.codex/skills/spec-add/SKILL.md +5 -5
- package/.codex/skills/spec-generator/SKILL.md +33 -2
- package/.codex/skills/spec-generator/phases/01-5-requirement-clarification.md +3 -3
- package/.codex/skills/spec-generator/phases/01-discovery.md +1 -1
- package/.codex/skills/spec-generator/phases/02-product-brief.md +1 -1
- package/.codex/skills/spec-generator/phases/03-requirements.md +1 -1
- package/.codex/skills/spec-generator/phases/04-architecture.md +1 -1
- package/.codex/skills/spec-generator/phases/05-epics-stories.md +1 -1
- package/.codex/skills/spec-generator/phases/06-readiness-check.md +1 -1
- package/.codex/skills/spec-generator/phases/07-issue-export.md +1 -1
- package/.codex/skills/spec-setup/SKILL.md +669 -669
- package/.codex/skills/team-arch-opt/specs/team-config.json +1 -1
- package/.codex/skills/team-brainstorm/SKILL.md +259 -259
- package/.codex/skills/team-coordinate/SKILL.md +359 -359
- package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +1 -1
- package/.codex/skills/team-designer/SKILL.md +27 -1
- package/.codex/skills/team-designer/phases/01-requirements-analysis.md +2 -2
- package/.codex/skills/team-designer/phases/02-scaffold-generation.md +1 -1
- package/.codex/skills/team-designer/phases/04-validation.md +1 -1
- package/.codex/skills/team-executor/SKILL.md +218 -218
- package/.codex/skills/team-frontend/SKILL.md +227 -227
- package/.codex/skills/team-frontend-debug/SKILL.md +278 -278
- package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +2 -2
- package/.codex/skills/team-interactive-craft/SKILL.md +220 -220
- package/.codex/skills/team-interactive-craft/roles/coordinator/role.md +209 -209
- package/.codex/skills/team-issue/SKILL.md +269 -269
- package/.codex/skills/team-issue/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-lifecycle-v4/SKILL.md +305 -305
- package/.codex/skills/team-motion-design/SKILL.md +222 -222
- package/.codex/skills/team-motion-design/roles/coordinator/role.md +210 -210
- package/.codex/skills/team-perf-opt/SKILL.md +258 -258
- package/.codex/skills/team-perf-opt/specs/team-config.json +1 -1
- package/.codex/skills/team-planex/SKILL.md +216 -216
- package/.codex/skills/team-quality-assurance/SKILL.md +229 -229
- package/.codex/skills/team-review/SKILL.md +227 -227
- package/.codex/skills/team-roadmap-dev/SKILL.md +238 -238
- package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/roadmap-discuss.md +5 -5
- package/.codex/skills/team-tech-debt/SKILL.md +206 -206
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +1 -1
- package/.codex/skills/team-testing/SKILL.md +237 -237
- package/.codex/skills/team-ui-polish/SKILL.md +218 -218
- package/.codex/skills/team-ui-polish/roles/coordinator/role.md +213 -213
- package/.codex/skills/team-uidesign/SKILL.md +219 -219
- package/.codex/skills/team-uidesign/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-ultra-analyze/SKILL.md +260 -260
- package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +1 -1
- package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-ux-improve/SKILL.md +227 -227
- package/.codex/skills/team-ux-improve/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-ux-improve/specs/team-config.json +1 -1
- package/.codex/skills/team-visual-a11y/SKILL.md +319 -319
- package/.codex/skills/team-visual-a11y/roles/coordinator/role.md +213 -213
- package/.codex/skills/workflow-execute/SKILL.md +5 -5
- package/.codex/skills/workflow-lite-planex/SKILL.md +3 -3
- package/.codex/skills/workflow-plan/SKILL.md +3 -3
- package/.codex/skills/workflow-tdd-plan/SKILL.md +4 -4
- package/.codex/skills/workflow-test-fix-cycle/SKILL.md +403 -402
- package/ccw/dist/cli.d.ts.map +1 -1
- package/ccw/dist/cli.js +16 -0
- package/ccw/dist/cli.js.map +1 -1
- package/ccw/dist/commands/chain-loader.d.ts +2 -0
- package/ccw/dist/commands/chain-loader.d.ts.map +1 -0
- package/ccw/dist/commands/chain-loader.js +11 -0
- package/ccw/dist/commands/chain-loader.js.map +1 -0
- package/ccw/dist/commands/install.d.ts.map +1 -1
- package/ccw/dist/commands/install.js +52 -1
- package/ccw/dist/commands/install.js.map +1 -1
- package/ccw/dist/commands/launcher.d.ts +2 -0
- package/ccw/dist/commands/launcher.d.ts.map +1 -0
- package/ccw/dist/commands/launcher.js +434 -0
- package/ccw/dist/commands/launcher.js.map +1 -0
- package/ccw/dist/tools/chain-loader.d.ts.map +1 -1
- package/ccw/dist/tools/chain-loader.js +457 -45
- package/ccw/dist/tools/chain-loader.js.map +1 -1
- package/ccw/dist/tools/skill-context-loader.d.ts.map +1 -1
- package/ccw/dist/tools/skill-context-loader.js +12 -26
- package/ccw/dist/tools/skill-context-loader.js.map +1 -1
- package/ccw/dist/types/chain-types.d.ts +41 -1
- package/ccw/dist/types/chain-types.d.ts.map +1 -1
- package/ccw/dist/utils/chain-visualizer.d.ts +13 -0
- package/ccw/dist/utils/chain-visualizer.d.ts.map +1 -0
- package/ccw/dist/utils/chain-visualizer.js +164 -0
- package/ccw/dist/utils/chain-visualizer.js.map +1 -0
- package/package.json +1 -1
- package/.claude/commands/cli/cli-init.md +0 -441
- package/.claude/commands/cli/codex-review.md +0 -361
- package/.claude/commands/flow-create.md +0 -663
- package/.claude/skills/ccw-chain/phases/analyze-with-file.md +0 -788
- package/.claude/skills/ccw-chain/phases/brainstorm/SKILL.md +0 -408
- package/.claude/skills/ccw-chain/phases/brainstorm/phases/01-mode-routing.md +0 -207
- package/.claude/skills/ccw-chain/phases/brainstorm/phases/02-artifacts.md +0 -567
- package/.claude/skills/ccw-chain/phases/brainstorm/phases/03-role-analysis.md +0 -748
- package/.claude/skills/ccw-chain/phases/brainstorm/phases/04-synthesis.md +0 -827
- package/.claude/skills/ccw-chain/phases/brainstorm-with-file.md +0 -482
- package/.claude/skills/ccw-chain/phases/collaborative-plan-with-file.md +0 -639
- package/.claude/skills/ccw-chain/phases/debug-with-file.md +0 -656
- package/.claude/skills/ccw-chain/phases/integration-test-cycle.md +0 -936
- package/.claude/skills/ccw-chain/phases/issue-convert-to-plan.md +0 -720
- package/.claude/skills/ccw-chain/phases/issue-discover.md +0 -483
- package/.claude/skills/ccw-chain/phases/issue-execute.md +0 -629
- package/.claude/skills/ccw-chain/phases/issue-from-brainstorm.md +0 -382
- package/.claude/skills/ccw-chain/phases/issue-plan.md +0 -343
- package/.claude/skills/ccw-chain/phases/issue-queue.md +0 -464
- package/.claude/skills/ccw-chain/phases/refactor-cycle.md +0 -852
- package/.claude/skills/ccw-chain/phases/review-cycle/SKILL.md +0 -132
- package/.claude/skills/ccw-chain/phases/review-cycle/phases/review-fix.md +0 -760
- package/.claude/skills/ccw-chain/phases/review-cycle/phases/review-module.md +0 -764
- package/.claude/skills/ccw-chain/phases/review-cycle/phases/review-session.md +0 -775
- package/.claude/skills/ccw-chain/phases/roadmap-with-file.md +0 -544
- package/.claude/skills/ccw-chain/phases/spec-generator/SKILL.md +0 -338
- package/.claude/skills/ccw-chain/phases/spec-generator/phases/01-5-requirement-clarification.md +0 -404
- package/.claude/skills/ccw-chain/phases/spec-generator/phases/01-discovery.md +0 -257
- package/.claude/skills/ccw-chain/phases/spec-generator/phases/02-product-brief.md +0 -274
- package/.claude/skills/ccw-chain/phases/spec-generator/phases/03-requirements.md +0 -184
- package/.claude/skills/ccw-chain/phases/spec-generator/phases/04-architecture.md +0 -248
- package/.claude/skills/ccw-chain/phases/spec-generator/phases/05-epics-stories.md +0 -178
- package/.claude/skills/ccw-chain/phases/spec-generator/phases/06-5-auto-fix.md +0 -144
- package/.claude/skills/ccw-chain/phases/spec-generator/phases/06-readiness-check.md +0 -480
- package/.claude/skills/ccw-chain/phases/team-planex.md +0 -123
- package/.claude/skills/ccw-chain/phases/ui-design-explore-auto.md +0 -678
- package/.claude/skills/ccw-chain/phases/unified-execute-with-file.md +0 -870
- package/.claude/skills/ccw-chain/phases/workflow-execute/SKILL.md +0 -625
- package/.claude/skills/ccw-chain/phases/workflow-execute/phases/06-review.md +0 -215
- package/.claude/skills/ccw-chain/phases/workflow-lite-plan.md +0 -616
- package/.claude/skills/ccw-chain/phases/workflow-multi-cli-plan.md +0 -424
- package/.claude/skills/ccw-chain/phases/workflow-plan/SKILL.md +0 -466
- package/.claude/skills/ccw-chain/phases/workflow-plan/phases/01-session-discovery.md +0 -99
- package/.claude/skills/ccw-chain/phases/workflow-plan/phases/02-context-gathering.md +0 -338
- package/.claude/skills/ccw-chain/phases/workflow-plan/phases/03-conflict-resolution.md +0 -422
- package/.claude/skills/ccw-chain/phases/workflow-plan/phases/04-task-generation.md +0 -440
- package/.claude/skills/ccw-chain/phases/workflow-plan/phases/05-plan-verify.md +0 -395
- package/.claude/skills/ccw-chain/phases/workflow-plan/phases/06-replan.md +0 -594
- package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/SKILL.md +0 -527
- package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/01-session-discovery.md +0 -57
- package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/02-context-gathering.md +0 -407
- package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/03-test-coverage-analysis.md +0 -172
- package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/04-conflict-resolution.md +0 -426
- package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/05-tdd-task-generation.md +0 -473
- package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/06-tdd-structure-validation.md +0 -189
- package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/07-tdd-verify.md +0 -635
- package/.claude/skills/ccw-chain/phases/workflow-test-fix/SKILL.md +0 -482
- package/.claude/skills/ccw-chain/phases/workflow-test-fix/phases/01-session-start.md +0 -60
- package/.claude/skills/ccw-chain/phases/workflow-test-fix/phases/02-test-context-gather.md +0 -493
- package/.claude/skills/ccw-chain/phases/workflow-test-fix/phases/03-test-concept-enhanced.md +0 -150
- package/.claude/skills/ccw-chain/phases/workflow-test-fix/phases/04-test-task-generate.md +0 -346
- package/.claude/skills/ccw-chain/phases/workflow-test-fix/phases/05-test-cycle-execute.md +0 -538
- package/.claude/skills/ccw-chain/specs/intent-patterns.md +0 -60
- package/.claude/skills/team-edict.zip +0 -0
|
@@ -1,258 +1,258 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: team-perf-opt
|
|
3
|
-
description: Unified team skill for performance optimization. Coordinator orchestrates pipeline, workers are team-worker agents. Supports single/fan-out/independent parallel modes. Triggers on "team perf-opt".
|
|
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(*)
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Team Performance Optimization
|
|
8
|
-
|
|
9
|
-
Profile application performance, identify bottlenecks, design optimization strategies, implement changes, benchmark improvements, and review code quality.
|
|
10
|
-
|
|
11
|
-
## Architecture
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
Skill(skill="team-perf-opt", 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 v
|
|
29
|
-
[profiler] [strategist] [optimizer] [benchmarker] [reviewer]
|
|
30
|
-
(team-worker agents)
|
|
31
|
-
|
|
32
|
-
Pipeline (Single mode):
|
|
33
|
-
PROFILE-001 -> STRATEGY-001 -> IMPL-001 -> BENCH-001 + REVIEW-001 (fix cycle)
|
|
34
|
-
|
|
35
|
-
Pipeline (Fan-out mode):
|
|
36
|
-
PROFILE-001 -> STRATEGY-001 -> [IMPL-B01..N](parallel) -> BENCH+REVIEW per branch
|
|
37
|
-
|
|
38
|
-
Pipeline (Independent mode):
|
|
39
|
-
[Pipeline A: PROFILE-A->STRATEGY-A->IMPL-A->BENCH-A+REVIEW-A]
|
|
40
|
-
[Pipeline B: PROFILE-B->STRATEGY-B->IMPL-B->BENCH-B+REVIEW-B] (parallel)
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Role Registry
|
|
44
|
-
|
|
45
|
-
| Role | Path | Prefix | Inner Loop |
|
|
46
|
-
|------|------|--------|------------|
|
|
47
|
-
| coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
|
|
48
|
-
| profiler | [roles/profiler/role.md](roles/profiler/role.md) | PROFILE-* | false |
|
|
49
|
-
| strategist | [roles/strategist/role.md](roles/strategist/role.md) | STRATEGY-* | false |
|
|
50
|
-
| optimizer | [roles/optimizer/role.md](roles/optimizer/role.md) | IMPL-*, FIX-* | true |
|
|
51
|
-
| benchmarker | [roles/benchmarker/role.md](roles/benchmarker/role.md) | BENCH-* | false |
|
|
52
|
-
| reviewer | [roles/reviewer/role.md](roles/reviewer/role.md) | REVIEW-*, QUALITY-* | false |
|
|
53
|
-
|
|
54
|
-
## Role Router
|
|
55
|
-
|
|
56
|
-
Parse `$ARGUMENTS`:
|
|
57
|
-
- Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
|
|
58
|
-
- No `--role` → `roles/coordinator/role.md`, execute entry router
|
|
59
|
-
|
|
60
|
-
## Delegation Lock
|
|
61
|
-
|
|
62
|
-
**Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
|
|
63
|
-
|
|
64
|
-
Before calling ANY tool, apply this check:
|
|
65
|
-
|
|
66
|
-
| Tool Call | Verdict | Reason |
|
|
67
|
-
|-----------|---------|--------|
|
|
68
|
-
| `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `assign_task` | ALLOWED | Orchestration |
|
|
69
|
-
| `list_agents` | ALLOWED | Agent health check |
|
|
70
|
-
| `request_user_input` | ALLOWED | User interaction |
|
|
71
|
-
| `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
|
|
72
|
-
| `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
|
|
73
|
-
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
74
|
-
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
75
|
-
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
76
|
-
| `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
|
|
77
|
-
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
78
|
-
|
|
79
|
-
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
80
|
-
|
|
81
|
-
**No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## Shared Constants
|
|
86
|
-
|
|
87
|
-
- **Session prefix**: `PERF-OPT`
|
|
88
|
-
- **Session path**: `.workflow/.team/PERF-OPT-<slug>-<date>/`
|
|
89
|
-
- **Team name**: `perf-opt`
|
|
90
|
-
- **CLI tools**: `ccw cli --mode analysis` (read-only), `ccw cli --mode write` (modifications)
|
|
91
|
-
- **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
|
|
92
|
-
|
|
93
|
-
## Worker Spawn Template
|
|
94
|
-
|
|
95
|
-
Coordinator spawns workers using this template:
|
|
96
|
-
|
|
97
|
-
```
|
|
98
|
-
spawn_agent({
|
|
99
|
-
agent_type: "team_worker",
|
|
100
|
-
task_name: "<task-id>",
|
|
101
|
-
fork_context: false,
|
|
102
|
-
items: [
|
|
103
|
-
{ type: "text", text: `## Role Assignment
|
|
104
|
-
role: <role>
|
|
105
|
-
role_spec: <skill_root>/roles/<role>/role.md
|
|
106
|
-
session: <session-folder>
|
|
107
|
-
session_id: <session-id>
|
|
108
|
-
requirement: <task-description>
|
|
109
|
-
inner_loop: <true|false>
|
|
110
|
-
|
|
111
|
-
Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.` },
|
|
112
|
-
|
|
113
|
-
{ type: "text", text: `## Task Context
|
|
114
|
-
task_id: <task-id>
|
|
115
|
-
title: <task-title>
|
|
116
|
-
description: <task-description>
|
|
117
|
-
pipeline_phase: <pipeline-phase>` },
|
|
118
|
-
|
|
119
|
-
{ type: "text", text: `## Upstream Context
|
|
120
|
-
<prev_context>` }
|
|
121
|
-
]
|
|
122
|
-
})
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
After spawning, use `wait_agent({ targets: [...], timeout_ms: 900000 })` to collect results, then `close_agent({ target })` each worker.
|
|
126
|
-
|
|
127
|
-
**Inner Loop roles** (optimizer): Set `inner_loop: true`.
|
|
128
|
-
**Single-task roles** (profiler, strategist, benchmarker, reviewer): Set `inner_loop: false`.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
### Model Selection Guide
|
|
132
|
-
|
|
133
|
-
Performance optimization is measurement-driven. Profiler and benchmarker need consistent context for before/after comparison.
|
|
134
|
-
|
|
135
|
-
| Role | reasoning_effort | Rationale |
|
|
136
|
-
|------|-------------------|-----------|
|
|
137
|
-
| profiler | high | Must identify subtle bottlenecks from profiling data |
|
|
138
|
-
| strategist | high | Optimization strategy requires understanding tradeoffs |
|
|
139
|
-
| optimizer | high | Performance-critical code changes need precision |
|
|
140
|
-
| benchmarker | medium | Benchmark execution follows defined measurement plan |
|
|
141
|
-
| reviewer | high | Must verify optimizations don't introduce regressions |
|
|
142
|
-
|
|
143
|
-
### Benchmark Context Sharing with fork_context
|
|
144
|
-
|
|
145
|
-
For before/after comparison, benchmarker should share context with profiler's baseline:
|
|
146
|
-
```
|
|
147
|
-
spawn_agent({
|
|
148
|
-
agent_type: "team_worker",
|
|
149
|
-
task_name: "BENCH-001",
|
|
150
|
-
fork_context: true, // Share context so benchmarker sees profiler's baseline metrics
|
|
151
|
-
reasoning_effort: "medium",
|
|
152
|
-
items: [...]
|
|
153
|
-
})
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
## User Commands
|
|
157
|
-
|
|
158
|
-
| Command | Action |
|
|
159
|
-
|---------|--------|
|
|
160
|
-
| `check` / `status` | Output execution status graph (branch-grouped), no advancement |
|
|
161
|
-
| `resume` / `continue` | Check worker states, advance next step |
|
|
162
|
-
| `revise <TASK-ID> [feedback]` | Create revision task + cascade downstream (scoped to branch) |
|
|
163
|
-
| `feedback <text>` | Analyze feedback impact, create targeted revision chain |
|
|
164
|
-
| `recheck` | Re-run quality check |
|
|
165
|
-
| `improve [dimension]` | Auto-improve weakest dimension |
|
|
166
|
-
|
|
167
|
-
## Session Directory
|
|
168
|
-
|
|
169
|
-
```
|
|
170
|
-
.workflow/.team/PERF-OPT-<slug>-<date>/
|
|
171
|
-
+-- session.json # Session metadata + status + parallel_mode
|
|
172
|
-
+-- artifacts/
|
|
173
|
-
| +-- baseline-metrics.json # Profiler: before-optimization metrics
|
|
174
|
-
| +-- bottleneck-report.md # Profiler: ranked bottleneck findings
|
|
175
|
-
| +-- optimization-plan.md # Strategist: prioritized optimization plan
|
|
176
|
-
| +-- benchmark-results.json # Benchmarker: after-optimization metrics
|
|
177
|
-
| +-- review-report.md # Reviewer: code review findings
|
|
178
|
-
| +-- branches/B01/... # Fan-out branch artifacts
|
|
179
|
-
| +-- pipelines/A/... # Independent pipeline artifacts
|
|
180
|
-
+-- explorations/ # Shared explore cache
|
|
181
|
-
+-- wisdom/patterns.md # Discovered patterns and conventions
|
|
182
|
-
+-- discussions/ # Discussion records
|
|
183
|
-
+-- .msg/messages.jsonl # Team message bus
|
|
184
|
-
+-- .msg/meta.json # Session metadata
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
## v4 Agent Coordination
|
|
188
|
-
|
|
189
|
-
### Message Semantics
|
|
190
|
-
|
|
191
|
-
| Intent | API | Example |
|
|
192
|
-
|--------|-----|---------|
|
|
193
|
-
| Queue supplementary info (don't interrupt) | `send_message` | Send baseline metrics to running optimizer |
|
|
194
|
-
| Assign fix after benchmark regression | `assign_task` | Assign FIX task when benchmark shows regression |
|
|
195
|
-
| Check running agents | `list_agents` | Verify agent health during resume |
|
|
196
|
-
|
|
197
|
-
### Agent Health Check
|
|
198
|
-
|
|
199
|
-
Use `list_agents({})` in handleResume and handleComplete:
|
|
200
|
-
|
|
201
|
-
```
|
|
202
|
-
// Reconcile session state with actual running agents
|
|
203
|
-
const running = list_agents({})
|
|
204
|
-
// Compare with session.json active tasks
|
|
205
|
-
// Reset orphaned tasks (in_progress but agent gone) to pending
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### Named Agent Targeting
|
|
209
|
-
|
|
210
|
-
Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
|
|
211
|
-
- `send_message({ target: "IMPL-001", items: [...] })` -- send strategy details to optimizer
|
|
212
|
-
- `assign_task({ target: "IMPL-001", items: [...] })` -- assign fix after benchmark regression
|
|
213
|
-
- `close_agent({ target: "BENCH-001" })` -- cleanup after benchmarking completes
|
|
214
|
-
|
|
215
|
-
### Baseline-to-Result Pipeline
|
|
216
|
-
|
|
217
|
-
Profiler baseline metrics flow through the pipeline and must reach benchmarker for comparison:
|
|
218
|
-
1. PROFILE-001 produces `baseline-metrics.json` in artifacts/
|
|
219
|
-
2. Coordinator includes baseline reference in upstream context for all downstream workers
|
|
220
|
-
3. BENCH-001 reads baseline and compares against post-optimization measurements
|
|
221
|
-
4. If regression detected, coordinator auto-creates FIX task with regression details
|
|
222
|
-
|
|
223
|
-
## Completion Action
|
|
224
|
-
|
|
225
|
-
When the pipeline completes:
|
|
226
|
-
|
|
227
|
-
```
|
|
228
|
-
request_user_input({
|
|
229
|
-
questions: [{
|
|
230
|
-
question: "Team pipeline complete. What would you like to do?",
|
|
231
|
-
header: "Completion",
|
|
232
|
-
multiSelect: false,
|
|
233
|
-
options: [
|
|
234
|
-
{ label: "Archive & Clean (Recommended)", description: "Archive session, clean up tasks and team resources" },
|
|
235
|
-
{ label: "Keep Active", description: "Keep session active for follow-up work or inspection" },
|
|
236
|
-
{ label: "Export Results", description: "Export deliverables to a specified location, then clean" }
|
|
237
|
-
]
|
|
238
|
-
}]
|
|
239
|
-
})
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
## Specs Reference
|
|
243
|
-
|
|
244
|
-
- [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
|
|
245
|
-
- [specs/team-config.json](specs/team-config.json) — Team configuration
|
|
246
|
-
|
|
247
|
-
## Error Handling
|
|
248
|
-
|
|
249
|
-
| Scenario | Resolution |
|
|
250
|
-
|----------|------------|
|
|
251
|
-
| Unknown --role value | Error with role registry list |
|
|
252
|
-
| Role file not found | Error with expected path (roles/{name}/role.md) |
|
|
253
|
-
| Profiling tool not available | Fallback to static analysis methods |
|
|
254
|
-
| Benchmark regression detected | Auto-create FIX task with regression details |
|
|
255
|
-
| Review-fix cycle exceeds 3 iterations | Escalate to user |
|
|
256
|
-
| One branch IMPL fails | Mark that branch failed, other branches continue |
|
|
257
|
-
| Fast-advance conflict | Coordinator reconciles on next callback |
|
|
258
|
-
| Completion action fails | Default to Keep Active |
|
|
1
|
+
---
|
|
2
|
+
name: team-perf-opt
|
|
3
|
+
description: Unified team skill for performance optimization. Coordinator orchestrates pipeline, workers are team-worker agents. Supports single/fan-out/independent parallel modes. Triggers on "team perf-opt".
|
|
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(*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Team Performance Optimization
|
|
8
|
+
|
|
9
|
+
Profile application performance, identify bottlenecks, design optimization strategies, implement changes, benchmark improvements, and review code quality.
|
|
10
|
+
|
|
11
|
+
## Architecture
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Skill(skill="team-perf-opt", 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 v
|
|
29
|
+
[profiler] [strategist] [optimizer] [benchmarker] [reviewer]
|
|
30
|
+
(team-worker agents)
|
|
31
|
+
|
|
32
|
+
Pipeline (Single mode):
|
|
33
|
+
PROFILE-001 -> STRATEGY-001 -> IMPL-001 -> BENCH-001 + REVIEW-001 (fix cycle)
|
|
34
|
+
|
|
35
|
+
Pipeline (Fan-out mode):
|
|
36
|
+
PROFILE-001 -> STRATEGY-001 -> [IMPL-B01..N](parallel) -> BENCH+REVIEW per branch
|
|
37
|
+
|
|
38
|
+
Pipeline (Independent mode):
|
|
39
|
+
[Pipeline A: PROFILE-A->STRATEGY-A->IMPL-A->BENCH-A+REVIEW-A]
|
|
40
|
+
[Pipeline B: PROFILE-B->STRATEGY-B->IMPL-B->BENCH-B+REVIEW-B] (parallel)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Role Registry
|
|
44
|
+
|
|
45
|
+
| Role | Path | Prefix | Inner Loop |
|
|
46
|
+
|------|------|--------|------------|
|
|
47
|
+
| coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
|
|
48
|
+
| profiler | [roles/profiler/role.md](roles/profiler/role.md) | PROFILE-* | false |
|
|
49
|
+
| strategist | [roles/strategist/role.md](roles/strategist/role.md) | STRATEGY-* | false |
|
|
50
|
+
| optimizer | [roles/optimizer/role.md](roles/optimizer/role.md) | IMPL-*, FIX-* | true |
|
|
51
|
+
| benchmarker | [roles/benchmarker/role.md](roles/benchmarker/role.md) | BENCH-* | false |
|
|
52
|
+
| reviewer | [roles/reviewer/role.md](roles/reviewer/role.md) | REVIEW-*, QUALITY-* | false |
|
|
53
|
+
|
|
54
|
+
## Role Router
|
|
55
|
+
|
|
56
|
+
Parse `$ARGUMENTS`:
|
|
57
|
+
- Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
|
|
58
|
+
- No `--role` → `roles/coordinator/role.md`, execute entry router
|
|
59
|
+
|
|
60
|
+
## Delegation Lock
|
|
61
|
+
|
|
62
|
+
**Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
|
|
63
|
+
|
|
64
|
+
Before calling ANY tool, apply this check:
|
|
65
|
+
|
|
66
|
+
| Tool Call | Verdict | Reason |
|
|
67
|
+
|-----------|---------|--------|
|
|
68
|
+
| `spawn_agent`, `wait_agent`, `close_agent`, `send_message`, `assign_task` | ALLOWED | Orchestration |
|
|
69
|
+
| `list_agents` | ALLOWED | Agent health check |
|
|
70
|
+
| `request_user_input` | ALLOWED | User interaction |
|
|
71
|
+
| `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
|
|
72
|
+
| `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
|
|
73
|
+
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
74
|
+
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
75
|
+
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
76
|
+
| `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
|
|
77
|
+
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
78
|
+
|
|
79
|
+
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
80
|
+
|
|
81
|
+
**No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Shared Constants
|
|
86
|
+
|
|
87
|
+
- **Session prefix**: `PERF-OPT`
|
|
88
|
+
- **Session path**: `.workflow/.team/PERF-OPT-<slug>-<date>/`
|
|
89
|
+
- **Team name**: `perf-opt`
|
|
90
|
+
- **CLI tools**: `ccw cli --mode analysis` (read-only), `ccw cli --mode write` (modifications)
|
|
91
|
+
- **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
|
|
92
|
+
|
|
93
|
+
## Worker Spawn Template
|
|
94
|
+
|
|
95
|
+
Coordinator spawns workers using this template:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
spawn_agent({
|
|
99
|
+
agent_type: "team_worker",
|
|
100
|
+
task_name: "<task-id>",
|
|
101
|
+
fork_context: false,
|
|
102
|
+
items: [
|
|
103
|
+
{ type: "text", text: `## Role Assignment
|
|
104
|
+
role: <role>
|
|
105
|
+
role_spec: <skill_root>/roles/<role>/role.md
|
|
106
|
+
session: <session-folder>
|
|
107
|
+
session_id: <session-id>
|
|
108
|
+
requirement: <task-description>
|
|
109
|
+
inner_loop: <true|false>
|
|
110
|
+
|
|
111
|
+
Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.` },
|
|
112
|
+
|
|
113
|
+
{ type: "text", text: `## Task Context
|
|
114
|
+
task_id: <task-id>
|
|
115
|
+
title: <task-title>
|
|
116
|
+
description: <task-description>
|
|
117
|
+
pipeline_phase: <pipeline-phase>` },
|
|
118
|
+
|
|
119
|
+
{ type: "text", text: `## Upstream Context
|
|
120
|
+
<prev_context>` }
|
|
121
|
+
]
|
|
122
|
+
})
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
After spawning, use `wait_agent({ targets: [...], timeout_ms: 900000 })` to collect results, then `close_agent({ target })` each worker.
|
|
126
|
+
|
|
127
|
+
**Inner Loop roles** (optimizer): Set `inner_loop: true`.
|
|
128
|
+
**Single-task roles** (profiler, strategist, benchmarker, reviewer): Set `inner_loop: false`.
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
### Model Selection Guide
|
|
132
|
+
|
|
133
|
+
Performance optimization is measurement-driven. Profiler and benchmarker need consistent context for before/after comparison.
|
|
134
|
+
|
|
135
|
+
| Role | reasoning_effort | Rationale |
|
|
136
|
+
|------|-------------------|-----------|
|
|
137
|
+
| profiler | high | Must identify subtle bottlenecks from profiling data |
|
|
138
|
+
| strategist | high | Optimization strategy requires understanding tradeoffs |
|
|
139
|
+
| optimizer | high | Performance-critical code changes need precision |
|
|
140
|
+
| benchmarker | medium | Benchmark execution follows defined measurement plan |
|
|
141
|
+
| reviewer | high | Must verify optimizations don't introduce regressions |
|
|
142
|
+
|
|
143
|
+
### Benchmark Context Sharing with fork_context
|
|
144
|
+
|
|
145
|
+
For before/after comparison, benchmarker should share context with profiler's baseline:
|
|
146
|
+
```
|
|
147
|
+
spawn_agent({
|
|
148
|
+
agent_type: "team_worker",
|
|
149
|
+
task_name: "BENCH-001",
|
|
150
|
+
fork_context: true, // Share context so benchmarker sees profiler's baseline metrics
|
|
151
|
+
reasoning_effort: "medium",
|
|
152
|
+
items: [...]
|
|
153
|
+
})
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## User Commands
|
|
157
|
+
|
|
158
|
+
| Command | Action |
|
|
159
|
+
|---------|--------|
|
|
160
|
+
| `check` / `status` | Output execution status graph (branch-grouped), no advancement |
|
|
161
|
+
| `resume` / `continue` | Check worker states, advance next step |
|
|
162
|
+
| `revise <TASK-ID> [feedback]` | Create revision task + cascade downstream (scoped to branch) |
|
|
163
|
+
| `feedback <text>` | Analyze feedback impact, create targeted revision chain |
|
|
164
|
+
| `recheck` | Re-run quality check |
|
|
165
|
+
| `improve [dimension]` | Auto-improve weakest dimension |
|
|
166
|
+
|
|
167
|
+
## Session Directory
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
.workflow/.team/PERF-OPT-<slug>-<date>/
|
|
171
|
+
+-- session.json # Session metadata + status + parallel_mode
|
|
172
|
+
+-- artifacts/
|
|
173
|
+
| +-- baseline-metrics.json # Profiler: before-optimization metrics
|
|
174
|
+
| +-- bottleneck-report.md # Profiler: ranked bottleneck findings
|
|
175
|
+
| +-- optimization-plan.md # Strategist: prioritized optimization plan
|
|
176
|
+
| +-- benchmark-results.json # Benchmarker: after-optimization metrics
|
|
177
|
+
| +-- review-report.md # Reviewer: code review findings
|
|
178
|
+
| +-- branches/B01/... # Fan-out branch artifacts
|
|
179
|
+
| +-- pipelines/A/... # Independent pipeline artifacts
|
|
180
|
+
+-- explorations/ # Shared explore cache
|
|
181
|
+
+-- wisdom/patterns.md # Discovered patterns and conventions
|
|
182
|
+
+-- discussions/ # Discussion records
|
|
183
|
+
+-- .msg/messages.jsonl # Team message bus
|
|
184
|
+
+-- .msg/meta.json # Session metadata
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## v4 Agent Coordination
|
|
188
|
+
|
|
189
|
+
### Message Semantics
|
|
190
|
+
|
|
191
|
+
| Intent | API | Example |
|
|
192
|
+
|--------|-----|---------|
|
|
193
|
+
| Queue supplementary info (don't interrupt) | `send_message` | Send baseline metrics to running optimizer |
|
|
194
|
+
| Assign fix after benchmark regression | `assign_task` | Assign FIX task when benchmark shows regression |
|
|
195
|
+
| Check running agents | `list_agents` | Verify agent health during resume |
|
|
196
|
+
|
|
197
|
+
### Agent Health Check
|
|
198
|
+
|
|
199
|
+
Use `list_agents({})` in handleResume and handleComplete:
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
// Reconcile session state with actual running agents
|
|
203
|
+
const running = list_agents({})
|
|
204
|
+
// Compare with session.json active tasks
|
|
205
|
+
// Reset orphaned tasks (in_progress but agent gone) to pending
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Named Agent Targeting
|
|
209
|
+
|
|
210
|
+
Workers are spawned with `task_name: "<task-id>"` enabling direct addressing:
|
|
211
|
+
- `send_message({ target: "IMPL-001", items: [...] })` -- send strategy details to optimizer
|
|
212
|
+
- `assign_task({ target: "IMPL-001", items: [...] })` -- assign fix after benchmark regression
|
|
213
|
+
- `close_agent({ target: "BENCH-001" })` -- cleanup after benchmarking completes
|
|
214
|
+
|
|
215
|
+
### Baseline-to-Result Pipeline
|
|
216
|
+
|
|
217
|
+
Profiler baseline metrics flow through the pipeline and must reach benchmarker for comparison:
|
|
218
|
+
1. PROFILE-001 produces `baseline-metrics.json` in artifacts/
|
|
219
|
+
2. Coordinator includes baseline reference in upstream context for all downstream workers
|
|
220
|
+
3. BENCH-001 reads baseline and compares against post-optimization measurements
|
|
221
|
+
4. If regression detected, coordinator auto-creates FIX task with regression details
|
|
222
|
+
|
|
223
|
+
## Completion Action
|
|
224
|
+
|
|
225
|
+
When the pipeline completes:
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
functions.request_user_input({
|
|
229
|
+
questions: [{
|
|
230
|
+
question: "Team pipeline complete. What would you like to do?",
|
|
231
|
+
header: "Completion",
|
|
232
|
+
multiSelect: false,
|
|
233
|
+
options: [
|
|
234
|
+
{ label: "Archive & Clean (Recommended)", description: "Archive session, clean up tasks and team resources" },
|
|
235
|
+
{ label: "Keep Active", description: "Keep session active for follow-up work or inspection" },
|
|
236
|
+
{ label: "Export Results", description: "Export deliverables to a specified location, then clean" }
|
|
237
|
+
]
|
|
238
|
+
}]
|
|
239
|
+
})
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
## Specs Reference
|
|
243
|
+
|
|
244
|
+
- [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
|
|
245
|
+
- [specs/team-config.json](specs/team-config.json) — Team configuration
|
|
246
|
+
|
|
247
|
+
## Error Handling
|
|
248
|
+
|
|
249
|
+
| Scenario | Resolution |
|
|
250
|
+
|----------|------------|
|
|
251
|
+
| Unknown --role value | Error with role registry list |
|
|
252
|
+
| Role file not found | Error with expected path (roles/{name}/role.md) |
|
|
253
|
+
| Profiling tool not available | Fallback to static analysis methods |
|
|
254
|
+
| Benchmark regression detected | Auto-create FIX task with regression details |
|
|
255
|
+
| Review-fix cycle exceeds 3 iterations | Escalate to user |
|
|
256
|
+
| One branch IMPL fails | Mark that branch failed, other branches continue |
|
|
257
|
+
| Fast-advance conflict | Coordinator reconciles on next callback |
|
|
258
|
+
| Completion action fails | Default to Keep Active |
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"type": "orchestrator",
|
|
19
19
|
"description": "Orchestrates performance optimization pipeline, manages task chains, handles review-fix cycles",
|
|
20
20
|
"spec_path": "roles/coordinator/role.md",
|
|
21
|
-
"tools": ["Task", "TaskCreate", "TaskList", "TaskGet", "TaskUpdate", "TeamCreate", "TeamDelete", "SendMessage", "
|
|
21
|
+
"tools": ["Task", "TaskCreate", "TaskList", "TaskGet", "TaskUpdate", "TeamCreate", "TeamDelete", "SendMessage", "request_user_input", "Read", "Write", "Bash", "Glob", "Grep"]
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
"name": "profiler",
|