handoff
Skill1 starsChanged 26 days agoMITView on GitHub
Session continuity helper. On start, load the project's HANDOFF.md and summarize where work left off; on end, update HANDOFF.md and produce a session summary. Use when starting or resuming work on a project, or when wrapping up a session.
- Commits and pushes
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 repository6 other files it gives its agents.
- build-docsSkill
- docs-reviewSkill
- humanizerSkill
- icm-validateSkill
- run-modeSkill
- session-closeSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 5 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 172 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Look at what the user typed after the skill name (in Claude Code it may be appended at the end as ARGUMENTS: ...):
- Very specific: line 26
Read HANDOFF.md in the project root in full.
- Distinctive: line 28
If the file does not exist (first session on this project), offer to create it from the template in the HANDOFF.md template section below, …
- Very specific: line 32
Verify freshness: Run git log -1 --format="%H %s" and compare against the Last commit recorded in HANDOFF.md.
- Distinctive: line 45
Do NOT re-read the handoff on every subsequent turn — it is loaded once.
- Distinctive: line 53
When the session's conversation is in context, infer these and confirm the assembled delta once, rather than prompting for each item.
- Very specific: line 64
Read HANDOFF.md — if it does not exist, create it from the template in the
- Very specific: line 74
Write the updated file back to HANDOFF.md.
- Very specific: line 102
Use today's date for <date> (check it with Get-Date or date if you are not sure of it).
- Distinctive: line 105
Ask the user whether to push the current branch: git push origin HEAD.
- Very specific: line 111
When creating HANDOFF.md for the first time (either mode), seed it with:
- Distinctive: line 144
Never include actual credential values in the handoff document — reference config/env files by path only.
“Common” is measured: kept by at least 6 in 10 of the 172 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Handoff — Session Start / End Helper
Reads the project handoff document and either:
- Session start: surfaces all context needed to resume work immediately, or
- Session end: prompts for what changed and updates the handoff document.
Detecting mode
Look at what the user typed after the skill name (in Claude Code it may be
appended at the end as ARGUMENTS: ...):
start(or empty at the start of a new session): run START mode.end(orupdate): run END mode.- Anything else / ambiguous: ask "Are you starting a new session or ending one?"
START mode
Read
HANDOFF.mdin the project root in full.If the file does not exist (first session on this project), offer to create it from the template in the HANDOFF.md template section below, then skip to step 4.
- Verify freshness. Run
git log -1 --format="%H %s"and compare against theLast commitrecorded inHANDOFF.md. If they differ, warn the user that the previous session likely ended without running/handoff end, so the handoff may be stale — recent commits may not be reflected below. - Print a concise "Ready to work" summary covering:
- Last commit SHA and message
- In-progress work and current status
- Any known blockers or follow-up items
- Next steps the user left off at
- Confirm: "Handoff loaded. What would you like to work on?"
Do NOT re-read the handoff on every subsequent turn — it is loaded once.
END mode
Step 1 — Gather session delta
When the session's conversation is in context, infer these and confirm the assembled delta once, rather than prompting for each item. Only fall back to asking item-by-item if the conversation is unavailable or ambiguous:
- What was worked on this session?
- What was the last commit SHA and message?
- Were any new paths, patterns, or gotchas discovered?
- Were any known limitations resolved or added?
Step 2 — Update HANDOFF.md
Read HANDOFF.md — if it does not exist, create it from the template in the
HANDOFF.md template section below first — then apply these specific updates:
| Section | What to update |
| Header line | Last updated, Last commit |
| Recent commits | Prepend new commits (keep last ~8) |
| Known limitations | Add/remove items as appropriate |
| Any section | Add new paths, patterns, gotchas |
Write the updated file back to HANDOFF.md.
Step 3 — Compose the session summary
Produce a compact Markdown summary suitable for pasting into the next session's context. Include:
- Primary Request and Intent — what the user asked for
- Key Technical Concepts — algorithms, patterns, design decisions
- Files and Code Sections — exact paths and key changes with snippets
- Errors and Fixes — bugs hit and how they were resolved
- Problem Solving — non-obvious decisions
- User Requests — paraphrased list of what the user asked for (quote verbatim only where exact wording matters)
- Pending Tasks — anything explicitly left incomplete
- Current Work — last thing done before session end
Step 4 — Commit the handoff file
When run as part of the session-close skill: skip this step. Session-close makes a single commit that already includes
HANDOFF.md. Only commit here when/handoff endwas run on its own.
git add HANDOFF.md
git commit -m "docs: update HANDOFF.md for session end <date>"Use today's date for <date> (check it with Get-Date or date if you are not
sure of it).
Ask the user whether to push the current branch: git push origin HEAD.
HANDOFF.md template
When creating HANDOFF.md for the first time (either mode), seed it with:
# HANDOFF
Last updated: <date> | Last commit: <SHA> — <message>
## Current state
<one paragraph on where the project stands and what is in progress>
## Recent commits
- <SHA> — <message>
## Known limitations
- <item, or "None known">
## Next steps
- <item>Fill the placeholders from git log and the current session before writing —
do not leave literal <...> markers in the committed file.
Notes
HANDOFF.mdis assumed to live at the project root.- It should be committed to the repo (not gitignored) so it travels with the code.
- Never include actual credential values in the handoff document — reference config/env files by path only.
- The session summary (Step 3) is separate from HANDOFF.md — it is printed to the chat for the user to copy, not written to any file.
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.

