親 issue: #710 サブエージェント委譲プロトコルを PlanGate 運用に組み込む 対応子 issue: #713 サブエージェント派遣プロンプトの必須8要素テンプレートを追加する 関連(同ディレクトリ): README.md(正本入口・全体像、#711)/ outcome-contract.md(OUTCOME 契約、#712)/ behavior-norms.md(行動規範 軽量版・フル版、#714)/ plangate-flow-integration.md(委譲タイミング、#715)/ examples.md(サンプル、#716)
サブエージェント派遣は本リポジトリに複数の既存資産があるが、いずれも「委譲の判断基準・分配構造」または「TDD 実装フロー限定のファイル授受」を扱っており、派遣プロンプト本文そのものの自己完結性契約を定義したものではない。本ファイルはその隙間を埋める。
| 既存資産 | 扱う範囲 | 本ファイルとの関係 |
|---|---|---|
.claude/skills/codex-multi-agent(SKILL.md) |
いつ委譲するか / どう分割するか / 並列化可否の判断基準 | 委譲するかどうかの判断は codex-multi-agent に従う。委譲すると決めた後のプロンプト本文の書き方が本ファイル |
plugin/plangate/skills/subagent-dispatch(SKILL.md) |
high-risk / critical モードでの依存関係グラフ生成・並列 dispatch・dispatch/task-NNN-brief.md 等のファイル授受 |
TASK exec 中の実装 dispatch では task-NNN-brief.md がタスク別要件ファイルになる。本テンプレートの要素はそのファイルを派遣プロンプト本文に落とし込む際の共通フォーマットとして使える(矛盾しない・置換しない) |
.claude/rules/orchestrator-mode.md |
親子 PBI の Gate 不変条件・状態遷移・AI 自己完結禁止 | 承認境界(C-3 / C-4 / 親子 Gate)は本ファイルの対象外。派遣プロンプトは承認済みのタスクを渡す手段であり、承認そのものを代替しない |
本ファイルが定義するのは、会話履歴を持たないサブエージェント(Task / Agent 起動、または新規ワーカーへの SendMessage)に渡す 1 回の派遣プロンプトが備えるべき必須8要素と、用途別の具体テンプレートである。
| # | 要素 | 目的 | 省略すると起きること |
|---|---|---|---|
| 1 | 役割・プロジェクト・項目ID・タスク名 | サブエージェントが自分の立ち位置を即座に把握する | 別タスクの文脈を混同する |
| 2 | なぜこのモデルに格上げされたか | タスクの難度・リスクに見合った推論深度で臨ませる | 軽いモデル前提の浅い調査で終わる、または逆に過剰トークン消費 |
| 3 | 最初に読む SSOT・Issue・関連資料 | 正本を自分で探させない | 誤った・古い情報源を正とみなす |
| 4 | 既知の事実・実測値・確定済み結論・却下済み仮説 | 再調査・再検討のコストを排除する | 確定済み事項を再調査する、却下済みの選択肢を再提案する |
| 5 | 順序付きタスク | 実行順序の曖昧さを排除する | 依存関係を無視した手順で進める |
| 6 | 制約(read-only / write可、対象 worktree、禁止操作) | 破壊的操作・越権操作を未然に防ぐ | 想定外のファイル・repo・プロセスに影響を与える |
| 7 | 出力形式(成果物URL、要判断事項、OUTCOME) |
統合側が機械的に結果を解釈できるようにする | 自由記述で終わり、統合コストが増える |
| 8 | 行動規範(軽量版 / フル版) | 報告品質と作業規律を安定させる | 結論を後回しにする、スコープ外に手を広げる、進捗を実証しない |
各要素の詳細:
plangate リポジトリの調査エージェントです。項目ID: TASK-0140-T3。タスク名: EH-9 hook 配線の実挙動調査」docs/working/TASK-XXXX/ の ID、または EPIC 子 issue 番号など、後から報告を突合できる識別子にするdocs/ai/model-profiles.md(Claude Code は §11 の 2 tier、Codex CLI は §4 の mode × reasoning_effort マトリクス).claude/skills/subagent-dispatch は存在しない。実体は plugin/plangate/skills/subagent-dispatch/SKILL.md(実測済み、2026-07-05)」以下を状況に応じて明記する(該当なしの項目も「該当なし」と明示し、暗黙の許可と誤読させない)。
| 制約カテゴリ | 記載例 |
|---|---|
| read-only / write可 | 「本タスクは read-only。ファイルの新規作成・編集を行わない」/「write可。対象は下記 worktree 配下のみ」 |
| 対象 worktree 絶対パス | 「/Users/xxx/repo/.claude/worktrees/feat-xxx 配下のみ書き込み可」 |
| 触ってはいけないファイル・ディレクトリ・repo | 「.claude/rules/*.md / .claude/settings*.json 等の HO パスは Write/Edit 禁止(作成のみ許可、適用は人間)」 |
| 稼働中プロセス停止禁止 | 「他セッションが起動しているプロセス・サーバーを kill しない」 |
| 削除・外部投稿・破壊的操作 | 「git push / PR 作成 / issue 起票 / ファイル削除は事前承認なしに行わない」 |
EH-3(check-plan-hash.sh)にブロックされた場合 |
「Edit ゲートに拒否されたら PLANGATE_SKIP_REASON を設定して再実行する正規経路を使う(docs/working/_audit/skip-decision-log.jsonl に記録される)。Bash 経由の直接書き込みでゲートを迂回しない」 |
| ソフト上限 | 「Nステップ(目安 15)または概算 Mトークン相当で一旦中断し、進捗を報告する」 |
[P0] / [P1] / [P2] 表記、outcome-contract.md §2 の定義・記法に従う)OUTCOME: success | partial | failure を含む1行サマリ(詳細は outcome-contract.md 正本)## 役割・タスク
あなたは <プロジェクト名> の<役割>です。項目ID: <ID>。タスク名: <タスク名>。
## モデル格上げ理由
<なぜ判断系 / high-risk 相当の推論深度が必要か>
## 最初に読むもの(順に)
1. <SSOT / Issue へのパス>
2. <関連資料>
## 既知の事実・確定済み結論・却下済み仮説
- 確定済み: <事実>
- 実測値: <数値>
- 却下済み仮説: <試さない理由>
(新規調査で本当に無い場合のみ)既知事実なし
## タスク(順序付き)
1. <タスク1>
2. <タスク2>(1 完了後)
## 制約
- read-only / write可: <どちらか>
- 対象 worktree: <絶対パス、または該当なし>
- 触ってはいけないもの: <一覧、または該当なし>
- 禁止操作: <一覧、または該当なし>
- ソフト上限: <Nステップ / Mトークン目安>
## 出力形式
- 成果物: <パス / URL>
- 要判断事項: `[P0]`/`[P1]`/`[P2]` を付けて列挙(無ければ「なし」)
- 最終行: `OUTCOME: success|partial|failure`([outcome-contract.md](/PlanGate/ai/subagent-delegation/outcome-contract.html) 準拠)
## 行動規範
<[behavior-norms.md](/PlanGate/ai/subagent-delegation/behavior-norms.html) の軽量版 or フル版を埋め込み、または要約+参照>
## 役割・タスク
あなたは <プロジェクト名> の調査エージェントです。項目ID: <ID>。タスク名: <調査対象>の実挙動調査。
## モデル格上げ理由
既存資料だけでは判断できない実挙動の確認と、複数候補の中からの推奨判断を要するため。
## 最初に読むもの(順に)
1. <調査対象に関する既存 issue / SSOT>
2. <関連コード・設定ファイルのパス>
## 既知の事実・確定済み結論・却下済み仮説
- 確定済み: <既に分かっていること>
- 却下済み仮説: <調べ直さなくてよい選択肢>
## タスク(順序付き)
1. <対象の現状を実測する(grep / 実行結果 / ファイル存在確認)>
2. <既存資料との差分を特定する>
3. <選択肢を比較し推奨案を1つ提示する(決定はしない)>
## 制約
- read-only。ファイルの新規作成・編集は行わない
- 対象 worktree: 該当なし(読み取りのみ)
- 触ってはいけないもの: 対象リポジトリ外への外部送信、破壊的コマンド全般
- ソフト上限: 15 ステップ相当
## 出力形式
- 成果物: 調査結果のサマリ(本文またはファイル)
- 要判断事項: 推奨案の採否は `[P1]`/`[P2]` として提示(実装可否の最終判断は依頼元)
- 最終行: `OUTCOME: success|partial|failure`
## 行動規範
軽量版([behavior-norms.md](/PlanGate/ai/subagent-delegation/behavior-norms.html) §軽量版)。真因調査に発展する場合はフル版に切替える。
## 役割・タスク
あなたは <プロジェクト名> の実装エージェントです。項目ID: <TASK-XXXX-Tn>。タスク名: <実装対象>。
## モデル格上げ理由
複数ファイルにまたがる設計判断を伴う実装のため(単純な機械的置換ではない)。
## 最初に読むもの(順に)
1. `docs/working/TASK-XXXX/plan.md` の該当 Work Breakdown 項目
2. `dispatch/task-NNN-brief.md`(Target Files / Spec / Existing Tests / Constraints)
## 既知の事実・確定済み結論・却下済み仮説
- 確定済み: <採用済み設計判断>
- 却下済み仮説: <plan で不採用と決めた代替案>
## タスク(順序付き)
1. `task-NNN-brief.md` の Spec を満たす実装を行う
2. Existing Tests を実行し GREEN を確認する
3. `dispatch/task-NNN-report.md` に実行コマンド・結果・変更サマリを記録する
## 制約
- write可。対象は `task-NNN-brief.md` の Target Files のみ
- 対象 worktree: <絶対パス>
- 触ってはいけないもの: Target Files 以外の全ファイル、Hardening Override 対象パス(`.claude/rules/*.md` 等)
- 禁止操作: `git push` / PR 作成(依頼元が行う)
- ソフト上限: <Nステップ / Mトークン目安>
## 出力形式
- 成果物: `dispatch/task-NNN-report.md` の絶対パス
- 要判断事項: 設計上の疑問が生じた場合は実装を止めて `[P0]` として報告
- 最終行: `OUTCOME: success|partial|failure`
## 行動規範
フル版([behavior-norms.md](/PlanGate/ai/subagent-delegation/behavior-norms.html) §フル版)。長時間実装・複数ファイル変更のため。
## 役割・タスク
あなたは <プロジェクト名> のレビュー/監査エージェントです。項目ID: <ID>。タスク名: <対象>の<レビュー種別>。
## モデル格上げ理由
表面的なチェックではなく、故障確率に基づく判断と根本原因の特定を要するため。
## 最初に読むもの(順に)
1. `.claude/rules/review-principles.md`(5観点 / Severity定義 / 判定基準)
2. <レビュー対象の diff / PR / ファイル一覧>
## 既知の事実・確定済み結論・却下済み仮説
- 確定済み: <既に合意済みの前提>
- 却下済み仮説: <既に否定された原因候補>
## タスク(順序付き)
1. 対象の変更内容を把握する
2. 5 観点(可読性・拡張性・パフォーマンス・セキュリティ・保守性)で Severity 分類する
3. critical/major は再現手順または根拠を示す(推測で断定しない)
## 制約
- read-only。修正は行わず指摘のみ
- 対象 worktree: 該当なし
- 禁止操作: 該当ファイルへの直接修正、外部への指摘内容の共有
- ソフト上限: <Nステップ / Mトークン目安>
## 出力形式
- 成果物: Severity 別指摘一覧(`.claude/rules/review-principles.md` 準拠)
- 要判断事項: critical は `[P0]`、major は `[P1]` として明示
- 最終行: `OUTCOME: success|partial|failure`
## 行動規範
フル版([behavior-norms.md](/PlanGate/ai/subagent-delegation/behavior-norms.html) §フル版)。真因調査・設計レビュー・監査のため。
SendMessage)会話履歴を保持したまま追加指示を送る場合でも、前回のタスク完了状態と新しい制約の再宣言を省略しない(暗黙の継続を前提にしない)。
## 前回タスクの完了状態(要約)
<前回の OUTCOME と成果物への参照>
## 追加タスク(順序付き)
1. <追加タスク1>
2. <追加タスク2>
## 変更・追加された制約(あれば)
- <前回から変わった制約。無ければ「前回と同一」と明記>
## 出力形式
- 前回と同様。最終行に `OUTCOME: success|partial|failure` を再掲する
| 状況 | 使うテンプレート |
|---|---|
| 単発の調査・影響範囲確認 | 4-A 調査エージェント向け |
| TASK exec 中の実装 dispatch(high-risk/critical) | 4-B 実装エージェント向け(plugin/plangate/skills/subagent-dispatch の dispatch/task-NNN-brief.md と併用) |
| PR レビュー・監査・真因調査 | 4-C レビュー/監査エージェント向け |
| 起動済みサブエージェントへの追加指示 | 4-D 追指示テンプレート |
.claude/skills/codex-multi-agent(SKILL.md) — 委譲の判断基準plugin/plangate/skills/subagent-dispatch(SKILL.md) — TDD 実装 dispatch のファイル授受docs/ai/model-profiles.md — モデル tier / reasoning effort の正本