team-perf-opt について
team-perf-optは、アプリケーションの性能を分析・改善する開発チーム向けのマルチロール型ワークフロースキルです。ボトルネック分析から方針策定、実装、ベンチマーク、コードレビューまでを連携させます。
主な機能
- 01マルチロールの最適化ワークフロー
- 02ボトルネック分析と方針策定
- 03最適化と修正の実装
- 04変更前後のベンチマーク
- 05コード品質レビュー
活用シーン
- 01アプリケーションの性能ボトルネック特定
- 02性能改善の計画と実施
- 03最適化後のベンチマーク確認
- 04最適化コードの品質レビュー
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ catlog22/ claude-code-workflow --skill team-perf-optインストール後、Claude Code で/team-perf-optを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
roles/benchmarker/role.mdroles/coordinator/role.mdroles/coordinator/commands/analyze.mddispatch.mdmonitor.mdroles/optimizer/role.mdroles/profiler/role.mdroles/reviewer/role.mdroles/strategist/role.mdspecs/pipelines.mdteam-config.json詳細
チームパフォーマンスの最適化
アプリケーションのパフォーマンスをプロファイリングし、ボトルネックを特定し、最適化戦略を設計して変更を実装し、改善をベンチマークしてコード品質をレビューします。
アーキテクチャ
Skill(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)
ロールレジストリ
| ロール | パス | プレフィックス | 内部ループ |
|---|---|---|---|
| coordinator | roles/coordinator/role.md | — | — |
| profiler | roles/profiler/role.md | PROFILE-* | false |
| strategist | roles/strategist/role.md | STRATEGY-* | false |
| optimizer | roles/optimizer/role.md | IMPL-, FIX- | true |
| benchmarker | roles/benchmarker/role.md | BENCH-* | false |
| reviewer | roles/reviewer/role.md | REVIEW-, QUALITY- | false |
ロールルーター
$ARGUMENTS を解析します:
--role <name>がある場合 →roles/<name>/role.mdを読み込み、Phase 2-4 を実行します--roleがない場合 →@roles/coordinator/role.mdを実行し、エントリールーターを実行します
共通定数
- セッションプレフィックス:
PERF-OPT - セッションパス:
.workflow/.team/PERF-OPT-<slug>-<date>/ - チーム名:
perf-opt - CLI ツール:
ccw cli --mode analysis(読み取り専用)、ccw cli --mode write(変更用) - メッセージバス:
mcp__ccw-tools__team_msg(session_id=<session-id>, ...)
ワーカー起動テンプレート
コーディネーターは、このテンプレートを使用してワーカーを起動します。
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: <session-folder>
session_id: <session-id>
team_name: perf-opt
requirement: <task-description>
inner_loop: <true|false>
## Progress Milestones
session_id: <session-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 SendMessage.
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).`
})
内部ループのロール(optimizer):inner_loop は状況に応じて設定します。単一モードでは true、ファンアウト/独立(並列ブランチ)では false に設定します。
単一タスクのロール(profiler、strategist、benchmarker、reviewer):inner_loop: false に設定します。
ユーザーコマンド
| コマンド | アクション |
|---|---|
check / status | 実行ステータスのグラフ(ブランチごとにグループ化)を出力します。処理は進めません |
resume / continue | ワーカーの状態を確認し、次のステップに進みます |
revise <TASK-ID> [feedback] | 修正タスクを作成し、後続タスクに連鎖させます(ブランチの範囲内) |
feedback <text> | フィードバックの影響を分析し、対象を絞った修正チェーンを作成します |
recheck | 品質チェックを再実行します |
improve [dimension] | 最も弱い項目を自動的に改善します |
セッションディレクトリ
.workflow/.team/PERF-OPT-<slug>-<date>/
+-- session.json # Session metadata + status + parallel_mode
+-- artifacts/
| +-- 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
+-- discussions/ # Discussion records
+-- .msg/messages.jsonl # Team message bus
+-- .msg/meta.json # Session metadata
完了時のアクション
パイプラインが完了したら:
AskUserQuestion({
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/pipelines.md — パイプライン定義とタスクレジストリ
- specs/team-config.json — チーム設定
エラー処理
| シナリオ | 解決方法 |
|---|---|
| 不明な --role 値 | ロールレジストリの一覧を含むエラーを表示します |
| ロールファイルが見つからない | 想定されるパス(roles/{name}/role.md)を含むエラーを表示します |
| プロファイリングツールが利用できない | 静的解析手法に切り替えます |
| ベンチマークの性能低下を検出 | 性能低下の詳細を含む FIX タスクを自動作成します |
| レビューと修正のサイクルが3回を超える | ユーザーにエスカレーションします |
| 1つのブランチで IMPL が失敗 | そのブランチを失敗としてマークし、他のブランチは続行します |
| 早期進行の競合 | コーディネーターが次のコールバック時に調整します |
| 完了時のアクションが失敗 | デフォルトで「アクティブのまま」にします |
コメント
Markdown 対応