mcpField
T
task-handoff

task-handoff

github.com/paulrbergエージェントワークフロー10254 回インストール今日更新
リポジトリ

task-handoff について

Task Handoffは、継続タスクを新しいエージェントセッション向けの自己完結した引き継ぎファイルにまとめるスキルです。タスクを分類し、リポジトリの状態や範囲、検証、実行手順を記録しますが、タスク自体は実行しません。

主な機能

  1. 01引き継ぎファイルを1つ作成
  2. 02タスク種別と複雑さを分類
  3. 03リポジトリ状態と範囲を記録
  4. 04検証と実行手順を記載
  5. 05複数リポジトリの引き継ぎに対応

活用シーン

  1. 01未完了作業を新しいセッションに渡す
  2. 02委任実行向けに複雑なタスクを準備
  3. 03根拠のある監査タスクを記録

インストール

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

$npx skills add https://github.com/paulrberg/agent-skills --skill task-handoff

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

同梱ファイルagents/openai.yaml

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

タスクの引き継ぎ

このスキルは調整ゲートの適用対象外です。宣言された作業では ai-coord ゲートをスキップしてください。

スラッシュまたはドル記号による呼び出しですでにこれらの指示が追加されている場合は、そのまま従ってください。その場合、このスキルをスキルツール経由で再度呼び出さないでください。

継続中のタスクを、新しいエージェントチャット向けの自己完結したタスク引き継ぎに変換してください。引き継ぎのみを記述してください。実装、追跡対象ファイルの編集、コミット、プッシュ、Codex の起動、無視設定の変更は行わないでください。

タスク引き継ぎでは、新しく独立したセッション向けに、判断がすべて確定したファイルを1つ作成します。単純なタスクであれば、その独立したファイルだけで受け取り側のセッションが直接実行できます。複雑なタスクの場合は、~/.agents/skills/orchestration を展開後の絶対パスに解決し、その場所に読み取り可能な SKILL.md があることを確認して、引き継ぎにその絶対パスを埋め込んでください。受け取り側のセッションには、Plan モードからそのスキルを読み込み、Codex のサブエージェントが実装できるよう、引き継ぎをタスク仕様として使うよう指示してください。$orchestration のみを使った検出には依存しないでください。

タスク引き継ぎではファイルを正確に1つだけ作成し、オーケストレーション自体は決して起動しません。作業を後で、または別の場所で続ける場合はタスク引き継ぎを使い、承認済みの計画を今実装する場合はセッション内の引き継ぎスキルを使ってください。

作業の選択

$ARGUMENTS がある場合はそれを使用します。それ以外の場合は、直近のアシスタントの応答と関連するトランスクリプトから、次に未完了のステップを推測します。タスクはスコープの選択に使い、その作業に必要な証拠だけを残します。

作成に入る前に、確認可能な事実を解決します。ユーザーや並行作業中のエージェントによる変更を保持しながら、関係するすべてのリポジトリの指示、関連するタスクの対象範囲、作業ツリーの状態を確認し、完了済みの作業、一部完了の作業、残作業を区別します。タスクがすでに完了している場合は、証拠を報告し、何も作成しません。未解決の選択によってスコープ、安全性、実行方法、検証、リポジトリの対象範囲、引き継ぎ先が大きく変わる場合に限り、質問してください。

ユーザーが求める成果、期待される証拠、許可された操作に基づいて、引き継ぎのカテゴリを分類します。タスクの内容を考慮してください。キーワードの一致だけで決めてはいけません。以下の小文字のカテゴリから、必ず1つだけ選択します。

  • implementation:定義された最終状態に到達するため、コード、設定、ドキュメント、データを変更します。
  • investigation:限定された症状、挙動、障害について、証拠と推奨される次の対応を示して説明します。
  • research:収集した証拠に基づいて選択肢を提示または比較し、推奨事項や決定記録を作成します。
  • audit:定義された対象範囲を明示的な基準に照らして評価し、優先順位付けされた、証拠に裏付けられた所見を報告します。
  • operations:状態の確認とロールバックの境界を設けたうえで、限定された保守、リリース、移行、調整のワークフローを実行します。

タスクに別カテゴリの補助作業が含まれる場合は、主要な成果物のカテゴリを選択します。

