一键导入
delegate-task
親子 Claude Code セッション間の委譲操作を行う。delegate(子を起動してキック)、send(既存ペインへ1行/キックオフ送信・誤送信防止つき)、list(宛先確認)、report(子→親の申し送り)を自然言語の意図から判断して実行する。tmux 環境前提。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
親子 Claude Code セッション間の委譲操作を行う。delegate(子を起動してキック)、send(既存ペインへ1行/キックオフ送信・誤送信防止つき)、list(宛先確認)、report(子→親の申し送り)を自然言語の意図から判断して実行する。tmux 環境前提。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
oe-* オーケストレーションツール群(engine 本体 / 親子委譲 / SO ゲート / 選択・観測)と駆動層規律の統合概観。複数エージェント委譲・設計SO/実装SO・read-only 観測・engine 1 サイクルを使うとき、ツール群の全体像をリポジトリ走査でなく一貫した形で把握したいときに使用する。
エラー/バグ調査で、入力→出力のコードパスに未読区間がある限り外部要因(インフラ差異等)の仮説に進まない。外部要因に飛ぼうとするとき、原因が再現しないと判断しそうなときに使用する。仮説を tmp/hypothesis-NNN.md に外部化し、コードパスの read-state を可視化する。
プランをKickoff Document形式に変換する。セカンドオピニオン投入・リポジトリアーカイブ・ピアレビュー共有時に使用する。命名規約・frontmatter・セクション構造をKickoff形式に整える。
設計判断を確定する前に、ゼロベースで未探索の代替案を最低1回引き出し、その証跡を確定前に残してから確定する。複数の選択肢を A/B 等で確定しかけたとき、ADR / Decision / kickoff の設計判断(DJ-N)を確定・記録するときに使用する。so-compare 選択肢拡張・探索木の外部化を含む。
so-compare.shでセカンドオピニオン(Codex/Claude/Cursor)を取得し、結果を比較する。ピアレビュー、修正方針の検証、設計判断の反証に使用する。**弱 SO**(1周可・partial=disclose・0はなし)。プロンプト設計原則、結果読み込み手順、合意判定基準を含む。
蒸留パイプライン文書(kickoff/episode/decision/discussion)の作成時にフォーマットを適用する。frontmatter付与、ULID生成、ファイル命名規則の案内を含む。ドキュメント新規作成、Episode→Decision昇格時に使用する。
| name | delegate-task |
| description | 親子 Claude Code セッション間の委譲操作を行う。delegate(子を起動してキック)、send(既存ペインへ1行/キックオフ送信・誤送信防止つき)、list(宛先確認)、report(子→親の申し送り)を自然言語の意図から判断して実行する。tmux 環境前提。 |
$TMUX_PANE が設定されていること)projects/orchestration-engine/bin/ の oe-delegate / oe-send / oe-list / oe-report が実行可能なことjq が PATH にあること(アドレッシング解決に使用)~/work/repos/.../projects/orchestration-engine/bin/oe-delegate)か、PATH に入っていること| コマンド | 方向 | 役割 |
|---|---|---|
oe-delegate | 親 → 子 | 子ペインを起動(spawn)し、最初のキックを送る。registry に登録 |
oe-send | 任意 → 任意 | 既存ペインへ 1 行 / キックオフを送る汎用入口。宛先はラベル or %N |
oe-list | — | 宛先候補を source 列付きで一覧(誤送信防止) |
oe-report | 子 → 親 | (legacy)子→親の申し送り。戻しは oe-send に一本化(論点E で整理) |
oe-delegate = spawn + oe-send(キック)の合成。送信の実体は oe-send に集約されている。
子 Claude Code セッションを起動し、最初のタスクをキックする。
REPO="$(pwd)"
BIN="$REPO/projects/orchestration-engine/bin"
issue 番号あり(基本) — --label で後から oe-send #N で指せるようにする
"$BIN/oe-delegate" -w "$REPO" --label "#N" "Issue #N の内容を gh issue view N で確認して作業を進めて。リポジトリ: $REPO"
子 Claude に起動オプションを渡す — 自律調査で権限プロンプト停止を避けたい場合
"$BIN/oe-delegate" -w "$REPO" --label "#N" --claude-arg --permission-mode --claude-arg auto "Issue #N の内容を確認して調査して。リポジトリ: $REPO"
キックオフ doc を渡す(4層ドキュメント方式 / リッチな事前情報)
"$BIN/oe-delegate" -w "$REPO" --label "#N" --kickoff "$REPO/path/to/kickoff.md" "補足の要望があればここに1行で"
--kickoff <path> は子へ "<path> を読んで進めて。" を付加し、子が読めるよう doc のディレクトリを --add-dir で開示する<workspace>/.oe/kickoff-*.md)に書いてから --kickoff で渡す(/tmp は対話型 claude が読めないので避ける)。.oe/ はこのリポジトリでは gitignore 済み。実装委譲(implementer-contract 併用)
"$BIN/oe-delegate" -w "$REPO" --label "#N" "Issue #N を実装して。リポジトリ: $REPO。実装規律は $REPO/canonical/skills/implementer-contract/SKILL.md を読んで従うこと"
oe_send_line が改行を検出すると送信を拒否する)。複数文は句点・セミコロンで区切る--kickoff でパス渡しするoe-delegate は spawn + キックに専念し、戻し(report)を一切焼き付けない(Unix 哲学・単機能)。
子に報告させたいなら、その指示は task / kickoff の本文に自分で書く。戻しの送信自体は子が
汎用の oe-send "$PARENT_TMUX_PANE" "..." で行う(下記「戻し」)。
oe-delegate で起動した子に限らず、既に動いているペインへ 1 行やキックオフを送る。親→子の追加指示、関連の薄い側道会話、(必要なら)子→親の返しにも使える汎用入口。
# ラベルで送る(registry / pane-issue で解決)
"$BIN/oe-send" "#142" "テストは pytest で。失敗ケースも足して"
# 生のペインIDで送る(ラベルが無いペイン・側道会話)
"$BIN/oe-send" "%37" "さっきの設計の続きだけど、TTL は 24h で合ってる?"
# キックオフ doc を既存ペインに読ませる
"$BIN/oe-send" --kickoff "$REPO/path/to/kickoff.md" "#142" "前提が変わったので読み直して"
# Enter を撃たずに投入だけ(人間が読んでから送る/セッションを汚さない)
"$BIN/oe-send" --no-enter "%37" "確認してほしい下書き"
--kickoffのパスは 対象ペインの可読ルート内(cwd /--add-dir済みの場所)に置く。 稼働中ペインには後付けで--add-dirできないため、ルート外だと子が権限プロンプトで止まる。 (oe-delegate --kickoffは起動時に doc dir を--add-dir開示するので問題ない)
宛先を間違えやすいときは、まず oe-list で候補を確認してからラベル / %N を選ぶ。
"$BIN/oe-list"
# PANE SOURCE LABEL
# %37 pane-issue #142 oe-delegate redesign
# %41 spawn-registry my-task
# %44 pane-title ai-development-hub
oe-send は曖昧エラーで止まる → %N で明示する$TMUX_PANE)が起動した子にスコープされ、別親の同名には届かない。一方 #N は issue の大域同定(pane-issue 由来)で親スコープ外 — 同一サーバの別親が起動した #N 子にも解決されうるdelegate は report を内包しないので、戻しは汎用の oe-send で行う。子に渡っている
PARENT_TMUX_PANE(親ペイン ID)へ送るだけ:
"$BIN/oe-send" "$PARENT_TMUX_PANE" "実装完了。PR #150 を作成した"
"$BIN/oe-send" --no-enter "$PARENT_TMUX_PANE" "親が読んでから送りたい下書き"
PARENT_TMUX_PANE が未設定(手動委譲・再アタッチ後など)なら、親ペインを oe-list で確認して
%N を直接指定する。
戻し・追加指示で子ペインの生出力(tool-call タグ列・box-drawing・制御文字)を そのまま貼らない。
要約するか path(ファイル/ログの場所)で渡す。生貼付は親の自己回帰模倣で tool-call malform を
連鎖させる(#233 の主題)。full な規律は orchestration-toolkit の「malform hygiene」節。
oe-report "..." / oe-report --review "..." は従来の子→親専用コマンド。delegate された子では
PARENT_TMUX_PANE env から親を解決して一応動くが、戻しは上記 oe-send に一本化する方針
(oe-report 自体の整理=薄い alias 化/廃止は論点E)。
oe-send / oe-list のラベル解決は 2 ソースの union:
~/.claude/state/oe-delegate/)— oe-delegate が登録した子。--label の値で指す。ゼロベース調査期の仮ラベルもここ~/.claude/state/pane-issue/)— wt switch 済みペインの #N。scripts/wt/wt-pane-issue.sh が書く注意点:
#N 解決は wt switch 経由が前提。素の git checkout で issue ブランチに入った子は pane-issue が無いので、--label の仮ラベルか %N で指すmaster / リポ名命名)は #N を持たない → %N で指すwt switch すると元の custom ラベルは以後解決されなくなる=ドリフト吸収の帰結。以後は #N で指す)oe-send(本スキル)= 対話セッションへ tmux send-keys で注入する transport(lib/delegate-send.sh)lib/spawn.sh の oe_spawn_send = engine の 非対話 claude -p・wez・envelope 系。別サブシステムであり、統合しないprojects/orchestration-engine/bin/oe-delegate — 子ペイン起動 + キック(spawn + send)projects/orchestration-engine/bin/oe-send — 既存ペインへの汎用送信projects/orchestration-engine/bin/oe-list — 宛先候補の一覧projects/orchestration-engine/bin/oe-report — 子→親の報告(legacy。戻しは oe-send に一本化)projects/orchestration-engine/lib/delegate-send.sh — 改行拒否の 1 行 safe-sendprojects/orchestration-engine/lib/delegate-registry.sh — アドレッシング(record/resolve/list/gc)implementer-contract スキル — 実装委譲時に kick プロンプトへ組み込む契約定義projects/orchestration-engine/docs/plans/2026-06-08-plan-oe-delegate-redesign.md — 本再設計の plan doc