AgentSkillsCN

create-orchestrator-agent

为编排流程创建代理定义文件,支持 Claude Code、GitHub Copilot 和 OpenAI Codex 各种格式。用户可从 13 种代理模板中灵活挑选所需模板进行创建,同时采用不依赖于特定工具的通用指令表达形式,适用于“创建代理”、“向编排器添加代理”等各类请求场景。

SKILL.md
--- frontmatter
name: create-orchestrator-agent
description: "オーケストレーターフロー用のエージェント定義ファイルを作成。Claude Code、GitHub Copilot、OpenAI Codex の各フォーマットに対応。13種類のエージェントテンプレートから必要なものだけを選択して作成可能。ツール非依存の汎用的な指示形式。「エージェント作成」「オーケストレーターにエージェント追加」などのリクエスト時に使用。"

Create Orchestrator Agent

オーケストレーターフローで使用するエージェント定義ファイルを作成するスキル。

ワークフロー

code
1. ターゲットツール確認 → Claude Code / Copilot / Codex
1.5. 並列レーン数確認 → Copilot のみ、1〜4レーン(デフォルト: 1)
2. エージェント選択 → カタログから必要なものを選ぶ
3. テンプレート参照 → 個別ファイルから詳細を確認
4. ツール別の調整 → 操作名をツール固有の形式に変換
5. エージェント定義の生成 → 適切なディレクトリに配置
6. テンプレートの配置 → .orchestrator/templates/ にコピー

Step 1: ターゲットツール確認

まずどのツール向けかを確認:

ツール形式配置先サブエージェント呼び出し
Claude CodeYAML + Markdown.claude/agents/Task ツール
GitHub CopilotYAML + Markdown.github/agents/#tool:agent/runSubagent (agentName指定)
OpenAI Codex純粋 MarkdownAGENTS.md別ファイル参照

フォーマット詳細:

Step 1.5: 並列レーン数確認(Copilot のみ)

ターゲットが GitHub Copilot の場合、並列レーン数を確認する。Claude Code / Codex の場合はこのステップをスキップ。

背景

Copilot では同名のサブエージェントを同時に複数起動できない。Phase 2 で独立したタスクを並列実行するには、実行系エージェントの複製が必要。

確認事項

ユーザーに並列レーン数(1〜4)を確認:

レーン数説明生成されるエージェント
1(デフォルト)逐次実行、複製なし通常の1セットのみ
22タスク並列各実行エージェントに -a, -b サフィックス
33タスク並列各実行エージェントに -a, -b, -c サフィックス
44タスク並列各実行エージェントに -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 を参照し、必要なエージェントを選択。

プリセット

プリセットエージェント用途
MinimalOrchestrator, 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 Codeplugins/.../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 する。

code
.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 して出力フォーマットを決定する。 このステップを省略するとエージェントが正しく動作しない。必ず全ファイルをコピーすること。

まず出力先ディレクトリを作成:

bash
mkdir -p .orchestrator/templates
mkdir -p .orchestrator/scripts

次に、以下の7ファイルを 1つずつ Read → Write でコピーする:

#Read 対象(このスキルの参照ファイル)Write 先
1exploration-result.md.orchestrator/templates/exploration-result.md
2implementation-plan.md.orchestrator/templates/implementation-plan.md
3code-review-result.md.orchestrator/templates/code-review-result.md
4test-result.md.orchestrator/templates/test-result.md
5plan-review-result.md.orchestrator/templates/plan-review-result.md
6task-lifecycle-result.md.orchestrator/templates/task-lifecycle-result.md
7tasks.md.orchestrator/templates/tasks.md

手順: 各行について Read ツールでファイル内容を取得し、Write ツールで Write 先に書き出す。内容は一切変更しない。

スクリプトの配置

セッション初期化スクリプトを Read → Write でコピーする:

#Read 対象(このスキルの参照ファイル)Write 先
1init-session.sh.orchestrator/scripts/init-session.sh
2init-task.sh.orchestrator/scripts/init-task.sh

コピー後、実行権限を付与:

bash
chmod +x .orchestrator/scripts/init-session.sh .orchestrator/scripts/init-task.sh

生成後チェックリスト

  • .orchestrator/templates/ に7ファイルが配置されている
  • .orchestrator/scripts/init-session.shinit-task.sh が配置されている
  • ターゲットツールの形式に従っている
  • description にトリガー条件が含まれている
  • model が適切に設定されている(🧠/⚡/💨)
  • 操作がツール固有の形式に変換されている
  • サブエージェント呼び出しが正しい形式
  • 入出力フォーマットが一貫している
  • Copilot + 並列レーン時: 複製エージェントファイルが正しい数だけ生成されている
  • 複製エージェントの name: フィールドにサフィックスが付与されている