vibe-delegate について
vibe-delegateは、範囲を限定したコーディングタスクをMistral Vibe CLIに委任し、オーケストレーターが成果を確認してコミットするためのスキルです。ヘッドレス実行と結果記録を中継し、判断と検証はオーケストレーターに委ねます。
主な機能
- 01独立したタスク概要による委任
- 02ヘッドレス実行用リレー
- 03計画専用・フルアクセスモード
- 04構造化された結果と失敗状態
- 05確認・検証後にコミットする手順
活用シーン
- 01範囲を限定したリポジトリ変更の委任
- 02読み取り専用の計画やレビュー
- 03生成差分の確認とプロジェクトチェックの再実行
- 04差分概要によるセッションの継続
MCP 対応
Codexのバックグラウンドオーケストレーションでは、別途codex-backgroundを設定し、そのdelegate_run MCPツールを呼び出すよう案内します。それ以外ではシェルのリレーを使います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ amelnagdy/ delegate-skills --skill vibe-delegateインストール後、Claude Code で/vibe-delegateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/dispatch-and-poll.mdmulti-task-queues.mdreview-and-land.mdwriting-the-brief.mdscripts/relay.mjs詳細
Vibe Delegate
あなたはオーケストレーターです。範囲を限定したコーディングタスクを別の実装者である Mistral Vibe CLI(vibe)に任せ、その成果をレビューして、自分で取り込みます。ブリーフを作成し、判断に責任を持つのはあなたです。Vibe は独立したセッションでコードを書き、あなたが検証してコミットします。
このループに必要なのはシェルコマンドとファイルアクセスだけなので、同等のオーケストレーターであれば実行できます。
使わない場合
- タスクがその場で完了できるほど小さく、委任する手間に見合わない場合。
vibeCLI がインストールされていない、または認証されていない場合。
前提条件(一度だけ確認)
uvをインストールし、続けて Mistral Vibe をインストールします。uv tool install mistral-vibe
vibe --setupで API キーを設定するか、環境にMISTRAL_API_KEYを設定します。vibe --versionが正常に実行されることを確認します。- 対象の git リポジトリ内で作業するか、
--cdで対象リポジトリを指定します。
手順
タスクごとに、次の5つのステップを実行します。ステップ1、4、5では判断が必要ですが、2と3は機械的な作業です。
1. ブリーフを作成する
Vibe が参照できるのは、送信したテキストとワークスペース内で確認できる内容だけです。チャット履歴や共有コンテキストはありません。目標、現在の状態、変更する内容、変更せずに残す内容、プロジェクトで実際に適用されるチェック項目、そして報告の要件を記載します。Vibe にはコミットしないよう指示します。ブリーフ1つにつきタスクは1つにします。references/writing-the-brief.mdを参照してください。
デフォルトモードではヘッドレスでほとんどのシェルコマンドを承認できないため、チェック項目はオーケストレーターが実行します。人間が明示的に --full-access を許可した場合に限り、Vibe に実行を依頼します。
2. 実行を指示する
Codex でバックグラウンド作業をオーケストレーションする場合は、まず別個のサポートユーティリティである codex-background をインストールして設定します。その MCP ツールまたはレジストリが見つからない場合は、そこで停止してセットアップが必要だと報告してください。モデル主導のポーリングに黙って切り替えてはいけません。その後、以下のシェルコマンド例の代わりに、登録済みの delegate_run MCP ツールを1回呼び出します。
構造化された共通引数、変更しないプロバイダーフラグ、runId による再接続については、そのスキルに従ってください。完了するまでリクエストを保留状態にし、その後、このスキルのレビューと取り込みの手順に進みます。それ以外のオーケストレーターは、以下のシェルワークフローを使用します。
同梱のヘルパーを使用します。Vibe のヘッドレス --prompt モードをラップし、構造化イベントストリームを取得して、result.json に書き込みます。(<skill-dir> は、この SKILL.md を含むインストール先のフォルダーです。)
node "<skill-dir>/scripts/relay.mjs" --brief brief.txt --cd /path/to/repo
# limit turns for cost control: add --max-turns <n>
# indicative price threshold/token cap: add --max-price <usd> --max-tokens <n>
# planning/read-only: add --plan-only
# unrestricted shell and tools: add --full-access (explicit authorization required)
# resume the most recent session: add --resume-last (delta brief only)
# resume a specific session: add --session <id> (delta brief only)
# see all options: node .../relay.mjs --help
子プロセスの作業ディレクトリ(cwd)によって、ワークスペースが固定されます。リレーはデフォルトでシステムの一時ディレクトリにアーティファクトを書き込み、コミットは行いません。references/dispatch-and-poll.mdを参照してください。
3. 完了を待つ
codex-background を使う Codex は、元の MCP リクエストを保留状態に保ちます。モデル主導でスリープ、ステータス、ログのポーリングを行いません。中断されたリクエストに再接続する場合に限り、delegate_wait を使用します。
ヘルパーは Vibe が終了するまで処理をブロックします。オーケストレーターのバックグラウンドコマンド機能で実行するか、シェルでバックグラウンド実行して result.json をポーリングしてください。実行開始前の使用方法エラーは終了コード2で終了し、結果ファイルは書き込みません。vibe が見つからない場合は終了コード127で終了し、status: "vibe_unavailable" を書き込みます。
ウォッチドッグは status: "timeout" を書き込みます。POSIX でリレーを終了すると、Vibe のプロセスツリーを停止した後、status: "aborted" を書き込みます。
進捗表示よりも、プロセスの状態と作業ツリーを信頼してください。プロセスが終了し、result.json が存在すれば完了です。
4. レビューする — 自己申告をうのみにしない
Vibe の最終メッセージやチェック結果に関する主張は、あくまで主張として扱います。
- プロジェクトのチェック項目を自分で再実行します。
- ブリーフと照らし合わせて差分を読みます。まず
touchedFilesを確認してください。 - インストールされている場合は、関連するガードスキルを実行します。
- マイグレーションを往復検証し、削除や名前変更の後に参照が残っていないか grep します。
references/review-and-land.mdを参照してください。
5. 取り込む
実装者が作業ツリーを編集し、オーケストレーターがコミットします。 チェックが通り、差分に問題がないことを確認してからコミットしてください。手直しが必要な場合は、--resume-last または --session <id> を使って差分ブリーフを送り、再度レビューします。
自律性と権限
--prompt モードでは、リレーは常にエージェントプロファイルを明示的に設定します。
| リレーフラグ | Vibe に渡される内容 | 使用する場面 |
|---|---|---|
| (デフォルト) | --agent accept-edits | 通常の実装 — 組み込みのファイル編集が承認されます |
--plan-only | --agent plan | 読み取り専用のレビュー、調査、または計画 |
--full-access | --agent auto-approve | 任意のシェル/ツールを必要とする、明示的に許可された実行 |
デフォルトモードでは、Vibe は対象のワークツリー内のファイルを編集できます。大半のプロジェクトゲートを含む、承認が必要なシェルコマンドはヘッドレス実行では拒否されます。ゲートはオーケストレーターが実行します。
--full-access を指定すると Vibe のツール承認が無効になり、ユーザーアカウントで任意のシェル/ツールを実行できるようになります。明示的に人間の許可を得た場合にのみ使用してください。実行後は必ず touchedFiles と差分を確認してください。
--trust は、ヘッドレス実行で対話型のディレクトリ信頼確認が表示されないよう、常に渡されます。これはサンドボックスではなく、ツールの権限を付与するものでもありません。
認可モデル
委任するかどうかは人間が決めます。委任の意思が示された後(「このキューを実行して」「進めて」)、検証済みでゲートを通過した作業をコミットすることが合意された契約です。ただし、2 つの制限が残ります。取り込まずに表に出す(Vibe の設計上の判断、正当化できるものの依頼されていない変更、ブロッキングではない細かな指摘を報告する)こと、そしてスコープの変更時には停止する(正しく完了するために依頼内容を超える必要がある場合は、権限を拡大せずに確認する)ことです。references/review-and-land.md を参照してください。
参考資料
- references/writing-the-brief.md — 構成、レポートの契約、実際のゲート、argv の受け渡し、差分ブリーフ。
- references/dispatch-and-poll.md — フラグ、成果物、
result.json、ポーリング、障害からの復旧。 - references/review-and-land.md — レビューチェックリスト、コミット境界、Vibe セッションを通じた手直し。
- references/multi-task-queues.md — 順次キュー、制約の引き継ぎ、進捗の追跡、最終的な整合性確認。