実行方法を simple または complex に分類します。委任によって所要時間、正確性、検証のいずれかが大きく向上する場合に限り、complex とします。たとえば、独立して実装可能なスコープ、依存関係に基づく作業段階、複数または不慣れなサブシステムがある場合、あるいは作業概要が25~30分を大きく超える可能性が高い場合です。ファイル数やリポジトリ数だけを複雑さの根拠にしてはいけません。それ以外は simple とします。

ローカルパスと関連するコンテキストからリポジトリを推測します。タスクが他のリポジトリだけを対象としている場合、スキルが実行されているという理由だけで現在のリポジトリを含めてはいけません。タスクが1つのリポジトリを対象とする場合も、複数のリポジトリを対象とする場合も、引き継ぎファイルは必ず1つだけ作成します。単一リポジトリ向けの引き継ぎ先は、そのリポジトリ内の <REPOSITORY>/.ai/task-handoffs/<HANDOFF_NAME.md> です。2つ以上のリポジトリにまたがる場合に限り、複数リポジトリ向けの引き継ぎ先は ~/Desktop/.ai/task-handoffs/<HANDOFF_NAME.md> です。複数リポジトリにまたがる作業では、関係するリポジトリをすべて記載し、最初に着手するリポジトリを Codex の起動ディレクトリとして選択します。対象リポジトリ、または必要な作業順序が不明確な場合は、書き込みの前に中止します。

意味が明確で重複しないファイル名を1つ選び、次の正規表現に一致させます:^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*[.]md$。PLAN_ を接頭辞として固定しないでください。保存先に同名のファイルがある場合は、意味のある修飾語を追加します。意味のある修飾語で区別できない場合に限り、_YYYY_MM_DD_HHMMSS を追加します。

引き継ぎの作成

意味内容を記述した本文の下書きを、関係するすべてのリポジトリの外にある新しいスクラッチファイルに作成します。たとえば、$TMPDIR の下に作成します。本文の下書きは1回の操作で書き込みます。下書きは空であってはならず、先頭はH1見出しでなければなりません。YAMLフロントマターを追加したり、--- で下書きを始めたりしてはいけません。## Handoff category、## Execution status、## Handoff cleanup は追加しないでください。これらは ai-handoff create が予約して追記します。

トランスクリプトを知らず、指定されたリポジトリにはアクセスできるエージェントが作業を完遂できるよう、本文に必要な決定事項をすべて記載します。次の項目を含めます:

  • 目的、成功基準、明示的な対象外事項。

  • 検証済みの現状、部分的な変更、完了済みの前提条件。

  • 行番号ではなく、安定したパス、シンボル、インターフェース、スキーマ、コマンドを基準とした変更。

  • タスク固有の根拠、手順、重要なエッジケース、障害時の動作。

  • 対象を絞った検証、受け入れシナリオ、展開、互換性、権限に関する要件。

  • 公開前に記録した、リポジトリ相対の正確な書き込み範囲。記録には ai-coord draft --name <handoff-slug> '<label>' '<path>'... を使用します。Git ルートが2つ以上ある場合は、 ai-coord bundle draft --name <handoff-slug> '<label>' '<absolute-path>'... を使用します。名前はハンドオフの ファイル名のベース名から作成します。小文字にし、_ および [A-Za-z0-9._-] 以外の文字を - に置き換え、 40文字で切り詰めます(例:NAMED_DRAFTS_IN_HANDOFF_SKILLS.md は named-drafts-in-handoff-skills になります)。

    実行可能な昇格コマンド ai-coord start --draft <handoff-slug>(または ai-coord bundle start --draft <handoff-slug>)を、同じ範囲の和集合に対する明示的な ai-coord start '<label>' '<path>'... フォールバック(または ai-coord bundle start '<label>' '<absolute-path>'...)より先に記載します。フォールバックは、7日後にドラフトの有効期限が切れた場合や台帳が置き換えられた場合など、昇格時に no draft named ... が報告されたときのみ使用します。サブツリーを列挙できないことが本当に避けられない場合に限り、--recursive を使用します。ドラフトの記録で変更されるのは調整状態のみであり、書き込み範囲は付与されません。また、このスキルにおける調整の適用除外範囲内にとどまります。例外は自律的な調査結果のトリアージです。下記の非対話型トリアージのセクションを参照してください。

  • リポジトリの根拠または明示的なユーザーの決定によって解消された前提条件。

