Status: Specification(v1) 親: #710 サブエージェント委譲プロトコルをPlanGate運用に組み込む 本ファイルが対応する子 Issue: #711(配置 ADR) 併設ファイルが対応する子 Issue: #712〜#716(§4 索引を参照)
PlanGate でオーケストレータがサブエージェント(会話履歴を持たない別セッションの Agent)へ調査・レビュー・実装を委譲する際の標準プロトコルの入口。本ファイルは ①配置 ADR(なぜここに置くか)、②オーケストレータ責務の定義、③本ディレクトリ内 各ファイルへの索引の 3 点を担う。個々の契約・テンプレート本体は各ファイルの正本 に譲る(本 README で二重定義しない)。
OUTCOME を安定判定できるようにする対象の考え方は、メインセッションをオーケストレータに限定し、重い調査・レビュー・ 実装は適切なモデルのサブエージェントへ委譲する運用である(Fable 的な振る舞い= 結論先行・即行動・進捗の実証・スコープ規律・要判断事項の明示、を標準作法として 組み込む)。
正本を docs/ai/subagent-delegation/(本ディレクトリ)に置く。子 Issue 1 件 =
1 ファイルの粒度で構成する。
docs/ai/ は project-rules.md B 節・G 節で「共通ルール・
役割分担の正本置き場」と明記された確立済みの場所で、既に adapters/ /
contracts/ というトピック別サブディレクトリ grouping の先例がある
(subagent-delegation/ を 1 トピック = 複数ファイルでまとめる体裁に前例あり)。docs/ 配下は ho-change-workflow.md で「原則 HO
対象外」と明記され、AI が直接作成・iterate 可能。EPIC 全体(#712〜#716 の複数
ファイル)を apply-script 経由にせず直接編集できる(.claude/rules/*.md 案では
全ファイル追加が毎回 dry-run apply になり iteration コストが激増する)。.claude/rules/(=強制対象 Gate の正本層。例: orchestrator-mode)
や .claude/skills/(=実行手順の呼出単位)ではなく docs/ai/ の正本層が最も
適合する。docs/ai/ 方式が最も容易で、model-profiles.md
(モデル振り分けの既存正本)とも隣接して接続しやすい。project-rules.md §G(非 HO・Claude / Codex 両
entry point が継承する参照先 SSOT)に 1 行追加すれば両ツールから辿れ、
README.md 主要ドキュメント表(非 HO)にも追記可能で reachability を満たす。| 候補 | 内容 | 採否 |
|---|---|---|
A. docs/ai/subagent-delegation/ |
非 HO・既存サブディレクトリ grouping 先例あり・project-rules.md §G / README / model-profiles と接続容易・EPIC 全体を直接 iterate 可 |
採用 |
B. .claude/skills/subagent-delegation/ |
非 HO だが既存 subagent-driven-development / subagent-dispatch / codex-multi-agent と同層で密集し混乱を招く。.agents/ / .codex/ / plugin/ へのミラー同期負担も発生。正本(OUTCOME 契約 / 行動規範)を手順層に置くのは正本責務境界と不整合 |
不採用(将来「派遣プロンプト生成の薄い実行入口 skill」を additive に追加する余地はあり) |
C. .claude/rules/subagent-delegation.md |
.claude/rules/*.md は HO パスで全ファイル追加が毎回 apply-script(dry-run)経由になり EPIC の iteration が事実上不能。現段階で Hook 強制力もない。既存 6 ルールに詳細仕様(8 要素 / サンプル / OUTCOME 契約)を入れると肥大化する |
不採用(参照導線 1 行のみ HO として張るのは妥当。正本本体は置かない) |
同名・同一責務の直接衝突は 無し(docs/ai/subagent-delegation/ は新規、既存に
該当ファイルなし)。ただし整合(棲み分け明記)が必要な隣接資産が 4 つある。§2.5
で扱う。なお docs/ai/subagent-delegation/ は
check-plan-hash.sh の 9 カテゴリ HO
パターンに非該当(docs/ 配下)で承認境界にも抵触せず、mode 引き上げ対象外。
3 層の役割を切り分ける。既存 Gate・手法・分配層は変更・置換せず、拡張として 接続する(#710 方針 / #711 注意点「既存フローを置き換えるのではなく、まず拡張 として扱う」と一致)。
| 資産 | 役割 |
|---|---|
docs/orchestrator-mode.md + .claude/rules/orchestrator-mode.md |
親子 PBI の Gate 不変条件・状態遷移・AI 自己完結禁止(AS-1〜5 / ChildExecAllowed / ParentDone)。「何を承認しないと次 phase に進めないか」の構造・承認境界 |
.claude/skills/subagent-driven-development |
実装タスクを Implementer → Spec Reviewer → Quality Reviewer の2 段階レビューで回す開発手法。「どう実装品質を担保するか」 |
plugin/plangate/skills/subagent-dispatch(+ .codex/skills/subagent-dispatch) |
high / critical でのロール別依存グラフ生成・並列 dispatch・dispatch/ ファイルベース受け渡し(TASK-0137 / #581 由来)。「どうタスクを分配・並列化するか」 |
本プロトコル(subagent-delegation/) |
会話履歴を持たないサブエージェントに渡す「1 回の派遣プロンプトの自己完結性(必須 8 要素)」と「返ってくる報告の契約(OUTCOME / P0-P1-P2 / 検証状態 / review=true)」と「行動規範(軽量版 / フル版)」に特化した委譲の契約・規範層。既存が委譲の「構造・手法・分配層」なのに対し、直交・補完する |
承認境界は本プロトコルで一切変更しない。C-3 / C-4 ゲート、親子 PBI Gate は
すべて既存の正本(.claude/rules/orchestrator-mode.md 等)に従う。本プロトコルが
定義するのはあくまで「派遣プロンプトの中身」と「報告の受け取り方」であり、
承認が誰の手に渡るか(Human-owned / AI-owned)を変える権限は持たない。
さらに以下 2 点は既存正本を参照し、重複定義しない:
model-profiles.md / model-profiles.yaml
を正本とする。モデル序列は公式の固定序列として扱わず、PlanGate 内の
モデル振り分け表として定義する(#710 注意点)。本プロトコル側で独自の
モデル序列を新設しない。.claude/skills/codex-multi-agent を参照する(plangate-flow-integration.md
から接続)。以下は Hardening Override(HO)対象パスであり、本プロトコルの正本ファイル自体は
これらを直接編集しない。参照導線の追加は
scripts/apply-subagent-delegation-wiring.sh(非 HO・dry-run 適用スクリプト)に
隔離し、ho-change-workflow.md の標準フロー
(仕様 docs + apply script を同一 PR に置き、HO 実ファイルは含めない → Human が
--dry-run 確認後に適用)に従う。
| 参照導線 | 対象 HO ファイル | 内容 |
|---|---|---|
| ★非 HO・最優先 | project-rules.md §G |
委譲プロトコル正本への参照を 1 行追加(直接編集可、apply-script 不要)。CLAUDE.md / AGENTS.md はこの表を継承するため主導線になる |
| HO・apply-script 必須 | .claude/rules/orchestrator-mode.md |
「既存ルールとの関係」表に demarcation 行を追加(親子 PBI Gate = 本ルール正本 / サブエージェント派遣プロンプト契約層 = docs/ai/subagent-delegation/ と矛盾させない棲み分け明記) |
| HO・apply-script 推奨 | .claude/rules/responsibility-classes.md |
「既存ルール対応」表に、オーケストレータの受け入れ確認・派遣プロンプト作成 = AI-owned/P0 要判断承認 = Human-owned の責務帰属行を追加 |
| HO・apply-script(任意) | CLAUDE.md |
「Claude Code 固有参照」節に正本 1 行(discoverability 補強目的。project-rules.md §G 継承で足りるため省略可) |
| HO・apply-script(任意) | AGENTS.md |
CLAUDE.md と対の 1 行(Codex parity。省略可) |
非 HO の追加導線として README.md 主要ドキュメント一覧表・
docs/orchestrator-mode.md の棲み分け節にも直接追記
できる(HO 9 カテゴリ非該当のため apply-script 不要)。
オーケストレータは実作業をなぞらない。責務は以下に限定する。
dispatch-template.md)outcome-contract.md)SendMessage 追指示ただし、ユーザーへ返す前に以下だけ確認する(丸呑み禁止 / #710 注意点)。
OUTCOME が最終行にあるかこのチェックリストの詳細判定基準(各項目の PASS / FAIL 例)は
outcome-contract.md §6 に定義する。
破壊的操作・データ削除・外部投稿・稼働プロセス停止は禁止または明示的な承認制
とする(#710 注意点)。委譲判断基準(Agent 単発 vs Workflow 化)は
plangate-flow-integration.md を参照。
| ファイル | 対応子 Issue | 内容 |
|---|---|---|
| README.md(本ファイル) | #711 | 配置 ADR / オーケストレータ責務 / 索引 |
outcome-contract.md |
#712 | サブエージェント成果物契約(OUTCOME / P0-P1-P2 / 検証状態 / review=true) |
dispatch-template.md |
#713 | 派遣プロンプト必須 8 要素テンプレート |
behavior-norms.md |
#714 | サブエージェント行動規範(軽量版 / フル版) |
plangate-flow-integration.md |
#715 | Plan → Review → Approval → Execution への委譲プロトコル接続 |
examples.md |
#716 | サンプル派遣プロンプト・OUTCOME 出力例・検証手順 |
各子 Issue は独立した並行タスクとして作業される想定のため、上記リンク先が 一時的に未作成の場合がある。最終的に全ファイルが揃った時点で本索引が完成する。
.claude/rules/orchestrator-mode.md の Gate 不変条件を上書きしないmodel-profiles.md に委譲)responsibility-classes.md 参照)への直接編集を行わない(apply-script 経由・Human 適用)docs/orchestrator-mode.md / .claude/rules/orchestrator-mode.md.claude/rules/responsibility-classes.md.claude/rules/hybrid-architecture.md.claude/skills/subagent-driven-developmentplugin/plangate/skills/subagent-dispatch(+ .codex/skills/subagent-dispatch).claude/skills/codex-multi-agentdocs/ai/model-profiles.md / docs/ai/model-profiles.yamldocs/ai/ho-change-workflow.mddocs/ai/project-rules.md §G