mcpField
H
handover

handover

github.com/yahyabedirhanエージェントワークフロー260 回インストール1 週間前に更新
リポジトリ

handover について

別のエージェントセッションへ作業を引き継ぐスキルです。ワークツリー、引き継ぎドキュメント、1行の開始プロンプトを用意し、決定事項の記録、変更のコミットとプッシュ、新セッションの起動確認を進めます。

主な機能

  1. 01専用のワークツリーとブランチを準備
  2. 02メンテナーのみが持つ決定事項や情報を収集
  3. 03引き継ぎドキュメントと次の手順を作成
  4. 04ワークツリーの変更をコミットしてプッシュ
  5. 051行のプロンプトで新セッションを起動

活用シーン

  1. 01完了した作業をオーケストレーターに引き継ぐ
  2. 02新しいエージェントセッションで作業を続行
  3. 03大規模作業以外の次の手順を明確にして引き継ぐ

インストール

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

$npx skills add https://github.com/yahyabedirhan/skills --skill handover

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

同梱ファイルagents/openai.yaml

詳細

引き継ぎ

引き継ぎとは、通常はこのセッションの外で別のセッションを開始し、作業を続けてもらうことです。作業を組み立てるオーケストレーターや、思考を引き継ぐ新しいセッションなどが該当します。どのセッションからでも、いつでも引き継げます。新しいセッションが知っているのはリポジトリにある情報だけであり、開始時のプロンプトをメンテナーからの承認として受け取ります。そのため、引き継ぎ時には、このセッションで決められることをすべて決めておいてください。新しいセッションを開始したら、その後の状況を確認しないでください。オーケストレーターのプルリクエストなどの成果物を通じて、メンテナーに結果が伝わります。

コンテキストを把握しているセッションは、引き継ぐ前にそのコンテキストを活用してください。思考を進めるセッションでは、引き継ぎ前に /to-spec と /to-tickets を使って仕様書とチケットを作成してください。そうしないと、まとまっていない思考を引き継ぐことになり、次のセッションが一から組み立て直すことになります。作業中のセッションから新しいセッションに作業を引き継ぐのは、メンテナーから依頼された場合に限ります。

パラメーター

  • <worktree-tool>:ワークツリーを作成・解放するツールです。例:treehouse、または通常の git worktrees。
  • <session-host>:エージェントのセッションを実行する場所です。例:herdr、Claude Code Desktop、Codex Desktop。
  • <agent>:新しいエージェントセッションを開始するコマンドです。例:claude や codex と、そのフラグ。

手順

  1. 作業専用のワークツリーとブランチを用意し、 デフォルトブランチにある未コミットの変更のうち、この作業に属するものをそこへ移し、残りはそのままにします。新しいセッションが始まるまでは、このセッションを専用のチェックアウトとブランチに置き、メンテナーのチェックアウトが意図せず切り替わらないようにします。ワークツリーには絶対パスで書き込み、そこで git -C <worktree> を使って Git を実行します。

    • まだワークツリーがない場合: <worktree-tool> で作成します。リモートのデフォルトブランチを基点にブランチを作成します。ただし、作業が未プッシュのローカルデフォルトブランチ上のコミットを基にする場合は、ローカルのデフォルトブランチを基点にします。
  2. 引き継ぎに必要な、メンテナーだけが持っている入力をすべて、メンテナーがここにいる間に集めます。回答、アカウント、選択内容などが該当します。シークレットをチャットやファイルに含めず、引き継ぎにはその保存場所を記載します。

  3. /handoff を使って引き継ぎを作成し、 ワークツリーとブランチ、仕様書とチケット、そして新しいセッションがこのセッションにアクセスできるかどうかを記載します。

    • この作業がエフォートではなく、仕様書やチケットがない場合: 次に何をすべきかを引き継ぎに記載します。
    • 新しいセッションがこのセッションにアクセスできない場合: デスクトップアプリ、または <session-host> がこのセッションにプロンプトを送れない場所で実行されていると、このセッションはメッセージを受け取れません。新しいセッションが未解決の質問を自分で判断し、プルリクエストに列挙するよう、引き継ぎに記載します。
  4. 引き継ぎに記載した仕様書とチケットがイシュートラッカーにあることを確認します。 ホスト型トラッカーではイシューに、ローカルトラッカーではエフォートのフォルダー内のファイルに保存します。この作業がエフォートではない場合は省略します。

  5. ワークツリーの変更をすべてコミットしてプッシュし、 ワークツリーがクリーンになり、ブランチがリモートと一致するまで続けます。各コミットと各プッシュはそれぞれ個別の呼び出しで実行します。チェーン内のほかの内容に一致する拒否ルールがあると、チェーン全体がブロックされるためです。

    • 呼び出しが中断または拒否された場合: 再試行する前にログを確認します。コミットやプッシュがすでに反映されている可能性があるためです。
  6. 新しいセッションを引き継ぎから開始するプロンプトを、1 行で作成します。 複数行のプロンプトはコマンドではなく貼り付けられたテキストとして届くため、スキルが開始されません。それ以外の内容はすべて引き継ぎに記載します。

    新しいセッション開始プロンプト
    エフォートのオーケストレーター/orchestrate-with-handoff <引き継ぎのパス>
    エフォートの追加作業Continue from the handoff at <引き継ぎのパス>.
    エフォートではない作業Continue from the handoff at <引き継ぎのパス>: <実行する内容を 1 文で記載>. この文で、新しいセッションが着手する内容を指定します。
    • <agent> が Codex の場合: Codex ではスキルの開始に $ を使うため、$orchestrate-with-handoff と記述します。
  7. <agent> を <session-host> で開始し、 ワークツリー、トピック、新しいセッションの役割、開始プロンプトを渡します。

  8. プロンプトに取り組んでいることを確認します。 <session-host> が作業中と報告する、メンテナーが開始したと伝える、またはこのセッションで実行できることを確認します。メンテナーに実行場所を伝え、終了します。

コメント