Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add legoambarish/portable-handoff --skill handoffgit clone --depth 1 https://github.com/legoambarish/portable-handoffWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/legoambarish/portable-handoff/handoff)<a href="https://agentmods.dev/skills/legoambarish/portable-handoff/handoff"><img src="https://agentmods.dev/badge/skills/legoambarish/portable-handoff/handoff/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/legoambarish/portable-handoff/handoff"><img src="https://agentmods.dev/badge/skills/legoambarish/portable-handoff/handoff.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00059 | $0.01841 |
| Opus 5 | $0.00030 | $0.00920 |
| Sonnet 5 | $0.00012 | $0.00368 |
| Haiku 4.5 | $0.00006 | $0.00184 |
Grade A, and why
handoff scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 175 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Portable Handoff
Create a self-contained Markdown capsule that records the active model's semantic understanding together with deterministic local facts. Load a capsule as a concise, staleness-aware continuation briefing.
Invoking the CLI
Prefer the installed console script:
portable-handoff --help
If it is not on PATH, invoke the package directly with the same arguments.
Both forms are equivalent; never claim the CLI ran when neither was available.
python -m portable_handoff --help
python scripts/handoff.py --help
Report results verbatim, never in your own words
Every command below prints one JSON line. Quote that line into your reply exactly as printed. Do not summarise it, rephrase it, or describe what you believe happened.
This matters because a paraphrased success claim is indistinguishable from an invented one. Saying "the capsule was validated" when the tool printed an error is the single worst failure mode of this skill, and it has happened: a model once reported a schema version, a validator error, and a migration it had not performed. If a command fails, quote the failure. If you did not run a command, say you did not run it.
Never state that a capsule was created without a "outcome":"created" line
containing its path.
Check the host first
Run this before anything else:
portable-handoff doctor --cwd .
"capability":"supported": proceed."capability":"degraded": proceed, and quote the reason; repository facts will be recorded as unknown."capability":"unsupported": stop. This host cannot produce a capsule. Say so plainly, quote thereason, and offer the fallback below. Do not produce a prose summary and call it a handoff.
When the host is unsupported
A readable summary is not a Portable Handoff capsule. If the user still wants something to carry forward, write the draft JSON described under "Create" into the chat inside a fenced ```json block, and tell the user explicitly:
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 175 lines · 59 tokens per session scan A 5061fc9b3957
handoff is a skill published in the GitHub repository legoambarish/portable-handoff (21 stars, last pushed 4d ago), licensed Apache-2.0. It adds 59 tokens to every session and 1,841 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ctx delete
Delete the latest session in a ContextFun workstream, or delete a specific session id.
learn
Diagnose and fix agent behavioral surfaces when the user corrects a mistake — connects to Claude native memory.
kn-extract
Use when extracting reusable patterns, decisions, failures, or knowledge into documentation.
kn-init
Use at the start of a new session to read project docs, understand context, and see current state.
alive:save
The human wants to checkpoint. Or: the stash has grown heavy — 5+ items, 30+ minutes, a natural pause in the work. The squirrel doesn't decide when to save. It surfaces the need and lets the human pull the trigger. Runs the full save protocol: confirms stash, writes log, updates state, generates projections…
install
Install the Rekal binary on this machine. Use when rekal is not on PATH — a command reported command not found — or when the user asks to install Rekal. Once per machine, not per repository; to set up a repo that already has the binary, use the init skill instead.