前セッションからの引き継ぎを確認し、未完了タスクがあれば承認後に作業を再開する。
パス解決(読み込み先の決定)
チーム所属判定
- •自分を起動した prompt に handover ファイルの明示的なパスが含まれるか確認する
- •含まれる場合 → そのパスのディレクトリを使用
- •チーム所属判定(handover スキルと同じロジック)
- •明示パスあり → 指定されたパス
- •チーム所属あり →
.claude/handover/{team-name}/{agent-name}/
単体セッション(チーム所属なし)
- •
{cwd}/.claude/handover/を走査し、利用可能なセッション(status がREADY)を収集する - •v2 互換:
{cwd}/.claude/project-state.jsonが存在する場合、候補に含める(選択後にマイグレーション) - •候補がない場合、
git worktree listで他の worktree の.claude/handover/も検索する。見つかった場合:CWD にはセッションがありませんが、worktree
{path}に以下のセッションがあります: - •候補数に応じた処理:
- •0件 → 「再開可能なセッションがありません」と報告して終了
- •1件以上 →
AskUserQuestionで一覧表示し選択させる。表示内容:- •ブランチ名、fingerprint、完了/残タスク数、次タスクの概要
- •orphan session(
workspace.rootが存在しない)には「⚠ worktree 削除済み」と警告を付ける
手順
- •
上記のパス解決で選択されたセッションの
project-state.jsonを読み込む- •存在しない場合 → 「プロジェクト状態ファイルがありません。/handover で作成してください」と報告して終了
- •JSON として不正な場合 → エラーを報告して終了
- •必須フィールド(version, status, active_tasks)が欠けている場合 → エラーを報告して終了
- •
git log --oneline -5を実行し、直近のコミット履歴を確認する- •active_tasks 内の done タスクの commit_sha が実際のコミット履歴に存在するか照合する
- •
status フィールドを確認する
- •
ALL_COMPLETEの場合 → 「全タスク完了済みです。新しい作業の指示を待ちます。」と報告して即座に終了する。コードベースの探索は行わない - •
READYの場合 → 次のステップへ
- •
- •
未完了タスク(status が
in_progressまたはblocked)を以下の形式で一覧表示する:- •タスクID、説明、ステータス
- •関連ファイルパス(file_paths)
- •次のアクション(next_action)
- •ブロッカー(blockers があれば表示)
- •
last_touchedが 48 時間以上前のタスクには「⚠ stale(48h 以上未更新)」と警告を付ける
- •
作業開始の確認:
- •後継エージェントとして起動された場合(prompt に「後継エージェント」を含む)→ 承認をスキップし即座に作業を開始する
- •それ以外 → ユーザーに「これらのタスクを優先順に進めますか?」と確認する(承認されるまで作業を開始しない)
- •
承認後、未完了タスクを一覧の順序で実行する
- •各タスク完了時に選択されたセッションの
project-state.jsonを更新する:- •status を
doneに変更 - •commit_sha を記録(コミットした場合)
- •last_touched を現在時刻に更新
- •status を
- •全タスクの status が
doneになったら、トップレベルの status をALL_COMPLETEに設定
- •各タスク完了時に選択されたセッションの
- •
最後に選択されたセッションの
handover.mdをproject-state.jsonから再生成する- •handover.md のフォーマットは以下の通り:
code
# Session Handover
> Generated: {ISO8601}
> Session: {session_id}
> Status: {READY | ALL_COMPLETE}
## Completed
- [ID] タスク説明 (commit_sha)
## Remaining
- [ID] **status** タスク説明
- files: ファイルパス
- next: 次のアクション
## Blockers
- ブロッカー一覧
## Context
- recent_decisions から決定事項とその理由
## Architecture Changes (Recent)
- sha: 要約
## Known Issues
- [severity] 問題の説明
Cleanup
continue 実行時に、{cwd}/.claude/handover/ 配下の ALL_COMPLETE かつ generated_at が7日以上前のセッションディレクトリを自動削除する。削除前にログ出力する。
制約
- •project-state.json が存在しない、または ALL_COMPLETE の場合はコードベースの探索を行わない
- •タスク実行前に必ずユーザーの承認を得る
- •設定されている言語で出力する