mcpField
H
handoff

handoff

github.com/csark0812エージェントワークフロー062 回インストール1 日前に更新
リポジトリ

handoff について

Handoffは、別セッション間でコンテキストを引き継ぐエージェント向けスキルです。promptとartifactの経路に対応し、参照先を使った簡潔な共有、進捗の正確な報告、クライアント別の受け渡し方法を定めています。

主な機能

  1. 01promptまたはartifact経路の選択
  2. 02本文ではなく参照先を共有
  3. 03完了・進行中・停滞の状態を区別
  4. 04秘密情報と個人情報の伏せ字処理
  5. 05クライアント別の引き継ぎ方法の対応付け

活用シーン

  1. 01新しいチャットで作業を続行
  2. 02artifact経由でモデル起点のコンテキストを引き継ぐ
  3. 03完全なコンテキストパックなしでレビュー状況を共有

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/csark0812/toolbox --skill handoff

インストール後、Claude Code で/handoffを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
handoff-subagent-dispatch.md
output.md
pack.md
research-basis.md

詳細

引き継ぎ

Orchestrator — セッションをまたぐ A2A(channel:prompt と channel:artifact)。共通語彙 → process-skill-composition.md。

参照: pack.md · output.md · handoff-subagent-dispatch.md

主張を調整する際は、research-basis.md を読んでください。

開始条件

  • 新しいチャットを想定します — 転送を伴わない同一セッション内の継続は対象外です。
  • チャネルを選択します — prompt(ユーザー)または artifact(モデル呼び出し)。

必須事項

  1. 本文ではなくポインター — パス、URL、SHA を使用します。引き継ぎに計画、PRD、差分を貼り付けないでください。
  2. 状態を正直に示す — 完了、進行中、または不具合あり。進捗を主張する場合は、コミットまたはテストを引用してください。
  3. 書き込みまたは貼り付けの前に、秘密情報、トークン、PII をマスキングします。
  4. チャネル prompt — ユーザーによる /handoff → ディスクに書き込まない(_agent/handoffs/ は禁止)。
  5. チャネル artifact — モデル呼び出し時 → サブエージェントによる書き込みが必須です。コーディネーターが主に書き込むことは違反です。

ワークフロー

  1. チャネル、パック、目標を選択する — pack.md で最も近い行を使用します。これらの値は生成のみを制御します。
  2. 情報を集める — スレッドから最小限の箇条書きをまとめます。空のカテゴリは省略します。
  3. 引き渡す —
    • channel:prompt → output.md に従って、明確な英語で受け取り用プロンプトをコードフェンスで囲んで提示します
    • channel:artifact → handoff-subagent-dispatch.md → スタブのみ貼り付けます

実行インターフェースの対応表

リクエストに「X クライアント経由で引き継ぎ」とある場合は、この対応表を使用します。

  1. 実行側の意図からチャネルを選択します。
    • ユーザー向けの引き継ぎ(/handoff)には prompt
    • モデル呼び出しによる、コンテキスト圧迫時の継続には artifact
  2. pack、goal、スレッド内の主張から、正規のペイロードを 1 つ作成します。
  3. クライアントのインターフェースにルーティングします。
    • prompt:受け取り用プロンプトブロックを出力し、次のチャットの開始時に渡します。
    • artifact:<workspace>/_agent/handoffs/<filename>.md に書き込み、読み取り用スタブのみを出力します。
  4. クライアント固有のルールに従って、出力を検証します。
クライアント横断のデフォルト動作
インターフェーストランスポートのルール生成側のアクション必須の受信成果物
Codexチャットスレッドで制御ユーザーへの引き継ぎには channel:prompt、モデルによる呼び出しには channel:artifact を使用しますchannel:prompt ブロックまたは引き継ぎ成果物のパス
Cursor会話を継続成果物フックが明示的に利用可能でない限り、新しいチャットに channel:prompt を渡しますプロンプトブロック
Claude Codeチャットを継続新しいチャットに channel:prompt を渡します。クライアント固有のタスク API がある場合は、ブロックを最初のユーザーメッセージとして渡しますプロンプトブロック
Claude API / GPT-like interfaceチャットを継続channel:prompt が必須です。フィールドをユーザーに表示される引き継ぎメッセージにマッピングしますプロンプトブロック
ChatGPT UI / web chatチャットを継続1 行目のターゲットを Open workspace にして channel:prompt を使用しますプロンプトブロック
GitHub Copilot ChatIDE で継続channel:prompt のみを使用します。ローカルホストが引き継ぎの書き込みを公開していない限り、共有成果物パスは使用しませんプロンプトブロック
汎用 MCP / カスタムクライアントAPI 固有正規のペイロードフィールドにマッピングします。成果物をサポートしていない場合は、プロンプトに切り替えますプロンプトブロック(またはサポートされている場合は成果物のパス)

インターフェースが成果物 API を公開していない場合は、必ず channel:prompt にフォールバックしてください。

Codex API 分岐

依頼で Codex API の実行が明示的に指定されている場合に使用します。

  1. 計画の主張から channel:prompt ペイロードを作成します。
  2. 次のいずれかを優先します。
    • オーケストレーションがユーザーフロー内にある場合は、プロンプトペイロードを使って新しいチャットを開始します。
    • 新しい Codex タスクには create_thread を使用し、引き継ぎの初期化のためにプロンプトブロックを指定して send_message_to_thread を呼び出します。
  3. channel:artifact の場合は、オーケストレーションフローを通じて channel:artifact を指定して handoff を呼び出し、サブエージェントのライター経路を起動してから、<workspace>/_agent/handoffs/<filename>.md を指すスタブのみを出力します。

サポートされていない Codex ツール呼び出しを捏造しないでください。必須の API が利用できない場合は、channel:prompt へのフォールバックを記載してください。

大量処理を行うインターフェースに関する注意
  • UI モードと API モードの両方を備えるクライアントでは、独自のオーケストレーションでモードを明示してください。
  • 構造化された会話 API を備えるクライアントでは、同じフィールドを保持し、最初のメッセージのペイロードにのみマッピングしてください。
  • IDE ネイティブのチャットクライアントでは、ワークスペースを明示したプロンプトモードを優先してください。
インターフェース実行の境界
  • いずれか 1 つのチャットスタックの制御 API を、唯一のサポート対象経路としてハードコードしないでください。
  • 受信コンテンツに channel と pack を含めないでください。
  • どのインターフェースでも、秘匿化ルールを省略しないでください。
  • channel:artifact では、コーディネーターから引き継ぎファイルを書き込まないでください。必要に応じて、サブエージェントの経路を起動または調整してください。

次のセッションでレビュー状態のみが必要な場合は、Pack: full の代わりにコンシューマーオーバーレイブロックを使用してください。

コンシューマーバインディング

プロジェクト固有の注入コンテキストは、スキルの読み込み時に追加されます。

コメント