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 AdityaVasireddy/agent-skills --skill session-handoffgit clone --depth 1 https://github.com/AdityaVasireddy/agent-skillsWrote 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/adityavasireddy/agent-skills/session-handoff)<a href="https://agentmods.dev/skills/adityavasireddy/agent-skills/session-handoff"><img src="https://agentmods.dev/badge/skills/adityavasireddy/agent-skills/session-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/adityavasireddy/agent-skills/session-handoff"><img src="https://agentmods.dev/badge/skills/adityavasireddy/agent-skills/session-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.00148 | $0.05598 |
| Opus 5 | $0.00074 | $0.02799 |
| Sonnet 5 | $0.00030 | $0.01120 |
| Haiku 4.5 | $0.00015 | $0.00560 |
Grade A, and why
session-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 10d 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 — 253 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Session Handoff
Produce a repeatable end-of-session summary so the user can /clear and start a fresh agent without losing continuity. The next agent should be able to pick up by reading this document and the files it points to, in the order it declares — the handoff is the entry point to the chain, not a replacement for it.
This is a context-handoff artifact, not a status report or a retrospective. The audience is a future instance of you. Capture intent and reasoning, not implementation — anything the next agent can recover in seconds from the diff, the code, or the file itself doesn't belong here.
When to invoke
User says: "session handoff", "wrap up session", "hand off", "handoff summary", "let's wrap up", "summarize before I clear", or any near-equivalent. Also invoke proactively if the user says they're about to /clear without having run it yet.
How to produce the handoff
- Review the whole session, not just the last few turns. If something was compacted or truncated before this instruction ran, you can't recover it — note that under Open Questions instead of guessing or inventing it.
- Pull state from what you actually did. These are the categories to sweep; the tool that produces each one varies by runtime, so capture the category even when the named tool doesn't exist here:
- Plan or spec file that drove the session (in Claude Code, check
~/.claude/plans/—%USERPROFILE%\.claude\plans\on Windows — if one was mentioned). - Unfinished task state — in-progress or pending items from whatever task tracker was in use (TodoWrite, if present).
- Long-lived processes you started, and the handle the runtime uses to address them (shell ID, terminal ID, PID). The handle is load-bearing: without it the process is orphaned and unkillable by the next agent. Record the kill command in the same form the next agent will need to type.
- Files created or modified — list what you tracked as you went.
- Memory or vault files written or updated (in Claude Code,
~/.claude/projects/<project>/memory/). - Decisions and why, knowledge discovered, assumptions made, risks/issues found, constraints stated.
- Unresolved questions — yours that never got a clear answer, or the user's that got deflected.
- Plan or spec file that drove the session (in Claude Code, check
- Locate the prior handoff, if any, and declare precedence. List
docs/handoffs/(or the equivalent output directory) and take the most recent file for this thread of work. Record its path in theContinues from:line — see the Output template. Reading it is optional; linking it is not. Without the link, the next agent has no way to know the chain exists or that anything in it is still load-bearing. The link alone is not enough: append which document wins on conflict, because newer does not automatically mean authoritative — a detailed architecture record can outrank the summary that points at it. Use one of: authoritative for<scope>(read it before acting in that area), superseded by this document, or no conflicts. If the prior handoff is authoritative for anything, it is also the Plan file under Key Files; don't state precedence in one slot and leave the other silent. - Verification boundary.
git status,git diff --stat, andgit rev-parse --short HEADare fine to confirm what actually changed and anchor the handoff to a commit; listing the handoffs directory is fine for step 3. Don't rungit log, repo-wide sweeps, or grep to rediscover what you already know you touched — synthesize from what you tracked while working. If you didn't track something, say so; don't excavate or invent it after the fact. - Precision-claims rule. Don't state a specific file path, line number, numeric value, or other precise detail unless you actually observed it this session (via a read, edit, diff, calibration run, test output, or your own tool output). This includes numbers pulled from tables or test results — a specific score, threshold, or before/after value is just as much a precision claim as a line number. It also applies to causal/historical claims (e.g. "X was 0.0, changed to Y this session") — don't assert a change happened this session unless you observed the before-state yourself, not just the current state. If you're recalling, inferring, or unsure, say so explicitly — "exact location not re-verified this session," "approximate," "per earlier handoff, unconfirmed" — rather than stating it as if confirmed. The next agent cannot distinguish a verified specific from a confident guess and will trust whatever you write; a vague-but-honest pointer beats a precise-sounding one that's wrong.
- Self-consistency pass, before finalizing. Reread Architecture Changes, Decisions & Rationale, Key Files, and Assumptions (and any other sections describing the same system or sequence) against each other. They describe the same facts from different angles and must agree on ordering, naming, and file locations. Every fix-claim in Decisions & Rationale must carry a matching confidence tag in Assumptions — which is why Assumptions is conditionally required, not situational (see Section model). A fix-claim with no matching tag is itself a signal to verify before output, not after. Fix any contradiction, or flag it explicitly under Open Questions — never ship two sections of the same handoff that disagree.
- Be concise. Bullets over prose. Include only what's lost when context clears, not what's recoverable from the diff or code. An 8-hour session does not justify a 3,000-word handoff — it justifies a dense one. See Calibrating density below.
- Strip environment-specific markup before saving. Citation tokens, source-reference markers, UI artifacts, and any other runtime-injected syntax must not survive into the file. They render as noise or as a broken reference in a different agent's environment, and a next agent may read one as a real pointer. Paths, code, and commands stay; anything the current interface injected around them goes.
- Save the document per Output delivery below. Never update memory from this skill.
What ships with it
4 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.
- 10d ago First seen · 253 lines · 148 tokens per session scan A 0c17effa8d26
session-handoff is a skill published in the GitHub repository AdityaVasireddy/agent-skills (2 stars, last pushed yesterday), licensed MIT. It adds 148 tokens to every session and 5,598 once invoked, about $0.0007 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
magic-compact
Compact this Claude Code session.
recall
Reconstruct and narrate the current development context from contextual commits. Run at session start, when resuming work, or when switching branches. Produces a brief, conversational summary of where things stand.
handoff
Create a structured session handoff when context is running low or work is pausing. Deep context mining, self-validation, multi-file splitting. Captures everything the next session needs.
context-engineering
Strategies for managing LLM context windows effectively in AI agents. Use when building agents that handle long conversations, multi-step tasks, tool orchestration, or need to maintain coherence across extended interactions.
trash-panda
A raccoon that digs through your Claude/ChatGPT chat history, pulls out the valuable artifacts, and files them into a local markdown "den" organized by project. Triggers on "/dig", "/den", "/sniff", "/feed", "/wash", "/nap", or natural language like "go dig through my chats", "what piled up", "drag the good stuff into…
agentic-storage
Agentic storage architecture — persistent memory for AI agents using MCP, immutable versioning, sandboxing, and intent validation. Covers the stateless problem in LLM agents, RAG limitations (read-only), MCP protocol (JSON-RPC, resources, tools), storage safety layers, and agent file system design. Source: IBM…