handoff
Skill1 starsChanged 2 months agoMITView on GitHub
作業の引き継ぎファイル(handoff)を保存・読込するスキル。セッション跨ぎの作業再開やタスク切り替えに使う。save で現在の作業状態を書き出し、load で過去のhandoffから再開する。「作業を保存して」「handoff 保存」「続きから再開」「handoff 一覧」のような自然言語で起動。
191 other projects use a version of this.
Adopted by
Most recently taken up by
- xiaoxiaosrm/dsh-mattpocock-skillstheir own version, first seen Nov 8, 2026
- ethosagent/ethostheir own version, first seen Nov 8, 2026
- dsifry/metaswarmtheir own version, first seen Nov 8, 2026
- glebis/claude-skillstheir own version, first seen Nov 8, 2026
- domengabrovsek/agent-configtheir own version, first seen Nov 8, 2026
- domengabrovsek/claudetheir own version, first seen Nov 8, 2026
Used with
Projects with it also use decision-mapping, setup-ts-deep-modules and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
FabienDehopreSkilldecision-mapping
Turn a loose idea into a sequenced map of investigation tickets, then drive them to resolution one at a time.
Also in 8 projects that use this
liufeng1976Skillsetup-ts-deep-modules
Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.
Also in 42 projects that use this
AWSSkillto-questionnaire
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
Also in 93 projects that use this
GoogleSkillask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Also in 87 projects that use this
RoentekSkillloop-me
Grill me about specs for the workflows I want to build, within this workspace.
Also in 51 projects that use this
LesaniSkillwriting-beats
Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.
Also in 54 projects that use this
Other versions191 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 191
- mattpocock/skills★ 309ksame name
- QuivrHQ/quivr★ 40ksame name
- The-Vibe-Company/quivr★ 40ksame name
- GreyDGL/PentestGPT★ 16ksame name
- ykdojo/claude-code-tips★ 10ksame name
- ArcReel/ArcReel★ 6.3ksame name
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
- withcoral/coral★ 4.9ksame name
- epicenter-md/epicenter★ 4.8ksame name
- EpicenterHQ/epicenter★ 4.8ksame name
181 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository27 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- add-hookSkill
- affected-area-testingSkill
- commit-workflowSkill
- create-issueSkill
- create-manualSkill
- create-prSkill
- debug-bar-investigationSkill
- documentation-standardsSkill
- edit-issueSkill
- large-feature-executionSkill
- livewire-v3-syntaxSkill
- parallel-setupSkill
- pdf-readSkill
- pdfSkill
- playwright-error-detectionSkill
- pre-implementation-researchSkill
- questionnaireSkill
- resolve-issueSkill
- review-permissionsSkill
- review-prSkill
- route-managementSkill
- systematic-debuggingSkill
- tailwind-enforcementSkill
- tddSkill
- ui-approvalSkill
- writing-skillsSkill
The file
Files
作業引き継ぎ(handoff)スキル
作業状態をファイルに保存し、後で読み込んで続きから再開できるようにするスキル。 プロジェクトをまたいでグローバルに利用する。
設定
- 保存先ディレクトリ:
~/.claude/handoff/(存在しなければ初回 save 時に自動作成する) - ファイル名フォーマット:
YYYY-MM-DD-HHMMSS-{サニタイズ後タスク名}.md - テンプレート:
~/.claude/skills/handoff/template.md - タスク名のサニタイズ規則(ファイル名に使う際に必ず適用する。frontmatter の
taskには元のタスク名を保存する):- 不正文字(
/,\,:,*,?,",<,>,|, 改行)はハイフンに置換する - 空白文字(半角スペース・全角スペース・タブ)はハイフンに置換する
- 連続するハイフンは 1 個に圧縮する
- 先頭・末尾のハイフンは削除する
- 日本語はそのまま使ってよい
- 不正文字(
- セッション名との連携:
saveのデフォルトタスク名取得には、Claude Code が~/.claude/sessions/{pid}.jsonに永続化するセッション名(/renameコマンドや plan 承認の自動命名で設定されるnameフィールド)を参照する(内部仕様のため将来バージョンで変更の可能性あり。取得失敗時は静かに fallback する)。以下いずれの場合も警告を出さず会話文脈からの推測に fallback する:CLAUDE_CODE_SESSION_ID環境変数が未定義または空~/.claude/sessions/ディレクトリが存在しないsessionIdが一致するファイルが見つからない
load時のセッション名設定: sessions ファイルへの直接書き込みは行わない。handoff のtask名をユーザーに提示し、/renameコマンドで手動設定するよう促す。
動作モード
引数の最初のトークンで分岐する(save / load / list)。
引数が無い、もしくは不明な場合は使い方を表示する。
save [タスク名] — 現在の作業状態を保存
- タスク名を決定する(優先順位):
- 引数で明示的に渡されたタスク名
- 現在のセッション名(
CLAUDE_CODE_SESSION_ID環境変数で session ID を取得し、~/.claude/sessions/内のファイルをスキャンして一致するsessionIdを持つファイルのnameフィールドを読む。Bash 例:grep -rl "\"sessionId\":\"${CLAUDE_CODE_SESSION_ID}\"" ~/.claude/sessions/ 2>/dev/null | head -1) - 会話の文脈から推測したタスク名
- 優先順位 2 の fallback: 以下いずれの場合も警告を出さず静かに優先順位 3(会話文脈から推測)に fallback する: (a)
CLAUDE_CODE_SESSION_IDが未定義または空、(b)~/.claude/sessions/が存在しない、(c)sessionId一致ファイルが見つからない - セッション名と会話文脈が明らかに食い違う場合(例: セッション名が別タスクの残骸で、現在の会話は別テーマを扱っている)は、優先順位 2 と 3 が乖離するときに限りどちらを採用するかユーザーに短く確認すること。優先順位 1(引数指定)のときは確認しない。
mkdir -p ~/.claude/handoffでディレクトリを確保- 保存方針と引き継ぎ値を決定する(この時点ではまだファイルを作成・削除しない):
- 同一タスク名の既存ファイルを検索:
~/.claude/handoff/内で、ファイル名がサニタイズ後タスク名で終わるファイルを Glob で探す。pattern 例:~/.claude/handoff/*-{サニタイズ後タスク名}.md - 既存ファイルが複数ヒットした場合: ファイル名のタイムスタンプ降順で最新を上書き対象候補とし、対象ファイル名をユーザーに提示して上書き可否を確認する(勝手に複数を消さない)。
- 既存ファイルが見つかった場合: ユーザーに「既存の handoff({ファイル名})を上書きしますか? 新規作成しますか?」と確認する
- 上書き: 旧ファイルの frontmatter から
createdを読み取って保持し、updatedは現在時刻にする。旧ファイル名は「新ファイル書き出し成功後に削除する対象」として控えるだけにする(ここでは削除しない)。- 旧ファイルに
createdが無い/パースできない場合は、createdに現在時刻を代入する(フォールバック)。
- 旧ファイルに
- 新規作成:
createdとupdatedを両方とも現在時刻に設定し、別ファイルとして作成する(旧ファイルは削除しない)。
- 上書き: 旧ファイルの frontmatter から
- 既存ファイルが無い場合:
createdとupdatedを両方とも現在時刻に設定する。
- 同一タスク名の既存ファイルを検索:
- 現在時刻を取得:
date +%Y-%m-%d-%H%M%S - 新ファイルパスを決定:
~/.claude/handoff/{YYYY-MM-DD-HHMMSS}-{サニタイズ後タスク名}.md - テンプレート
~/.claude/skills/handoff/template.mdを Read し、プレースホルダに現時点の会話文脈から分かる内容を埋めて新ファイルに Write する{...}で囲まれたプレースホルダ・ガイダンス文(例:{今どこまで進んだか…})は最終出力には残さず、実内容で置き換える。埋める内容が無い項目は-のみの空リストにする(後から手で追記できるように)- frontmatter は
template.md冒頭の---行から始める。テンプレートにフェンス(```)は含まれていないので、そのまま書き出してよい - 事実に基づき、推測が入る場合は
(推測)と明示する
- 新ファイルの書き出し成功を確認してから、手順 3 で控えた上書き対象の旧ファイルがあれば削除する(アトミック性の担保。書き出し前に旧ファイルを消さない)
- 書き出したファイルパスを報告する
load [番号] — 保存済みhandoffから再開
~/.claude/handoff/内の*.mdをファイル名降順(=最終更新が新しい順)で列挙する- ファイルが1つも無ければ「handoffはありません」と報告して終了
- 引数で番号が指定されていればその番号のファイルを使う。未指定なら以下のように一覧を提示してユーザーに番号を尋ねる:
handoffを選んでください: 1. 2026-05-26-140000 | タスクA(作成: 2026-04-24) 2. 2026-04-23-101530 | タスクB ...- ファイル名のタイムスタンプ(=最終更新日時)を表示する
- frontmatter の
createdとupdatedが異なる場合は(作成: YYYY-MM-DD)を末尾に付けて、元の作成日もわかるようにする (番号選択はユーザーの返答を待つ。load <番号>で直接指定されていればスキップ)
- 選ばれたファイルを Read で読み込み、内容をそのまま提示する(提示時の省略ルールは「注意事項」を参照)
- ユーザーにセッション名の設定を促す:
- frontmatter の
task値を使って「セッション名を設定するには/rename {タスク名}を実行してください。」と案内する。
- frontmatter の
- 続けて「このhandoffの続きから作業を再開します。次のアクションから着手しますか?」と一言添える
list — 保存済みhandoff一覧を表示
~/.claude/handoff/内の*.mdをファイル名降順(=最終更新が新しい順)で列挙する- 各ファイルについて以下を表示:
- 番号
- 最終更新日時(ファイル名から抽出)
- タスク名(frontmatter の
taskまたはファイル名から抽出) - frontmatter の
createdとupdatedが異なる場合は(作成: YYYY-MM-DD)を末尾に付ける
- 件数が0なら「handoffはありません」と報告
引数なし or 不明
使い方を表示:
/handoff save [タスク名] - 現在の作業を保存
/handoff load [番号] - 保存済みhandoffから再開
/handoff list - handoff一覧を表示注意事項
- 外部 skill への依存はない。Claude Code 標準の
/renameコマンドが書き込む~/.claude/sessions/{pid}.jsonのnameフィールドのみを参照する。 save時は会話コンテキストから積極的に情報を抽出して埋めること。空のテンプレートだけ書き出すのは避ける- 機微情報は保存しない: API キー・認証トークン・パスワード・秘密鍵などが会話に含まれていても handoff ファイルには書き出さず、
(redacted)に置き換える(handoff は平文で~/.claude/handoff/に永続化されるため) - テンプレート内の
{...}プレースホルダ・ガイダンス文は最終出力には残さず、必ず実内容で置き換える loadで内容を提示する際は、マークダウンの構造を保ったまま全文を出す(要約しない)。ただし極端に長い handoff(目安 200 行超)は frontmatter と主要セクションを全文提示し、残りは「(…以下省略。全文はファイル参照)」と省略してコンテキスト枯渇を避ける- ファイル名に使うタスク名は必ず「設定」のサニタイズ規則を適用する。サニタイズ前後で見た目が大きく変わる場合は、frontmatter の
taskに元のタスク名を保存しておくこと
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

