handoff
Skill36 starsChanged 6 days agoMITView on GitHub
Writes a short handoff note when a session ends mid-task so the next session or person can continue without re-discovery, and resumes from one. Use when asked to hand off, save progress, or continue from a handoff note.
- Reads credentials
We split this skill into the rules it gives an agent
9 rules. 0 are common, 4 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 167 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Capture state from the repo, not from recall: Run git status, git branch --show-current, git log --oneline <base>..HEAD, and the test …
- Distinctive: line 20
Keep it to one screen, about 40 lines.
- Very specific: line 64
Use a short kebab-case slug from the task (2026-10-21-checkout-retry.md).
- Very specific: line 66
If the user wants the note shared (another person picks it up), tell them to commit it with git add -f, or save it under a tracked path …
- Distinctive: line 67
If there is no repository or the user names a place, follow the user.
- Very specific: line 68
Never put secrets, tokens, or .env values in the note.
- Very specific: line 72
Find it: Use the path the user gives, else the newest file in .code-virtuoso/handoff/.
- Distinctive: line 74
Reconcile differences: If the repo disagrees with the note, trust the repo, update your understanding, and tell the user what differs …
- Distinctive: line 75
Skip the dead ends: Do not retry an approach listed under "Tried and failed" unless something changed.
“Common” is measured: kept by at least 6 in 10 of the 167 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
A new session starts with no memory. Whatever you learned, tried, and decided is gone unless it is written down. A handoff note is the shortest document that lets the next reader continue at the exact next step instead of re-reading the codebase and repeating dead ends. Write it from facts you checked, not from memory of what you meant to do.
Write a handoff
- Capture state from the repo, not from recall. Run
git status,git branch --show-current,git log --oneline <base>..HEAD, and the test command. Uncommitted work is the main loss risk, so commit it as a WIP commit if the user agrees, or list the files. - Fill the template below. Leave a section out only if it is truly empty, and say "none" so the reader knows you did not forget it.
- Make the next step exact. One action the reader can start in the first minute: a command to run, a file and function to open. "Continue the refactor" is not a next step.
- Record dead ends. What you tried and why it failed is the most expensive thing to rediscover. Include the error text or the reason.
- Save it (see below) and tell the user the path.
Keep it to one screen, about 40 lines. Link to files, commits, tickets, and PRs instead of pasting their content. If a section runs long, the detail belongs in the code, a commit message, or a ticket.
Template
# Handoff: <short title>
Date: <YYYY-MM-DD> Branch: <branch> Base: <commit or PR>
## Goal
<One or two sentences: what is being built or fixed, and why. Link the ticket.>
## Current state
<Where things stand now. Passing or failing, what works, what is half done. Uncommitted files.>
## Done
- <sha> <what it did>
## Tried and failed
- <approach>: <why it did not work, error text or evidence>
## Open questions
- <question>: <who can answer, what depends on it>
## Next step
<The single first action, with the exact command or file.>
## Files and commands
- `<path>`: <why it matters>
- `<command>`: <what it does>
## Verify
<How to confirm the work is correct: the commands and the expected result.>Where to save it
Save to the project, under the shared .code-virtuoso/ folder (convention: https://github.com/krzysztofsurdy/code-virtuoso/blob/main/spec/config-spec.md):
<project root>/.code-virtuoso/handoff/<YYYY-MM-DD>-<slug>.md- Project root is
git rev-parse --show-toplevel, else the current directory. - Use a short kebab-case slug from the task (
2026-10-21-checkout-retry.md). - Handoffs are session state, not team decisions, so keep them out of git by default. Make sure
.code-virtuoso/.gitignorehas ahandoff/line, and append it if missing. Create the file with the spec's two default lines plushandoff/when the folder is new. - If the user wants the note shared (another person picks it up), tell them to commit it with
git add -f, or save it under a tracked path they name, such asdocs/. - If there is no repository or the user names a place, follow the user.
- Never put secrets, tokens, or
.envvalues in the note. Name the variable, not its value.
Resume from a handoff
- Find it. Use the path the user gives, else the newest file in
.code-virtuoso/handoff/. Read all of it. - Verify the state matches. The note describes the past. Check the branch name, that the listed commits exist (
git log), whatgit statusshows, and that the failing or passing tests are the same now. Someone may have pushed, rebased, or changed files since. - Reconcile differences. If the repo disagrees with the note, trust the repo, update your understanding, and tell the user what differs before continuing.
- Skip the dead ends. Do not retry an approach listed under "Tried and failed" unless something changed. Say why if you do.
- Do the next step, then run the Verify section. Resolve open questions with the user first when they block the step.
- Update the note or write a new one if you stop again, so the chain stays current.
Checklist
- State taken from
git status,git log, and a test run - Goal, done, failed, open questions, next step, files, verify all present
- Next step is one concrete action
- Note fits one screen and links instead of pasting
- No secrets in the note
- Saved under
.code-virtuoso/handoff/and the path given to the user handoff/is in.code-virtuoso/.gitignoreunless the user wants it shared
Integration with other skills
| Situation | Recommended skill |
| Work is finished, not paused | finishing-branch |
| Paused while review feedback is open | pr-feedback |
| Claiming progress in the note | verification-before-completion |
| Dead ends came from a bug hunt | debugging |
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
- GreyDGL/PentestGPT★ 16ksame 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
- davidondrej/skills★ 4.2ksame 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.
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 32 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 77 projects that use this
GoogleSkillask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Also in 76 projects that use this
RoentekSkillloop-me
Grill me about specs for the workflows I want to build, within this workspace.
Also in 43 projects that use this
GoogleSkillsetup-matt-pocock-skills
Configure this repo for the engineering skills — set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
Also in 122 projects that use this
In this repository38 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- llm-evalsSkill
- llm-observabilitySkill
- accessibilitySkill
- context-engineeringSkill
- debuggingSkill
- docs-lookupSkill
- performanceSkill
- securitySkill
- verification-before-completionSkill
- finishing-branchSkill
- game-feature-loopSkill
- hooks-and-guardrailsSkill
- pr-feedbackSkill
- security-researchSkill
- spec-driven-developmentSkill
- tddSkill
- agent-creatorSkill
- agentic-rules-writerSkill
- audit-dependenciesSkill
- brainstormingSkill
- communication-styleSkill
- find-test-gapsSkill
- plan-migrationSkill
- plugin-creatorSkill
- pr-message-writerSkill
- report-writerSkill
- researchSkill
- review-pr-coldSkill
- review-prSkill
- scan-refactorsSkill
- skill-creatorSkill
- skill-measureSkill
- stakeholder-update-writerSkill
- ticket-writerSkill
- ui-reviewSkill
- verify-acceptanceSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

