Create Orchestrator Agent
オーケストレーターフローで使用するエージェント定義ファイルを作成するスキル。
ワークフロー
1. ターゲットツール確認 → Claude Code / Copilot / Codex 1.5. 並列レーン数確認 → Copilot のみ、1〜4レーン(デフォルト: 1) 2. エージェント選択 → カタログから必要なものを選ぶ 3. テンプレート参照 → 個別ファイルから詳細を確認 4. ツール別の調整 → 操作名をツール固有の形式に変換 5. エージェント定義の生成 → 適切なディレクトリに配置 6. テンプレートの配置 → .orchestrator/templates/ にコピー
Step 1: ターゲットツール確認
まずどのツール向けかを確認:
| ツール | 形式 | 配置先 | サブエージェント呼び出し |
|---|---|---|---|
| Claude Code | YAML + Markdown | .claude/agents/ | Task ツール |
| GitHub Copilot | YAML + Markdown | .github/agents/ | #tool:agent/runSubagent (agentName指定) |
| OpenAI Codex | 純粋 Markdown | AGENTS.md | 別ファイル参照 |
フォーマット詳細:
Step 1.5: 並列レーン数確認(Copilot のみ)
ターゲットが GitHub Copilot の場合、並列レーン数を確認する。Claude Code / Codex の場合はこのステップをスキップ。
背景
Copilot では同名のサブエージェントを同時に複数起動できない。Phase 2 で独立したタスクを並列実行するには、実行系エージェントの複製が必要。
確認事項
ユーザーに並列レーン数(1〜4)を確認:
| レーン数 | 説明 | 生成されるエージェント |
|---|---|---|
| 1(デフォルト) | 逐次実行、複製なし | 通常の1セットのみ |
| 2 | 2タスク並列 | 各実行エージェントに -a, -b サフィックス |
| 3 | 3タスク並列 | 各実行エージェントに -a, -b, -c サフィックス |
| 4 | 4タスク並列 | 各実行エージェントに -a, -b, -c, -d サフィックス |
複製対象エージェント
以下の6種類のみ複製する(制御系・計画系・Git系は複製しない):
| エージェント | 理由 |
|---|---|
| Implementer | タスクごとに独立した実装 |
| Test Runner | タスク単位のテスト実行 |
| Linter | タスク単位のLint実行 |
| Code Reviewer | タスク単位のレビュー |
| Debugger | タスク単位のデバッグ |
| Refactorer | タスク単位のリファクタリング |
複製ルール
- •ファイル名:
{agent-name}-{suffix}.agent.md(例:implementer-a.agent.md) - •フロントマターの
name:を{agent-name}-{suffix}に変更(例:name: implementer-a) - •本文中の自己参照名を更新(例: 「あなたは implementer-a エージェントです」)
- •それ以外の内容(指示、tools、description 等)は元のエージェントと同一
- •レーン数が1の場合はサフィックスなしの通常エージェントのみ生成(現行動作)
Step 2: エージェント選択
agent-catalog.md を参照し、必要なエージェントを選択。
プリセット
| プリセット | エージェント | 用途 |
|---|---|---|
| Minimal | Orchestrator, Planner, Implementer | 最小限 |
| Standard | + Explorer, Test Runner, Linter, Committer | 一般的 |
| Full | 全14種類 | フル機能 |
個別選択
制御: Orchestrator, Orchestrator Copilot版
計画: Explorer, Planner, Plan Reviewer
実装: Implementer, Task Manager, Task Manager Copilot版
検証: Code Reviewer, Test Runner, Linter, Security Scanner
修正: Debugger, Refactorer
Git: Committer, PR Creator
モデル選択
各エージェントには推奨モデルが設定されている:
| クラス | 記号 | エージェント | 用途 |
|---|---|---|---|
| 🧠 高性能 | opus相当 | Orchestrator, Planner, Plan Reviewer, Code Reviewer, Debugger | 判断・設計・レビュー |
| ⚡ 中程度 | sonnet相当 | Explorer, Implementer, Refactorer, Security Scanner | 分析・コード生成 |
| 💨 軽量 | haiku相当 | Test Runner, Linter, Committer, PR Creator | 定型作業・コマンド実行 |
詳細は agent-catalog.md の「モデル選択ガイド」を参照。
Step 3: テンプレート参照
各テンプレートには以下が含まれる:
- •エージェント定義(フロントマター + 本文)
- •実行手順
- •必要な操作(汎用的な表現)
- •入出力形式
- •完了条件
Step 4: ツール別の調整
テンプレートの「必要な操作」をターゲットツールの形式に変換する。
詳細は tool-mapping.md を参照:
- •汎用操作名 → ツール固有名の対応表
- •サブエージェント呼び出しの変換方法
- •エージェント別の使用操作一覧
Step 5: エージェント定義の生成
配置先
| ツール | ディレクトリ |
|---|---|
| Claude Code | plugins/.../agents/{name}.md または .claude/agents/{name}.md |
| Copilot | .github/agents/{name}.agent.md |
| Codex | {name}/AGENTS.md または ルート追記 |
並列レーン対応(Copilot、レーン数 > 1 の場合)
Step 1.5 で指定されたレーン数に応じて、複製対象の各エージェントを N 個生成する。
例: レーン数 = 2 の場合
- •
implementer-a.agent.md,implementer-b.agent.md - •
test-runner-a.agent.md,test-runner-b.agent.md - •
linter-a.agent.md,linter-b.agent.md - •
code-reviewer-a.agent.md,code-reviewer-b.agent.md - •
debugger-a.agent.md,debugger-b.agent.md - •
refactorer-a.agent.md,refactorer-b.agent.md
各ファイルの内容は、name: フィールドと自己参照名のみ異なり、残りは元テンプレートと同一。
エージェント間の結果受け渡し
各エージェントはセッションフォルダ内の所定パスに結果を書き出す。Orchestrator はファイル内容をプロンプトに含めず、パスだけを渡す。各エージェントが自分で Read する。
.orchestrator/
├── templates/ # 共通テンプレート(セッション外)
├── {連番}-{feature名}/ # セッションフォルダ(例: 0001-user-auth)
│ ├── explorer/
│ │ └── result.md
│ ├── planner/
│ │ ├── plan.md
│ │ └── tasks.md
│ ├── plan-reviewer/
│ │ ├── review-1.md # ラウンドごとに連番
│ │ └── review-2.md
│ ├── task-{id}/ # Phase 2: タスク単位
│ │ ├── implementer/
│ │ │ └── result-{round}.md
│ │ ├── test-runner/
│ │ │ └── result-{round}.md
│ │ ├── linter/
│ │ │ └── result-{round}.md
│ │ ├── code-reviewer/
│ │ │ └── review-{round}.md
│ │ ├── refactorer/
│ │ │ └── result-{round}.md
│ │ ├── debugger/
│ │ │ └── report-{round}.md
│ │ └── task-manager/
│ │ └── lifecycle.md
│ ├── test-runner/ # Phase 3: セッション全体検証
│ │ └── result-{round}.md
│ ├── linter/
│ │ └── result-{round}.md
│ ├── debugger/
│ │ └── report-{round}.md
│ ├── security-scanner/
│ │ └── result.md
│ ├── committer/ # Phase 4: Git
│ │ └── result.md
│ └── pr-creator/
│ └── result.md
Step 6: テンプレートの配置(必須)
エージェントはランタイムで .orchestrator/templates/ 内のテンプレートを Read して出力フォーマットを決定する。
このステップを省略するとエージェントが正しく動作しない。必ず全ファイルをコピーすること。
まず出力先ディレクトリを作成:
mkdir -p .orchestrator/templates mkdir -p .orchestrator/scripts
次に、以下の7ファイルを 1つずつ Read → Write でコピーする:
| # | Read 対象(このスキルの参照ファイル) | Write 先 |
|---|---|---|
| 1 | exploration-result.md | .orchestrator/templates/exploration-result.md |
| 2 | implementation-plan.md | .orchestrator/templates/implementation-plan.md |
| 3 | code-review-result.md | .orchestrator/templates/code-review-result.md |
| 4 | test-result.md | .orchestrator/templates/test-result.md |
| 5 | plan-review-result.md | .orchestrator/templates/plan-review-result.md |
| 6 | task-lifecycle-result.md | .orchestrator/templates/task-lifecycle-result.md |
| 7 | tasks.md | .orchestrator/templates/tasks.md |
手順: 各行について Read ツールでファイル内容を取得し、Write ツールで Write 先に書き出す。内容は一切変更しない。
スクリプトの配置
セッション初期化スクリプトを Read → Write でコピーする:
| # | Read 対象(このスキルの参照ファイル) | Write 先 |
|---|---|---|
| 1 | init-session.sh | .orchestrator/scripts/init-session.sh |
| 2 | init-task.sh | .orchestrator/scripts/init-task.sh |
コピー後、実行権限を付与:
chmod +x .orchestrator/scripts/init-session.sh .orchestrator/scripts/init-task.sh
生成後チェックリスト
- •
.orchestrator/templates/に7ファイルが配置されている - •
.orchestrator/scripts/init-session.shとinit-task.shが配置されている - • ターゲットツールの形式に従っている
- • description にトリガー条件が含まれている
- • model が適切に設定されている(🧠/⚡/💨)
- • 操作がツール固有の形式に変換されている
- • サブエージェント呼び出しが正しい形式
- • 入出力フォーマットが一貫している
- • Copilot + 並列レーン時: 複製エージェントファイルが正しい数だけ生成されている
- • 複製エージェントの
name:フィールドにサフィックスが付与されている