既存のユーザー承認と、その正確な範囲、条件、除外事項をハンドオフに引き継ぎます。受け取るセッションが確定済みの質問を繰り返さず、承認済みの作業を続行できるよう、既存の承認と、引き続き承認待ちのアクションを区別します。ハンドオフ自体が承認を与えたり、受け取るホストの制限を上書きしたりすることはありません。

## Execution approach セクションを追加します。単純なタスクの場合、受け取るセッションに、この単独のハンドオフを実行し、セッション内ハンドオフスキルを呼び出さないよう指示します。複雑なタスクの場合は、~/.agents/skills/orchestration を展開して正規化し、<resolved-directory>/SKILL.md が読み取り可能であることを確認し、解決済みの絶対ディレクトリパスを実行アプローチに記載します。受け取るセッションに対し、Plan モードに入り、そのパスからスキルを読み込み、このファイルを判断に必要な情報が揃ったタスク仕様として使用するよう明示的に指示します。$orchestration のみを記載してはいけません。ここでマニフェストを指定するのではなく、オーケストレーションに最小限かつ効果的なサブエージェントチームを選ばせてください。

この複雑なタスクでは、検証および公開時に --before-work-skill 用の解決済みディレクトリを保持し、生成された Codex プロンプトにもそのスキルを記載して、受け取るセッションがタスク作業の前に読み込むよう指示します。インストール済みのスキルを解決できない場合は、ハンドオフの作成を中止します。

本文はカテゴリに合わせて調整します。実装ハンドオフでは、意図する変更、データフロー、互換性を指定します。調査ハンドオフでは、質問または症状、入手可能な根拠、再現または観察方法、調査結果が裏付けるべき判断を指定します。リサーチハンドオフでは、質問、収集すべき情報源または根拠、選択肢、推奨の基準を指定します。監査ハンドオフでは、評価対象の範囲、基準、根拠の収集方法、重大度または優先順位のモデルを指定します。運用ハンドオフでは、前提条件、順序付けられた状態遷移、権限の境界、可観測性、ロールバックまたは復旧を指定します。 リポジトリをまたぐ引き継ぎでは、番号付きの手順の前に、単一のバンドル昇格コマンドを含む ## Repository order セクションを追加します。明示的なバンドルの代替手段も併記します。最初の項目には、最初に取り組むリポジトリを記載します。各項目には、正式なルート、役割、正確な書き込み範囲、前提条件または引き継ぎ条件、リポジトリ内での検証方法、およびすぐに実行できる独自の ai-coord start コマンドを記載します。総合的な受け入れ基準も明記します。

リポジトリをまたぐ引き継ぎでは、リポジトリ相対のパスをワイルドカードなしで使用します。ディレクトリには --recursive を付ける場合に限り使用します。正確な文言が重要な場合は、トランスクリプトから直接抜粋します。それ以外の場合は、引き継ぎを簡潔にするため、関連する文脈を要約します。プレースホルダー、未確定のタスク選択肢、以前のチャットを参照しないと分からない記述は残しません。CLI では、リポジトリをまたぐすべてのドラフトに、正確な行 ## Repository order が必要です。

配置先や対象リポジトリが不確かな場合は、本文の作成に取りかかる前に事前検証します。関係するすべてのリポジトリを --repo で渡します。リポジトリをまたぐ作業では、最初に取り組むリポジトリを --launch-repo で渡します。関係するリポジトリが1つだけで、そのデフォルトが適切な場合に限り、--launch-repo を省略します。

ai-handoff create --check \
  --repo '<candidate-repository>' \
  [--repo '<additional-repository>' ...] \
  [--launch-repo '<first-repository-to-tackle>'] \
  [--before-work-skill '<resolved-orchestration-directory>'] \
  --category '<task-category>' \
  --task '<concise-task>' \
  '<HANDOFF_NAME.md>'

このコマンドは、ドラフトを読み込んだり何かを書き込んだりせずに、リポジトリのルート、任意の起動リポジトリ、カテゴリ、ファイル名、配置先、および必須の ignore ルールを検証します。複雑な引き継ぎでは、解決済みの絶対パスである orchestration ディレクトリを --before-work-skill で指定します。単純な引き継ぎでは省略します。このオプションは、ディレクトリが絶対パスであり、読み取り可能な SKILL.md を含むことを検証します。コマンドは target、launch_repo、category の各行をタブ区切りで出力します。

本文が完成したら、1回の呼び出しで公開します。

