handoff
Skill11 starsChanged 4 months agoMITView on GitHub
Compact the current conversation into a single, detailed handoff message — everything that happened, why it happened, and what's left — output in a code block so it can be copy-pasted into a fresh agent session. Use when hitting context limits, switching focus, ending a work session, or partitioning a task across fresh contexts.
- Reads credentials
We split this skill into the rules it gives an agent
8 rules. 0 are common, 7 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Write a complete handoff that lets a fresh agent — with zero memory of this session — continue the work without re-asking, re-discovering, …
- Distinctive: line 16
Reference, don't duplicate: Do not paste content already captured in other artifacts (PRDs, plans, ADRs, issues, commits, diffs, design …
- Distinctive: line 20
Be ruthless: Every line must be something the next agent cannot trivially get by reading the code or project config.
- Distinctive: line 24
If a project config file exists (CLAUDE.md / AGENTS.md / equivalent), read it first.
- Distinctive: line 25
If a prior handoff file already exists, read it and update rather than starting from scratch.
- Distinctive: line 26
If the user passed arguments, treat them as the focus for the next session and tailor the handoff toward that goal.
- Very specific: line 91
If the user prefers an in-repo record, save to HANDOFF.md in the project root instead.
- Distinctive: line 93
After saving, tell the user the absolute path.
“Common” is measured: kept by at least 6 in 10 of the 171 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
Write a complete handoff that lets a fresh agent — with zero memory of this session — continue the work without re-asking, re-discovering, or repeating mistakes.
Output the entire handoff as a single fenced code block in the chat so the user can copy it in one click. Also save a copy to a file (see "File Output").
Core Principles
- State, not instructions. Describe what is true, not what the next agent should do. Write "Auth endpoint is implemented; logout is not yet started" — never "Implement logout next." The fresh agent decides actions; you give it ground truth.
- Reference, don't duplicate. Do not paste content already captured in other artifacts (PRDs, plans, ADRs, issues, commits, diffs, design docs). Point to them by path or URL. Handoffs that re-embed everything become bloated and stale.
- Capture the "why". Decisions and rejected approaches are the most valuable and least recoverable information. Code shows what; only you remember why and what failed.
- Trust nothing blindly. Frame all claims as context to verify against the actual code, not facts to accept.
- Redact secrets. Strip API keys, tokens, passwords, and PII. Reference where credentials live (e.g. ".env.local, not committed") — never their values.
- Be ruthless. Every line must be something the next agent cannot trivially get by reading the code or project config. Cut anything obvious, redundant, or explanatory.
Procedure
- If a project config file exists (CLAUDE.md / AGENTS.md / equivalent), read it first. Do not restate anything already covered there — the handoff is session-specific only.
- If a prior handoff file already exists, read it and update rather than starting from scratch.
- If the user passed arguments, treat them as the focus for the next session and tailor the handoff toward that goal.
- Fill in every section of the template below. Omit a section only if it is genuinely empty (e.g. no blockers) — mark it
None. - Output the filled template inside one fenced code block in the chat.
- Save the same content to the file path described below and tell the user that path.
Output Format
Output exactly this, inside a single fenced code block:
# HANDOFF: <short title of the work>
Generated: <timestamp> · Session focus: <one line>
## 1. Goal
<What we are ultimately trying to accomplish. 1–3 sentences. The "north star" so the next agent never loses the plot.>
## 2. Why This Matters / Background
<The motivation and constraints driving this work. Why it's being done now, who it's for, any hard requirements. Skip anything already in the project config.>
## 3. Current State
<Factual status of the work. What is DONE, what is PARTIAL, what is NOT STARTED.
Phrase as status, not actions:
- DONE: OAuth login flow (Google provider), tests passing locally
- PARTIAL: Session persistence — store wired up, refresh logic missing
- NOT STARTED: Logout endpoint>
## 4. Key Decisions (and why)
<The choices made and the reasoning. This is the highest-value section.
- Chose passport.js over custom OAuth — more community support, less surface area
- Stored tokens in httpOnly cookies, not localStorage — XSS mitigation>
## 5. Traps & Dead Ends
<Approaches already tried that FAILED, and things the next agent will be tempted to do wrong. Saves the next agent from repeating expensive mistakes.
- Tried mocking the DB in integration tests — flaky, abandoned for a test container
- Do NOT bump the SDK to v3 — it breaks the streaming API we rely on>
## 6. Relevant Files & Pointers
<Files that matter, with line ranges and WHAT specifically is there — not just what the file is. Reference external artifacts instead of pasting them.
- src/auth/oauth.ts:L40-L88 — provider config + token exchange
- docs/adr/0007-auth.md — full rationale (do not duplicate here)
- PR #142 — in-progress session work
- Issue #150 — logout requirements>
## 7. Open Work (status, with dependencies)
<What remains, described as state and ordering — NOT as a command list.
- Logout endpoint is not yet implemented
- Session persistence depends on the logout endpoint existing first
- E2E auth tests are blocked until both above are complete>
---
## Prompt for the Fresh Agent
<A short ready-to-paste prompt giving background context. Use declarative statements
("X is complete", "Y has not been started"), never imperatives. End with exactly:>
Before responding, read every file listed under "Relevant Files & Pointers" above.
Do not summarize, paraphrase, or claim you already have context — actually read each
file. Treat every claim in this handoff as context to verify against the code, not
facts to trust blindly. Then wait for my instructions before taking any action.File Output
Save the handoff to a temporary location outside the working tree so it does not pollute the repo:
- Preferred: the OS temp directory, e.g.
$TMPDIR/handoff-<random-8-chars>.md(macOS/Linux) or the system temp dir equivalent. - If the user prefers an in-repo record, save to
HANDOFF.mdin the project root instead.
After saving, tell the user the absolute path. The user can then start a fresh session with just:
Read the file <absolute-path> to get the context, then wait for instructions.Other versions191 projects use a version of this.
Word for word · 0
None found.
Edited · 28
- GreyDGL/PentestGPT★ 16k14% same
- davidondrej/skills★ 4.2k27% same
- bholmesdev/hubble.md★ 1.5k14% same
- stevesolun/ctx★ 58311% same
- Tiberriver256/mcp-server-azure-devops★ 39814% same
- openvetta/open-vetta★ 30214% same
- huggingface/paperswithcode★ 29411% same
- ninehills/skills★ 28014% same
- InditexTech/weavejs★ 26614% same
- brickbots/PiFinder★ 25614% same
18 more not listed
Wrote their own version · 163
- mattpocock/skills★ 309ksame name
- QuivrHQ/quivr★ 40ksame name
- ykdojo/claude-code-tips★ 10ksame name
- ArcReel/ArcReel★ 6ksame 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
- bestofjs/bestofjs★ 3.1ksame name
- compozy/compozy★ 2.8ksame name
153 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.
Used alongsideProjects 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 37 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 84 projects that use this
GoogleSkillask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Also in 80 projects that use this
RoentekSkillloop-me
Grill me about specs for the workflows I want to build, within this workspace.
Also in 46 projects that use this
AWSSkillwait-what
Stop. That last message did not land: re-pitch it.
Also in 102 projects that use this
- +1 more from aws
In this repository26 other files it gives its agents.
- agent-self-schedulingSkill
- cmuxSkill
- codex-subagentSkill
- fable-safe-promptSkill
- goal-loopSkill
- markdown-renderingSkill
- run-deep-sweSkill
- anti-sleepSkill
- pi-custom-modelSkill
- setup-helpSkill
- browser-harnessSkill
- deepapiSkill
- deep-researchSkill
- pi-web-searchSkill
- research-promptSkill
- youtube-transcriptSkill
- distribute-skill-to-all-agentsSkill
- effective-agent-skillsSkill
- folder-specific-claude-and-agents-mdSkill
- push-skill-to-githubSkill
- brain-to-docsSkill
- grill-meSkill
- interview-style-doc-buildingSkill
- read-all-adrsSkill
- shortSkill
- teachSkill
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.

