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/terva-sh/terva/handoffnpx skills add terva-sh/terva --skill handoffgit clone --depth 1 https://github.com/terva-sh/tervaWrote 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/terva-sh/terva/handoff)<a href="https://agentmods.dev/skills/terva-sh/terva/handoff"><img src="https://agentmods.dev/badge/skills/terva-sh/terva/handoff.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.00056 | $0.01214 |
| Opus 5 | $0.00028 | $0.00607 |
| Sonnet 5 | $0.00011 | $0.00243 |
| Haiku 4.5 | $0.00006 | $0.00121 |
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 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 — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Session handoff
Write a handoff document so the next session can continue this work cold. The next reader has none of your context: no tool results, no reasoning, no shorthand you coined along the way. Write for them, not for a log.
First check the cheaper tool: if the user just wants to continue this same
conversation later, terva --continue (or the /sessions picker) resumes it
with full context — no handoff needed. Reach for a handoff when the next
worker is a different session or agent: a fresh start in another worktree,
another machine, another model, or a context too grown to carry forward.
Where
<terva-home>/handoffs/<yyyy-mm-dd>-<short-slug>.md, creating the directory
if missing. The terva home is $TERVA_HOME when set; otherwise the platform
default (macOS ~/Library/Application Support/terva, Linux
$XDG_STATE_HOME/terva or ~/.local/state/terva, Windows
%LOCALAPPDATA%\terva; long-standing installs may use the legacy zot
sibling — the terva_status tool's session-file path sits inside the live
home, so its sessions/ parent settles any doubt).
Never write it into the workspace — it would dirty the repo's status and outlive its usefulness there — and never into a temp dir a cleanup can eat. If a handoff for this same stream of work already exists, update it in place rather than minting a sibling.
The location is part of the design: <terva-home>/handoffs/ is writable and
readable even in a jailed session — no /unjail, no extra trust. If a write
there is refused anyway, report it as a bug rather than routing around it.
What goes in
Only what the next session cannot cheaply re-derive:
- Goal — the user's actual objective, one paragraph, in their words where possible; include the "why" when it shaped decisions.
- State — DONE and verified (with evidence: test run, commit, merged PR) vs IN FLIGHT vs NOT STARTED. Never present unverified work as done.
- Repo state — repository path, worktree if different, branch, HEAD sha, uncommitted/untracked files that matter. If meaningful work sits uncommitted, say so loudly — or better, make a WIP commit first and record its sha.
- Next steps — ordered; the first concrete enough to start on immediately.
- Decisions & constraints — choices already made (and why) that must not be relitigated; traps already hit that must not be re-fallen into.
- Verify first — the commands proving the recorded state is still true
(test suite, build,
git status), so drift is caught before work resumes. - Open loops — background work still running, PRs awaiting CI or review, questions awaiting the user.
- Suggested skills — skills the next session should load, by name, with when and why.
- Pointers — the files to read first, in order.
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 · 101 lines · 56 tokens per session scan A c1cb5e9e483a
handoff is a skill published in the GitHub repository terva-sh/terva (2 stars, last pushed 4d ago), licensed MIT. It adds 56 tokens to every session and 1,214 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-31.
Other skills, from other repositories
general
Handle everyday conversation, answer questions, manage files, take notes, run scripts, and maintain persistent memory across sessions. Use when the user asks a general question, requests file operations, wants to brainstorm ideas, needs to-do tracking, asks you to remember something, or requests skill search and…
memory-index
Index a folder's contents into the MemPalace semantic memory for search and retrieval. Use this skill whenever the user asks to "index a folder", "index a directory", "index memory", "mine a project into memory", "make a folder searchable", "embed a folder", "ingest code into the palace", or "index this directory for…
memory-mine
Mine project files or conversations into the MemPalace memory system. Indexes source code and conversation history as searchable palace drawers with semantic embeddings and room assignment.
memory-status
Show MemPalace memory system status — drawer counts, wings, rooms, knowledge graph stats, and embedding model state.
pi-sync
Daily upstream-sync job for the pi Go port — fetch upstream pi, triage every change since the recorded pin, port what's in scope, verify idiomatic + parity via independent reviews, update the ledger, and push. Use for "sync with upstream", "porting job", or as the scheduled daily run.
dream-memory
Consolidate recent logs, sessions, and existing memory files into durable topic memories, normalize dates, prune stale entries, and keep MEMORY.md short enough for prompt use.