ai-handoff create \
  --repo '<candidate-repository>' \
  [--repo '<additional-repository>' ...] \
  [--launch-repo '<first-repository-to-tackle>'] \
  [--before-work-skill '<resolved-orchestration-directory>'] \
  --category '<task-category>' \
  --task '<concise-task>' \
  --draft '<scratch-draft-path>' \
  '<HANDOFF_NAME.md>'

ai-handoff は各リポジトリを物理的な Git のトップレベルディレクトリに正規化し、重複を除去します。任意の起動リポジトリは、対象に含まれている必要があります。リポジトリが1つだけの場合は、そのリポジトリがデフォルトになります。複雑な引き継ぎでは、検証時と同じ --before-work-skill の値を渡します。これにより、<resolved-orchestration-directory>/SKILL.md を明示し、タスクに取りかかる前に読み込むよう求める文を、プロンプトの末尾に追加します。

CLI はドラフトを検証し、category、created、launch_repo、repos、origin、task を記録する YAML フロントマターと、固定のカテゴリ、実行ステータス、クリーンアップに関する契約を追加したうえで、既存ファイルを上書きせずに新しい配置先へアトミックに公開します。生成された Codex コマンドをコピーし、プラットフォームのクリップボードツールを通じてバイト列が完全に一致することを検証します。エラーは ai-handoff: のプレフィックスを付けて stderr に出力します。使用方法のエラーは終了コード 2、運用上のエラーは終了コード 1 で終了します。修正可能な検証エラーの場合は、ドラフトまたは引数を修正して同じコマンドを再実行します。失敗しても引き継ぎファイルは残りません。一時的な実行ディレクトリ、キャンセルコマンド、手動での配置先クリーンアップはありません。

追加される ## Handoff cleanup セクションには、コマンドが1つ含まれます。

ai-handoff archive '<absolute-handoff-path>'

受け取り側のエージェントは、引き継ぎの完了後にのみ、このコマンドを実行します。コマンドは $HOME/.local/share/task-handoffs/archive/<origin-name>/ にアーカイブします。<origin-name> は .ai を含むディレクトリのベース名です。同名のものがある場合は、UTC の _YYYY_MM_DD_HHMMSS サフィックスを付けます。このスキルが引き継ぎをアーカイブすることはありません。

非対話型の ai-coord 検出結果トリアージでは、検出 ID を大文字にするのは、決定論的なファイル名 FINDING_<UPPERCASE_ID>.md のみです。意味内容を含むドラフト本文では、機械可読形式が正確に Source finding: <ID> となる行に、台帳 ID の元の表記を保持します。その後、クリップボードにアクセスせずに公開します。

ai-handoff create --no-clipboard \
  --repo '<candidate-repository>' \
  --category '<task-category>' \
  --task '<concise-task>' \
  --draft '<scratch-draft-path>' \
  'FINDING_<UPPERCASE_ID>.md'

このモードでは、公開と構造検証を維持しながら、クリップボードへのコピーと検証を省略します。自律型トリアージワーカーはライフサイクルコマンドを拒否する ai-coord デリゲートとして実行されるため、ai-coord draft と promote コマンドを省略し、スコープの和集合に対して明示的な ai-coord start '<label>' '<path>'... コマンド(または ai-coord bundle start '<label>' '<absolute-path>'... コマンド)のみを記録します。既存の決定的な調査結果の引き継ぎを上書きしないでください。別の引き継ぎを作成する前に、既存の引き継ぎを解決してください。自律型トリアージランタイムを介さずに対話形式で調査結果の引き継ぎを作成する場合は、公開が成功した後にのみ以下を実行し、台帳の記録を pending から handed-off に移行してください。台帳 ID の元の表記はそのまま維持してください。

ai-coord finding handoff '<original-id>' --path '.ai/task-handoffs/FINDING_<UPPERCASE_ID>.md'

タブ区切りの標準出力行を最終レコードとして読み取ります。項目は handoff、launch_repo、category、command です。コマンドは実行しないでください。

レポート

成功した場合は、### ✅ Task handoff ready — <task> で終了します。最終レコードの引き継ぎパス、正規の起動リポジトリ、カテゴリ、選択した実行方法、正確な Codex コマンドを、1 つのコードブロックに記載してください。引き継ぎの本文を繰り返したり、クリップボードへのコピーや検証に言及したりしないでください。

ブロッカーがある場合は、### ⛔ Task handoff not written — <reason> で終了し、引き継ぎファイルが作成されていないことを明記してください。

コメント