| name | team-perf-opt |
| disable-model-invocation | true |
| 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". |
| allowed-tools | ["Bash","Edit","Glob","Grep","Read","Write","followup_task","interrupt_agent","list_agents","mcp__maestro__team_msg","request_user_input","send_message","spawn_agent","spawn_agents_on_csv","update_plan","wait_agent"] |
| session-mode | run |
| version | 0.5.83 |
| contract | {"discovery":"self-described","consumes":[],"produces":[],"gates":{"entry":[],"exit":[]}} |
Agent timeout: spawn_agent 异步执行且无内置超时 — 除明确短任务外一律 spawn_agent 后立即 wait_agent({ timeout_ms: 3600000 })(上限 1 小时)阻塞等待,绝不依赖 30000 默认值;timed_out: true 且 Agent 未完成时再次 wait_agent 续等,不丢弃。批量场景使用 spawn_agents_on_csv({ max_runtime_seconds: 3600, ... })。
<required_reading>
@~/.maestro/workflows/run-mode-lite.md
</required_reading>
Team Performance Optimization
Profile application performance, identify bottlenecks, design optimization strategies, implement changes, benchmark improvements, and review code quality.
Architecture
spawn_agent({ task_name: "team_perf_opt", message: "Execute skill team-perf-opt, args: <task-description>" })
|
SKILL.md (this file) = Router
|
+--------------+--------------+
| |
no --role flag --role <name>
| |
Coordinator Worker
roles/coordinator/role.md roles/<name>/role.md
|
+-- analyze -> dispatch -> spawn workers -> STOP
|
+-------+-------+-------+-------+-------+
v v v v v
[profiler] [strategist] [optimizer] [benchmarker] [reviewer]
(team-worker agents)
Pipeline (Single mode):
PROFILE-001 -> STRATEGY-001 -> IMPL-001 -> BENCH-001 + REVIEW-001 (fix cycle)
Pipeline (Fan-out mode):
PROFILE-001 -> STRATEGY-001 -> [IMPL-B01..N](parallel) -> BENCH+REVIEW per branch
Pipeline (Independent mode):
[Pipeline A: PROFILE-A->STRATEGY-A->IMPL-A->BENCH-A+REVIEW-A]
[Pipeline B: PROFILE-B->STRATEGY-B->IMPL-B->BENCH-B+REVIEW-B] (parallel)
Role Registry
Pre-load (coordinator, before dispatch)
- Codebase docs: If
.workflow/codebase/ARCHITECTURE.md exists, read for module boundaries
- Specs (coding):
maestro load --type spec --category coding — load coding constraints as shared context
- Wiki knowledge:
maestro search "performance optimization profiling" --json — top 5 entries as prior context
- All optional — proceed without if unavailable
Role Router
Parse $ARGUMENTS:
- Has
--role <name> → Read roles/<name>/role.md, execute Phase 2-4
- No
--role → @roles/coordinator/role.md, execute entry router
Shared Constants
- Session prefix:
PERF-OPT
- Session path:
{run_dir}/work/team/
- Team name:
perf-opt
- CLI tools:
maestro delegate --mode analysis (read-only), maestro delegate --mode write (modifications)
- Message bus:
mcp__maestro__team_msg(session_id=<run-id>, ...)
Worker Spawn Template
Coordinator spawns workers using this template:
spawn_agent({
subagent_type: "team-worker",
description: "Spawn <role> worker",
team_name: "perf-opt",
name: "<role>",
run_in_background: true,
prompt: `## Role Assignment
role: <role>
role_spec: <skill_root>/roles/<role>/role.md
session: {run_dir}/work/team
session_id: <run-id>
team_name: perf-opt
requirement: <task-description>
inner_loop: <true|false>
## Progress Milestones
session_id: <run-id>
Report progress via team_msg at natural phase boundaries (context loaded -> core work done -> verification).
Report blockers immediately via team_msg type="blocker".
Report completion via team_msg type="task_complete" after final send_message.
Read role_spec file (@<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).`
})
Inner Loop roles (optimizer): Set inner_loop dynamically — true for single mode, false for fan-out/independent (parallel branches).
Single-task roles (profiler, strategist, benchmarker, reviewer): Set inner_loop: false.
User Commands
| Command | Action |
|---|
check / status | Output execution status graph (branch-grouped), no advancement |
resume / continue | Check worker states, advance next step |
revise <TASK-ID> [feedback] | Create revision task + cascade downstream (scoped to branch) |
feedback <text> | Analyze feedback impact, create targeted revision chain |
recheck | Re-run quality check |
improve [dimension] | Auto-improve weakest dimension |
Session Directory
{run_dir}/work/team/
+-- team-session.json # Session metadata + status + parallel_mode
+-- {run_dir}/outputs/ # Run deliverables (via maestro run)
| +-- baseline-metrics.json # Profiler: before-optimization metrics
| +-- bottleneck-report.md # Profiler: ranked bottleneck findings
| +-- optimization-plan.md # Strategist: prioritized optimization plan
| +-- benchmark-results.json # Benchmarker: after-optimization metrics
| +-- review-report.md # Reviewer: code review findings
| +-- branches/B01/... # Fan-out branch artifacts
| +-- pipelines/A/... # Independent pipeline artifacts
+-- explorations/ # Shared explore cache
+-- wisdom/patterns.md # Discovered patterns and conventions
+-- {run_dir}/evidence/discussions/ # Discussion records
+-- .msg/messages.jsonl # Team message bus
+-- .msg/meta.json # Session metadata
Completion Action
When the pipeline completes:
request_user_input({
questions: [{
question: "Team pipeline complete. What would you like to do?",
header: "Completion",
multiSelect: false,
options: [
{ label: "Archive & Clean (Recommended)", description: "Archive session, clean up tasks and team resources" },
{ label: "Keep Active", description: "Keep session active for follow-up work or inspection" },
{ label: "Export Results", description: "Export deliverables to a specified location, then clean" }
]
}]
})
Specs Reference
Error Handling
| Scenario | Resolution |
|---|
| Unknown --role value | Error with role registry list |
| Role file not found | Error with expected path (roles/{name}/role.md) |
| Profiling tool not available | Fallback to static analysis methods |
| Benchmark regression detected | Auto-create FIX task with regression details |
| Review-fix cycle exceeds 3 iterations | Escalate to user |
| One branch IMPL fails | Mark that branch failed, other branches continue |
| Fast-advance conflict | Coordinator reconciles on next callback |
| Completion action fails | Default to Keep Active |