| name | handoff |
| description | 現在進行中の会話を、別のエージェント / fresh session が続きを再開できる「引き継ぎ文書 (handoff)」へ圧縮して書き出すスキル。今何を目指し・どこまで進み・次に何をすべきか・落とし穴・関連 artifact への参照・推奨 skill を 1 枚にまとめ、ワークスペースではなく OS の一時ディレクトリに保存する。既存 artifact (PRD / plan / ADR / issue / commit / diff) の内容は複製せずパスや URL で参照し、API キー・パスワード・PII は redact する。「引き継ぎ書いて」「handoff 作って」「別のエージェントに渡したい」「次のセッションに引き継いで」「コンテキスト圧縮して別 agent に」「この作業を誰かが続けられるようにまとめて」「hand off して」のような要請、長い作業を中断して後で / 別セッションで再開する前、context が膨らんで別 agent に委譲したい時、いずれでも必ず起動すること。引数があれば「次のセッションが何にフォーカスするか」の説明として扱い、その焦点に合わせて文書を仕立てる。本スキルは**進行中作業の状態を継続用に転送する**もので、完了セッションからハーネス改善の学びを抽出する `retro` / `session-retro` とは別物 (あちらは harness 改善提案、こちらは作業継続のための state transfer)。単なる会話要約や、コード実装・commit・PR 作成そのものは範囲外。 |
| allowed-tools | ["Read","Write","Bash(git status *)","Bash(git log *)","Bash(git diff *)","Bash(git branch *)","Bash(printenv TMPDIR)","Bash(printenv TEMP)","Bash(printenv TMP)"] |
Handoff — 引き継ぎ文書の生成
現在の会話を、白紙の別エージェントがそのまま続きを再開できる最小十分な引き継ぎ文書に圧縮するスキル。
context window は有限で、長いセッションはいずれ圧縮・中断される。作業の「なぜ・どこまで・次に何を」が失われると、後続 agent は同じ調査をやり直す。本スキルはその再開コストを 1 枚のドキュメントに畳んで消す。
保存先は ワークスペースではなく OS の一時ディレクトリ。引き継ぎ文書はリポジトリの成果物ではなく、コミットしてはいけない。
いつ使うか / 使わない場面
使う (必ず起動)
- 「引き継ぎ書いて」「handoff 作って」「hand off して」
- 「別のエージェント / 次のセッションに引き継いで」「誰かが続けられるようにまとめて」
- 「context 圧縮して別 agent に渡したい」「ここで一旦切って後で再開したい」
- 長い調査・実装を中断する前 / context が膨らんで別 agent へ委譲する前
使わない (別スキル)
- 完了セッションからハーネス改善提案 (rule / sensor / issue / eval) を出したい →
retro / session-retro
- 会話の単なる要約が欲しいだけ (継続を意図しない) → 通常の応答で足りる
- 実装・commit・push・PR 作成そのもの →
commit / shipping 等
- 設計判断を残したい →
adr-writer / design
retro との線引き: handoff = 進行中作業の state を継続用に転送、retro = 完了作業から harness の学びを抽出。向きも目的も違う。
ワークフロー
Step 1 — 焦点を確定する
- 引数があれば「次のセッションが何にフォーカスするか」として解釈し、文書全体をその焦点に寄せる。
- 引数が無ければ、直近の会話から「今のゴール」と「未完のタスク」を焦点に据える。
Step 2 — 既存 artifact を棚卸しする
重複を避けるため、既に別の場所に書かれている情報を先に洗い出す。これらは中身を再掲せずパス / URL で参照する。
- PRD / plan / ADR / design メモ / issue / PR
- commit と diff →
git log --oneline -n 20 と git status / git diff --stat で現在地を確認し、SHA やブランチ名で参照
Step 3 — 一時ディレクトリのパスを決める
- プラットフォームの temp を解決する。Unix / macOS は
$TMPDIR → 無ければ /tmp。Windows は %TEMP% → %TMP%。どれも取れなければユーザに保存先を確認する。
- ワークスペース配下を弾く。解決した temp パスが現在のリポジトリ / ワークスペース配下に入る場合 (CI 等で
TMPDIR がリポジトリ内に設定されているケース) は使わず、リポジトリ外の明示的な temp を選ぶ。handoff 文書はコミット対象にしない — 書き込む前にパスがワークスペース外であることを確認する。
- ファイル名は内容が分かる形:
handoff-<slug>-<YYYY-MM-DD>.md。
Step 4 — 文書を組み立て、redact してから書き出す (下記テンプレ)
- redaction は後処理ではなく構築の一部。API キー / トークン / パスワード / PII / 内部ホスト名などの機密は、内容を組み立てる段階で
<redacted> 等に置き換え、Write する前に取り除く。平文の handoff を temp ファイルにも (Write 経由で) トランスクリプトにも一度も落とさない — 書いてから消すのでは、既に temp ファイルとログに残っている。
- 後続 agent が最初の 1 アクションをすぐ選べる粒度で書く。曖昧な要約でなく、次の一手が分かること。
- Suggested skills セクションを必ず含め、後続 agent が呼ぶべき skill を挙げる (例: 実装続行なら
tdd、出荷なら shipping)。
- redact 済みの内容だけを、Step 3 で確定した temp パスに
Write する。
Step 5 — パスを返す
- 保存した絶対パスをユーザに提示し、次セッションの起点として渡せるようにする。
出力フォーマット (handoff 文書テンプレ)
# Handoff: <焦点を 1 行で>
## 目的 / ゴール
<このセッションで達成しようとしていること。1〜3 行>
## 現在地 (Status)
- 完了: <済んだこと>
- 進行中: <着手済みで未完のもの>
- ブランチ / SHA: <branch> @ <short-sha>
## 次にやること (Next actions)
1. <後続 agent が最初に取るべき一手>
2. ...
## 落とし穴 / 決定事項 (Gotchas & Decisions)
- <ハマった点、選んだ方針とその理由>
## 参照 (中身は再掲しない)
- PRD/plan/ADR/issue/PR: <path or URL>
- 関連 commit: <sha> ...
## Suggested skills
- `<skill>` — <なぜ次に呼ぶべきか>
このスキルがやらないこと
- ハーネス改善提案 (rule / sensor / eval / issue 化) は出さない →
retro / session-retro。
- 実装・commit・push・PR 作成はしない。文書生成まで。
- 既存 artifact の内容複製はしない。参照に留める。
- ワークスペースへの保存はしない。一時ディレクトリ限定。