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 agentmods add skills/sting25/claude-code-handoff/handoff-morenpx skills add Sting25/claude-code-handoff --skill handoff-moregit clone --depth 1 https://github.com/Sting25/claude-code-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/sting25/claude-code-handoff/handoff-more)<a href="https://agentmods.dev/skills/sting25/claude-code-handoff/handoff-more"><img src="https://agentmods.dev/badge/skills/sting25/claude-code-handoff/handoff-more.svg" alt="Measured on agentmods" 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.00110 | $0.01401 |
| Opus 5 | $0.00055 | $0.00700 |
| Sonnet 5 | $0.00022 | $0.00280 |
| Haiku 4.5 | $0.00011 | $0.00140 |
Grade A, and why
handoff-more 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 5d 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 — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/handoff-more — load older handoffs into context
Prerequisite: this skill reads history that only exists when the scripts and hooks from https://github.com/Sting25/claude-code-handoff are installed —
write_handoff.shis what rotates snapshots intohandoff_history/. That toolchain lives under~/.claude/bin/(script install) or the plugin'sbin/(plugin install) and is NOT part of this file alone; run./install.shfrom that repo (or install the plugin) once per machine first.
The SessionStart hook auto-loads handoff_current.md (the most
recent handoff). This skill pulls in the older snapshots that
write_handoff.sh rotated into <repo>/.claude/handoff_history/
before each new write.
When to invoke
- User asks explicitly (
/handoff-more, "load more handoff context," "what did we do two sessions ago," etc.). - Auto-loaded handoff is thin. If
handoff_current.mdwas the result of an automaticSessionEndwrite (no model in the loop to add curated Notes), the SessionStart hook already loaded the prior one as a fallback. But if the user is referencing decisions or work the assistant still can't account for, run this skill to pull further back. - Continuity gap. User mentions a track, decision, or artifact you have no context on, and the current handoff doesn't reference it.
Steps
- List the history dir:
If the directory is missing or empty, check whether that's "no history yet" or "toolchain never installed". Script installs put the scripts underls -la <repo-root>/.claude/handoff_history/~/.claude/bin/; plugin installs put them under the plugin'sbin/.CLAUDE_PLUGIN_ROOTwould name that location, but measurement (2026-08-11, plugin-enabled headless session) shows the CLI does NOT export it to model-driven Bash calls — the env-var check stays only as cheap future-proofing, and in plugin mode the cache-glob is the branch that actually resolves:hb="" if [ -n "${CLAUDE_PLUGIN_ROOT:-}" ] && [ -f "${CLAUDE_PLUGIN_ROOT}/bin/write_handoff.sh" ]; then hb="${CLAUDE_PLUGIN_ROOT}/bin" elif [ -f "$HOME/.claude/bin/write_handoff.sh" ]; then hb="$HOME/.claude/bin" else nb=0 for d in "${CLAUDE_CONFIG_DIR:-$HOME/.claude}"/plugins/cache/*/claude-code-handoff/*/bin; do if [ -f "$d/write_handoff.sh" ]; then t="$(stat -f %m "$d/write_handoff.sh" 2>/dev/null || stat -c %Y "$d/write_handoff.sh" 2>/dev/null || echo 0)" [ "$t" -ge "$nb" ] && nb="$t" && hb="$d" fi done fi # env var wins when set (running from that plugin), legacy bin next (existing # installs), cache glob last (plugin installed but env var not visible to # skill Bash); among cached versions the newest mtime wins. NOT lexical
last-match: glob order sorts 0.9.0 AFTER 0.14.0, so that silently ran an
older cached version across a digit-count boundary (fixed v0.14.1).
[ -n "$hb" ] || echo "MISSING: handoff scripts not installed (neither ~/.claude/bin nor a plugin install found)" echo "handoff-bin: $hb"
(This skill only reads directories — `$hb` isn't invoked elsewhere
in this file, so there's no cross-call persistence concern here.)
If it prints MISSING, stop and tell the user to clone
https://github.com/Sting25/claude-code-handoff and run `./install.sh`
(or install the plugin) — don't try to substitute for the missing
toolchain. If the scripts ARE installed, say there's simply no
history yet and stop — there's nothing to load.
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.
- 5d ago First seen · 103 lines · 110 tokens per session scan A a7d516255c4d
handoff-more is a skill published in the GitHub repository Sting25/claude-code-handoff (5 stars, last pushed 4d ago), licensed MIT. It adds 110 tokens to every session and 1,401 once invoked, about $0.0006 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
s-continue
Cheaper and faster than /compact. Restores previous session context from Claude Code AND Codex transcripts by reading them directly — no LLM calls, no token cost. Also auto-loads a handoff written by /s-compact, if one exists. Triggers on "s-continue", "restore context", "what was I doing", "pick up where I left off"…
resume
Load a previous session from TokenMizer graph memory. Returns a compact context block (100-600 tokens) covering goals, completed work, decisions, open tasks, and files. Inject this as system context to continue exactly where you left off. Use when user says "resume", "continue from last time", "load my project", "what…
checkpoint
Save the current session to TokenMizer graph memory. Creates a persistent checkpoint with all tasks, decisions, files, and errors — resumable in any future session. Use when user says "save", "checkpoint", "remember this", "I'm done for today", or session is getting long.
resume
Write down where this stretch of work stopped, so the next session continues instead of restarting. Use at the end of a working session, or when handing the repository to someone else.
capture
Write down a procedure worth keeping — a multi-step process, a trap that cost real time, or something that has now come up three times. Use it the moment you finish such a task, while the details are still exact.
audit-context
Measures where a project's Claude context is going before applying any of clean-context's levers. Reports what Glob discovers with and without ignore files applied, the twenty largest files in the repo and which are generated, the cumulative size of every CLAUDE.md loaded for this working directory, and how many MCP…