claude-delegate について
claude-delegateは、範囲を定めたコーディング作業を別のClaude Code CLIセッションに委任し、結果を確認してコミットするスキルです。明示的な委任依頼を受けたオーケストレーター向けで、権限境界、独立した検証、オーケストレーターによるコミットを重視します。
主な機能
- 01Claude Codeセッションへの作業委任
- 02自己完結したタスク概要の送信
- 03結果と変更ファイル情報の記録
- 04読み取り専用レビューへの対応
- 05プロジェクトチェックの再実行と差分確認
- 06コミットをオーケストレーターが担当
活用シーン
- 01依頼に応じた範囲限定タスクの委任
- 02読み取り専用のレビューや診断
- 03差分の概要で実装を再開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ amelnagdy/ delegate-skills --skill claude-delegateインストール後、Claude Code で/claude-delegateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/dispatch-and-poll.mdmulti-task-queues.mdreview-and-land.mdwriting-the-brief.mdscripts/relay.mjs詳細
Claude Delegate
あなたはオーケストレーターです。範囲を限定したコーディングタスクを、別の実装担当者(Claude Code CLI セッション)に委任し、その成果をレビューして、自分で取り込みます。ブリーフを作成し、判断の責任を負うのはあなたです。別の Claude セッションが作業ツリーを編集し、あなたが検証してコミットします。
このスキルは、現在の Claude が直接実装するための合図ではありません。人間から別の Claude Code プロセスまたはセッションへの委任を明示的に依頼された場合にのみ使用してください。
使用しない場合
- 人間が、現在のエージェントにタスクを直接実装するよう依頼した場合。
- タスクがインラインで実行できるほど小さく、人間から委任を依頼されていない場合。
claudeCLI が見つからない場合、または認証されていない場合(claude auth status)。- Claude Code のツール権限とシェルのみのサンドボックスより強力なホスト境界が必要な場合。その要件には、隔離されたコンテナまたは VM を使用してください。
前提条件
claude --versionが正常に実行されること。claude auth statusで認証済みセッションが報告されること。macOS では、有効な認証情報はログイン Keychain に保存されています。オーケストレーター自身のサンドボックス(Codex のサンドボックスなど)が Keychain へのアクセスをブロックすると、ログインが有効でもclaudeは古い可能性のある認証情報ファイルにフォールバックし、loggedIn: falseと報告します。CLI が未認証だと判断する前に、サンドボックスの制限を緩和するか、サンドボックスの外で確認を再実行してください。ディスパッチも同様に実行してください。--cdで渡すディレクトリが対象リポジトリであること。- Linux/WSL2 では、Claude のサンドボックス依存関係がインストールされていること。通常のリレープロファイルは、サンドボックスが利用できない場合に、シェルコマンドをサンドボックスなしで実行するのではなく、失敗するよう設定されています。既存の統合済み設定が、実効的な境界に影響する場合があります。
手順
1. ブリーフを作成する
別のセッションにはオーケストレーターとのチャット履歴がありません。ブリーフを stdin から受け取り、対象の作業ツリーを確認できます。
リレーは --bare を使用しないため、Claude Code は対象プロジェクトの CLAUDE.md と通常のローカル Claude 設定を自動的に検出します。ただし、AGENTS.md は自動的に読み込まれません。自分で AGENTS.md を読み、重要な制約と実際のゲートコマンドをすべてブリーフに記載してください。実装担当者にはコミットしないよう伝えてください。ブリーフごとにタスクを1つに限定してください。
テンプレートと詳細:references/writing-the-brief.md。
2. ディスパッチする
Codex でバックグラウンド作業をオーケストレーションする場合は、まず別途提供されるcodex-backgroundサポートユーティリティをインストールして設定してください。その MCP ツールまたはレジストリが見つからない場合は、停止してセットアップが必要であることを報告してください。モデル主導のポーリングに黙ってフォールバックしないでください。その後、以下のシェルの例の代わりに、登録済みの delegate_run MCP ツールを1回呼び出します。
構造化された共通引数、変更しないプロバイダーフラグ、runId による再接続については、そのスキルに従ってください。処理が完了するまでリクエストを保留し、その後、このスキルのレビューと取り込みの手順に進みます。その他のオーケストレーターは、以下のシェルワークフローを使用してください。
node "<skill-dir>/scripts/relay.mjs" --brief brief.txt --cd /path/to/repo
# review/diagnosis only: add --read-only
# continue the latest session: add --resume-last
# continue the recorded session: add --session <id>
# choose limits: add --max-turns 40 --max-budget-usd 10
# set the auto-compact window: add --autocompact 400k
# hard relay deadline: add --timeout 2h
# inspect every option: node .../relay.mjs --help
<skill-dir> は、このインストール済みスキルのディレクトリ、つまり SKILL.md を含むフォルダーです。
リレーは claude -p --output-format stream-json --verbose を実行し、stdin からブリーフを渡して、デフォルトでシステムの一時ディレクトリに成果物を書き込みます。--bg や --bare は使用せず、コミットも行いません。references/dispatch-and-poll.md を参照してください。
--autocompact <auto|tokens> は、新規または再開された呼び出しごとに Claude Code の自動圧縮ウィンドウ設定を渡します。この機能には Claude Code 2.1.221 以降が必要です。それより古いビルドでは、unknown option '--autocompact' によってディスパッチが失敗します。指定できる範囲(auto または 100k~1M トークン)はインストール済み CLI が管理します。リレーは要求された値を記録しますが、Claude が適用または強制したとは主張しません。
3. 待機
codex-background を使用する Codex は、元の MCP リクエストを保留状態に保ちます。モデル主導のスリープ、ステータス確認、ログのポーリングは行いません。中断されたリクエストに再接続する場合に限り、delegate_wait を使用してください。
リレーは Claude が終了するまでブロックします。オーケストレーターのバックグラウンドコマンド機能を使用するか、フォアグラウンドで実行して終了を待ってください。完了とは、プロセスが終了し、result.json が存在する状態を指します。
- 実行前の使用方法エラーは 2 で終了し、
result.jsonは書き込みません。 claudeが見つからない場合は 127 で終了し、status: "claude_unavailable"を書き込みます。- タイムアウトと捕捉されたリレーシグナルは、実装プロセスツリー全体を終了し、結果アーティファクトを保持します。
result.json から、finalMessage、touchedFiles、resultSubtype、および未加工アーティファクトのパスを読み取ってください。
4. レビュー
実装担当者の報告とゲートの結果は、あくまで申告として扱ってください。
- ゲートが成功する前に既存テストが編集されていないか確認してください。
- プロジェクトの実際のゲートを自分で再実行してください。
touchedFilesを起点に、依頼内容と照らし合わせて差分全体を確認してください。- 通常の差分だけでなく、未追跡ファイルとステージ済みの内容も調べてください。
- 利用可能な場合は、関連するガードスキルを実行してください。
チェックリスト全文:references/review-and-land.md。
5. 反映
ゲートが通過し、差分に問題がないことを確認した後に限り、オーケストレーターがコミットします。手直しが必要な場合は、差分の依頼内容を使って同じ Claude セッションを再開してください。
echo "Keep the implementation, replace the mocked DB test with the migrated fixture, and remove the
unused import." | node "<skill-dir>/scripts/relay.mjs" --session <id> --cd /path/to/repo
再開した実行も、初回と同じ手順でレビューしてください。
権限プロファイル
通常のプロファイルは、意図的に明示的な設定になっています。
- 権限モードは
acceptEditsです。 - 組み込みツールは Read、Glob、Grep、Edit、Write、およびプラットフォームのシェルに制限されています。
- macOS、Linux、WSL2 では、Claude のシェルサンドボックスが有効になり、依存関係が見つからない場合は起動に失敗します。サンドボックスなしでの再試行は行いません。サンドボックス内で完結するコマンドは自動承認されるため、通常のゲートをヘッドレスで実行できます。サンドボックスが制御するのはシェルプロセスとその子プロセスのみです。統合されたローカル設定または管理対象のサンドボックス設定によって、有効なパスや除外対象が追加される場合があります。
- 設定済みの MCP 検出機能と Claude.ai コネクタは無効になり、すべての MCP ツールが拒否されます。また、子プロセスではスキル、コマンド、Claude の Agent ツールを使用できません。プロジェクトの
CLAUDE.md、フック、通常の認証、セッションの永続化、その他のローカル設定は引き続き読み込まれます。 - 文字列ルールにより、
git commit、git push、入れ子になったclaudeの一般的な直接シェル形式と、claude-delegateを含むすべてのコマンドが拒否されます。エイリアス、スクリプト、ラッパーはこれを回避できるため、あくまで抑止策です。コミット禁止の依頼内容とオーケストレーターによるレビューが、引き続き最終的な境界となります。
ネイティブ Windows は Claude のシェルサンドボックスをサポートしていません。リレーはツールの範囲を制限し、PowerShell を事前承認することで実行を非対話型に保ちますが、シェルは OS による隔離を受けません。ネイティブの claude.exe と npm の claude.cmd の起動経路を実装しています。claude.cmd 経路はネイティブ Windows での実行記録があります(README の検証状況を参照してください)。直接起動した claude.exe は、まだ検証されていません。
--read-only は、Read、Glob、Grep のみを使用する plan モードです。編集、書き込み、シェルの各経路を取り除いたうえで、解析済みの git porcelain を比較し、すでに変更されていた Git 可視パスの作業ツリー上の識別情報とインデックスエントリをフィンガープリントします。
いずれかのシグナルが変更を示す場合、readOnlyViolation は true になります。網羅的に確認でき、変更が検出されない場合は false、確認が不完全な場合は null になります。これは報告用のトリップワイヤーであり、OS による境界ではありません。無視対象のパスや完全に元に戻された変更は対象外であり、ローカルフックは書き込みを行う可能性があります。また、同時に発生した変更を Claude に帰属させることはできません。
--dangerously-skip-permissions は、Claude の bypassPermissions モードを明示的に有効にするオプトイン設定です。制限されたツール範囲、コミットとプッシュの直接実行を拒否するルール、対応プラットフォームでのシェルサンドボックスは引き続き有効ですが、直接ファイル操作ツールは通常の権限境界を越えられるようになります。人間が明示的に承諾した場合に限り使用してください。
Claude のネイティブ機能を補完
Claude のサブエージェント、エージェントチーム、バックグラウンドセッションは、現在の Claude 環境がすでにオーケストレーターであり、ネイティブな連携を目的とする場合に役立ちます。このスキルはそれらを補完します。オーケストレーターをまたいで利用できる契約、つまり自己完結したブリーフ → ディスパッチ → 成果物 → レビュー → 取り込みを提供し、コミットはオーケストレーターが行います。
参考資料
- references/writing-the-brief.md — コンテキスト、
CLAUDE.mdとAGENTS.mdの違い、実際のゲート、レポートの契約、差分ブリーフについて説明します。 - references/dispatch-and-poll.md — フラグ、プロファイル、成果物、
result.json、ポーリング、障害からの復旧について説明します。 - references/review-and-land.md — 生成コードのレビュー、コミットの 境界、セッションでの手直しについて説明します。
- references/multi-task-queues.md — 順次キュー、進捗の追跡、 制約の引き継ぎ、最終的な一貫性について説明します。