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 se4thvin/context-handoff --skill writing-handoffgit clone --depth 1 https://github.com/se4thvin/context-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/se4thvin/context-handoff/writing-handoff)<a href="https://agentmods.dev/skills/se4thvin/context-handoff/writing-handoff"><img src="https://agentmods.dev/badge/skills/se4thvin/context-handoff/writing-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/se4thvin/context-handoff/writing-handoff"><img src="https://agentmods.dev/badge/skills/se4thvin/context-handoff/writing-handoff.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00093 | $0.01328 |
| Opus 5 | $0.00046 | $0.00664 |
| Sonnet 5 | $0.00019 | $0.00266 |
| Haiku 4.5 | $0.00009 | $0.00133 |
Grade A, and why
writing-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 8d 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 — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Writing a Handoff
Overview
Save the current session's state to a Markdown file so a future session (or another person) can pick up cleanly. This skill is intentionally conservative about triggering: it fires on explicit invocation or real context-pressure signals, never on generic "let's wrap up" phrasing.
When to use
Fire this skill when ANY of:
- The user invokes
/handoff(with or without a label argument). - The user explicitly asks: "write a handoff", "save state", "save session", "make a handoff".
- The user signals context exhaustion specifically: "running low on context", "almost out of context", "context is getting full", "we're near the limit".
- A system reminder about auto-compaction appears in the conversation.
Do NOT fire on:
- Generic session-ending phrases: "wrap up", "let's stop", "call it a day", "I'm tired", "let's call it here" — unless the user explicitly ties them to context limits.
- Mid-task pauses or breaks.
If unsure, ASK the user before writing — a one-line confirmation is cheaper than a wrong handoff.
What to do
-
Resolve the output directory:
- If env var
HANDOFF_DIRis set, use it. - Otherwise, use
./.handoffs/relative to the current working directory. - Create the directory if it does not exist:
mkdir -p <dir>.
- If env var
-
Collect context (run these in parallel where possible):
- Project name:
basename "$(pwd)" - Current ISO timestamp:
date -u +"%Y-%m-%dT%H:%M:%SZ" - Filename timestamp:
date +"%Y-%m-%d-%H%M" - If
.gitexists in cwd or any parent:- Branch:
git rev-parse --abbrev-ref HEAD - Uncommitted:
git status --short - Recent commits:
git log -5 --oneline
- Branch:
- Otherwise mark git fields as
n/a.
- Project name:
-
Build the filename:
- Base:
<filename-timestamp>.md(e.g.,2026-05-12-1430.md) - If a label was provided (via
/handoff <label>or the user's phrasing), slugify it and append. Use this exact one-liner to get deterministic results across sessions:
This produces ASCII lowercase, hyphens for any non-alphanumeric (including Unicode), collapsed dashes, no leading/trailing dashes, max 40 characters. If the result is empty (e.g. label wasSLUG=$(printf '%s' "$LABEL" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g; s/-\{2,\}/-/g; s/^-//; s/-$//' | cut -c1-40)--!--), drop the label and use only the timestamp filename. Example: labelBefore refactor — auth!→before-refactor-auth→ filename2026-05-12-1430-before-refactor-auth.md.
- Base:
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.
- 8d ago First seen · 110 lines · 93 tokens per session scan A 6f71f48a1bb8
writing-handoff is a skill published in the GitHub repository se4thvin/context-handoff (2 stars, last pushed 3mo ago), licensed MIT. It adds 93 tokens to every session and 1,328 once invoked, about $0.0005 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-31.
Other skills, from other repositories
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…
alive:capture-context
Use when external content arrives in the session — emails, transcripts, screenshots, documents, files, or in-session research worth keeping. Also use when there's nothing obvious to capture — the skill checks 03Inbox/ for unrouted files and enters inbox scan mode. Stores raw content, routes to bundles, extracts tasks…
alive:load-context
The human mentions a walnut to work on, asks about a specific venture/experiment/project, or wants to check status — not just explicit 'load X'. Load the brief pack (3 files), resolve the people involved, check the active bundle — then surface one observation and ask what to work on. Context loads in tiers: walnut and…
alive:session-history
Revive sessions (quick or heavy), browse, and search — 'what happened recently?', 'find the session where we discussed X', 'revive yesterday's session'. For single-session recall and multi-session browsing. If the human needs to merge multiple sessions into one working context or detect conflicts between parallel…
alive:mine-for-context
Deep context extraction from source material. Creates reference bundles, builds extraction plans, tracks what's been extracted, and discovers new targets — people, subjects, patterns, connections. The archaeologist that turns raw sources into structured knowledge. Can be invoked by alive:session-history for targeted…
alive:my-context-graph
Render an interactive map of your world. Generates the world index from all walnut and bundle frontmatter, then produces a force-directed graph showing connections between walnuts, people, bundles, and tags. Opens in the browser.