handoff — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited handoff (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Compact the current session into a transient handoff doc so a fresh agent — same user, another agent, another machine, or a teammate — can pick up the work without copy-pasting context by hand.
/handoff is a side-route skill. It is invoked ad-hoc, not from any default pipeline path.
Use /handoff when:
/execute, mid-/qa, mid-/improve-codebase-architecture) and the existing inter-skill compression artifacts (closing summary, research file, PRD issue, slice issue, PR) do not fit because you are not at a skill boundaryDo not use /handoff when:
**Next session:** runtime line — that is the inter-skill compression artifact, and using /handoff alongside it duplicates work and creates two competing handoff records/shape, the PRD issue body, a slice issue comment with what was done and what remains, the PR body, or a docs/solutions/ entry. State that belongs in GitHub belongs in GitHub/handoff reconnects to the main pipeline by being invoked again — or not — from the fresh session. It produces a transient artifact, not a durable work item.
If the user passed an argument to /handoff, treat it as the description of what the next session is for. Skip ahead to Step 2.
If no argument was passed, ask one question — what the next session will be used for — and wait for the answer. Do not present a list of questions.
Capture pointers to durable state, not copies of its contents. Run the cheap commands first:
git branch --show-current — current branchgit log --oneline -10 — recent commitsgit status --short — uncommitted changes, if anygh pr view --json number,title,url 2>/dev/null — active PR on this branch, if one existsgh issue list --assignee @me --limit 5 --state open — relevant open issues, when applicableIf the work belongs to a pipeline feature, locate the research artifact rather than rereading it:
~/.claude/research/<repo-slug>/<feature-slug>-<YYYY-MM-DD>.mdgh issue view <spike-issue-number>If a PRD or slice issue is in scope, record its number. Reference each of these by path, URL, or issue number — never copy bodies into the handoff doc. Future-you can run gh issue view from the fresh session.
mktemp pathThe path is generated by mktemp -t handoff-XXXXXX.md. The doc never lives inside the repo working tree.
Read the path before writing to it (the file exists, empty, after mktemp). Write the body. Print the path to the user at the end so they can paste it into the next session.
Follow the plain-language walkthrough shape from docs/writing-for-humans.md (bundled in this skill's references when invoked outside the skills repo). The body should be readable in one pass by someone who has not seen this conversation.
Order:
Why it matters: signpost. **Next session:** <skill or instruction>
**Input:** <artifact path, issue or PR number, branch name, or "use the handoff doc above">/<skill-name> references the fresh session is likely to want, with a one-line reason each. Optional; skip when the next move is obvious from the Next session block.Revise once before saving. Apply the bar in docs/writing-for-humans.md: strip clutter, cut warm-up, prefer active verbs and concrete nouns, ensure the lede earns the next sentence. The dogfooding test: would you, returning cold in six months, understand what was done and what's next? If not, revise.
Print the mktemp path and a one-line preview of the lede. The user picks the path up and pastes it into a fresh session. /handoff does nothing else — it does not auto-invoke another skill, it does not modify any other artifact, it does not commit anything.
| Rationalization | Reality |
|---|---|
"The session is long, so I should /handoff between two primary pipeline skills." | Primary pipeline skills already print **Next session:** from their ## Handoff section. That is the inter-skill compression artifact. /handoff is for situations where that artifact does not fit — not a second copy of it. |
| "I'll write the handoff doc inside the repo so I can refer back to it later." | A handoff doc is a transient context-transfer artifact, not durable state. State that belongs durably belongs in GitHub — update the PRD issue, leave a slice issue comment, write a docs/solutions/ entry. The handoff doc lives at a mktemp path on purpose. |
| "The handoff doc should include the full PRD text so the next session has everything." | No. The next session can run gh issue view <n> from the doc's reference. Duplicating the PRD makes the doc go stale the moment the issue is edited and bloats context for no benefit. |
"I'm mid-/execute and the work is unfinished — I'll write a handoff doc instead of leaving an issue comment." | /execute already prescribes leaving an issue comment with what was done, what remains, and the exact error output. That comment is the durable record. A handoff doc can carry session-level pointers on top of it, but it does not replace the comment. |
| "The argument the user passed is vague, so I'll skip the focus question." | Ask one question. A vague handoff doc earns less reader trust than a short one with a clear focus. |
| "I'll commit the handoff doc to the repo so it survives." | Don't. Surviving the session is not the goal — compacting it is. If the content needs to survive, the right vessel is an issue comment, a PRD body update, or a docs/solutions/ entry. |
mktemp path).git add the handoff doc.**Next session:** line.A run of /handoff is not complete until:
mktemp -t handoff-XXXXXX.md path, outside the repo working tree**Next session:** block in the conventional shapemktemp path, referencing durable state rather than copying it/execute, /qa, or /help) or continue ad-hoc, depending on the captured focus/handoff is a pure side-route producing a transient artifact~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.