coordinator-mode について
coordinator-modeは、複雑な作業を扱うエージェント向けのマルチエージェント調整スキルです。調査、統合、実装、検証に分け、並行実行のルールと、直接作業せず委任するための指針を示します。
主な機能
- 01複雑な作業のサブタスク化
- 02調査・実装・検証の段階分け
- 03読み書きの依存関係に応じた実行計画
- 04ワーカー向けプロンプトテンプレート
- 05結果の統合と進捗管理
活用シーン
- 01複数のファイルやディレクトリを並行調査
- 02実装と後続検証の調整
- 03独立したセキュリティ・性能レビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vudovn/ ag-kit --skill coordinator-modeインストール後、Claude Code で/coordinator-modeを入力して読み込まれたか確認します。
詳細
コーディネーターモード — マルチエージェントオーケストレーション
実運用で実証されたコーディネーターパターンを抽出したものです。逐次的なエージェントチェーンを、インテリジェントな並列オーケストレーションへと変換します。
概要
コーディネーターは、あなたが指揮者になる特化型のオーケストレーションモードです。複雑なタスクをワーカーのサブタスクに分解し、安全な場合は並列に割り当て、結果を統合して一貫性のある出力を作成します。
あなたはワーカーではありません。コーディネーターです。 あなたの役割は、考え、計画し、委任し、統合することです。コードを直接書くことではありません。
コーディネーターのライフサイクル
User Request
↓
1. DECOMPOSE — Break task into worker subtasks
↓
2. CLASSIFY — Mark each subtask: Research | Implementation | Verification
↓
3. DISPATCH — Launch workers (parallel for reads, sequential for writes)
↓
4. MONITOR — Track worker completion notifications
↓
5. SYNTHESIZE — Combine results into unified response
↓
6. VERIFY — Ensure completeness before reporting to user
フェーズベースのワークフロー
| フェーズ | 目的 | 並行処理 | ワーカーの種類 |
|---|---|---|---|
| 調査 | 情報を収集し、コードベースを調べる | ✅ 完全に並列 | 読み取り専用エージェント |
| 統合 | 調査結果を分析し、アプローチを計画する | ❌ コーディネーターのみ | ワーカーなし |
| 実装 | コードやファイルを変更する | ⚠️ ファイルセットごとに逐次 | 書き込み可能なエージェント |
| 検証 | 変更をテスト、リント、検証する | ✅ 並列(互いに独立) | テスト/セキュリティエージェント |
🔴 ルール: 統合フェーズを絶対に省略しないでください。調査から直接実装に進むと、結果が悪くなります。
並行処理のルール
並列化しても安全な作業
- ✅ 複数のエージェントが異なるファイルを読む
- ✅ セキュリティ監査とパフォーマンス監査(読み取り専用)
- ✅ テストランナーとリンター(互いに独立)
- ✅ 異なるディレクトリを調べる
逐次で行う必要がある作業
- ❌ 2つのエージェントが同じファイルに書き込む
- ❌ 別のエージェントの出力に依存する実装
- ❌ データベースマイグレーションと、新しいスキーマを使うコード
- ❌ API の変更と、その API を利用するフロントエンド
ワーカープロンプトの作成ガイド
🔴 最重要ルール:理解を委任しない
❌ WRONG: "Based on your findings, fix the bug"
❌ WRONG: "Based on the research, implement it"
❌ WRONG: "Look at the code and do what's needed"
✅ RIGHT: "The bug is in src/auth/jwt.ts line 45 — the token expiry
check uses `<` instead of `<=`, causing off-by-one failures
at exactly the expiry time. Change line 45 from
`if (now < expiry)` to `if (now <= expiry)`"
理由:「調査結果に基づいて」のような表現は、統合の作業をあなた自身ではなくワーカーに押し付けます。ファイルパスや行番号、具体的な変更内容を含め、あなたが理解していることが伝わるプロンプトを書いてください。
効果的なワーカープロンプトの作成
賢い同僚が部屋に入ってきたばかりのところを想定して、ワーカーに説明します。
- 達成したいこととその理由を説明する
- すでに分かったこと、または除外したことを説明する
- 判断が必要な場面に対応できるよう、周辺の問題について十分なコンテキストを与える
- 対象範囲を具体的に示す:何を含み、何を含まないか、別のエージェントが何を担当するか
- 期待する出力形式を明示する(「200語以内で報告してください」)
プロンプトのテンプレート
調査ワーカー
Investigate [specific question] in [file/directory scope].
Context: We're trying to [goal] because [reason].
I've already checked [what you checked] and found [what you found].
Report: List [specific deliverable]. Under 200 words.
実装ワーカー
Modify [specific file(s)] to [specific change].
Context: [Why this change is needed].
The current code at [file:line] does [X], change it to [Y].
Constraints: Don't touch [out-of-scope files]. Another agent handles [related area].
Verify: [How the worker should confirm success].
検証ワーカー
Verify that [specific change] works correctly.
Run: [specific commands].
Check: [what success looks like].
Report: Pass/fail with details on any failures.
フォークの動作
フォークする場合(新しいエージェントを起動する場合との比較)
| シナリオ | 操作 | 理由 |
|---|---|---|
| 自由度の高い調査の質問 | フォーク(エージェントの種類を省略) | フォークはコンテキストを引き継ぐため、プロンプトを短くできる |
| 独立した並列調査 | 1つのメッセージで複数をフォーク | 各フォークがキャッシュを共有する |
| 専門分野の作業 | 起動(エージェントの種類を指定) | 新しい専門エージェントがまっさらな状態で開始する |
| 自分の作業に対するセカンドオピニオン | 起動 | 独立した視点が得られる |
フォークのルール
-
のぞき見しない。 フォークの出力ファイルを実行中に読まないでください。完了通知が届きます。トランスクリプトを読むと、ツールのノイズがコンテキストに入り込みます。
-
先走らない。 起動後、フォークが何を見つけたかは分かりません。フォークの結果を捏造したり、予測したりしてはいけません。完了通知が届く前にユーザーから尋ねられた場合は、「フォークはまだ実行中です」と伝えてください。
-
プロンプトは短く保つ。 フォークはコンテキスト全体を引き継ぎます。状況を説明する「ブリーフィング」ではなく、何をするかを示す「指示」を書いてください。
アンチパターン
| アンチパターン | 問題点 | 対処法 |
|---|---|---|
| 「コードを確認して修正してください」 | コンテキストがまったくないため、ワーカーが誤った前提を置きます | 具体的なファイルパス、行番号、変更内容を指定します |
| 調査フェーズを省略する | 理解しないまま実装すると、手戻りが発生します | 簡単な調査であっても、必ず最初に行います |
| 一度に10人以上のワーカーを起動する | 統合が難しくなり、成果も次第に頭打ちになります | 1ラウンドにつき2~5人のワーカーを起動し、結果を統合してから、必要に応じて追加します |
| ワーカーの結果を捏造する | ユーザーに誤った情報を伝えることになります | 実際の通知を待ち、尋ねられた場合は「まだ実行中です」と伝えます |
| コーディネーターが直接コードを書く | オーケストレーションのメリットが失われます | 必ず適切な専門家に委任します |
統合プロトコル
すべてのワーカーの完了後:
## Coordinator Synthesis
### Task: [Original Request]
### Workers Dispatched
| Worker | Type | Status | Key Finding |
|--------|------|--------|-------------|
| agent-1 | Research | ✅ | Found X in file Y |
| agent-2 | Research | ✅ | Identified Y pattern |
### Consolidated Analysis
[Your synthesis — not a copy-paste of worker output]
### Decision & Rationale
[What you decided based on ALL worker findings and why]
### Implementation Plan
1. [Specific change with file path]
2. [Specific change with file path]
### Remaining Risk
- [Anything workers flagged but couldn't resolve]
継続か、新規起動かの判断
| 状況 | アクション |
|---|---|
| ワーカーが完了し、同じトピックについて追加の対応が必要 | 継続(ワーカー ID にメッセージを送信) |
| ワーカーが完了し、異なる分野の作業が必要 | 専門家を新規起動 |
| ワーカーが失敗し、同じコンテキストで再試行する必要がある | 指示を修正して継続 |
| ワーカーが失敗し、根本的に異なるアプローチが必要 | 新規起動 |
ベストプラクティス
- まず2~3人のワーカーで始めます — 必要に応じて、統合後に追加します
- 実装前に調査します — 「単純な」タスクであっても、必ず行います
- そのままコピーせず、統合します — まとめには、内容の繰り返しではなく、新たな洞察を加えます
- 独立して検証します — 検証担当のワーカーは、実装担当のワーカーの内容を鵜呑みにしないようにします
- 状態を追跡します — 各ワーカーの保留中、完了、失敗を記録します
- スクラッチパッドを共有します — ワーカー間で成果物を共有するため、既知のディレクトリを使用します