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 rmarquesa/agentmemory-offline --skill handoffgit clone --depth 1 https://github.com/rmarquesa/agentmemory-offlineWrote 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/rmarquesa/agentmemory-offline/handoff)<a href="https://agentmods.dev/skills/rmarquesa/agentmemory-offline/handoff"><img src="https://agentmods.dev/badge/skills/rmarquesa/agentmemory-offline/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/rmarquesa/agentmemory-offline/handoff"><img src="https://agentmods.dev/badge/skills/rmarquesa/agentmemory-offline/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.00055 | $0.00612 |
| Opus 5.5 | $0.00022 | $0.00245 |
| Sonnet 5.5 | $0.00011 | $0.00122 |
| Haiku 4.5 | $0.00006 | $0.00061 |
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 1mo 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.
This is a copy
100% identical to handoff — 19 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
The user wants to resume work. Optional cwd override: $ARGUMENTS
Quick start
memory_sessions { "limit": 20 }
Pick the most recent session whose cwd matches this project, then:
memory_recall { "query": "<session top concepts>", "limit": 10 }.
Expected output:
Resuming 7f3a9c2 "Auth refresh rework".
Open question: should logout revoke all device tokens or just the current one?
Next step: decide revoke scope, then update auth/logout.ts.
Why
Match the session by directory boundary, not raw prefix, so a sibling repo never gets mistaken for this one. Never invent observations for an empty session.
Workflow
- Resolve the project path: if
$ARGUMENTSis given, normalize it to absolute (path.resolve(process.cwd(), $ARGUMENTS)); else use the cwd. - Call
memory_sessions. Pick the most recent session whose normalizedcwdmatches by directory boundary: equality, ORcwd.startsWith(projectPath + sep), ORprojectPath.startsWith(cwd + sep). Prefercompletedoverabandoned. No match: fall back to the single most recent session overall. - If the session ended on an unanswered user-facing question, surface it FIRST.
Look in
summaryor recentconversationobservations whosenarrativeends in?. - Summarize: title/summary, key files, key decisions or errors, using
memory_recallon the top concepts, limit 10. - End with one concrete "next step?" pointer.
Anti-patterns
WRONG: session.cwd.startsWith(projectPath) matches /repo-a-staging when the
project is /repo-a, resuming the wrong repo's session.
RIGHT: session.cwd === projectPath || session.cwd.startsWith(projectPath + sep),
a directory-boundary check that cannot cross sibling repos.
Checklist
- cwd override resolved to an absolute, normalized path.
- Match used a directory-boundary check, not a raw prefix.
- Unanswered question (if any) leads the response.
- Empty session is reported plainly, with an offer to start fresh.
What ships with it
1 file 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.
- 1mo ago First seen · 69 lines · 55 tokens per session scan A 1a5695744091
handoff is a skill published in the GitHub repository rmarquesa/agentmemory-offline (0 stars, last pushed 2d ago), licensed Apache-2.0. It adds 55 tokens to every session and 612 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 100% identical to handoff, differing in 19 lines, and is treated as a copy.
Other skills, from other repositories
day-log
Quick timestamped log entry — no conversation, just capture.
period-summary
Period summary (w/m/q/y) — reflect on the period, score it, close it out.
day-start
Day briefing — deliver context, capture what's happened, get moving.
erga-mcp
Use immediately when a user shares a job-posting URL—including a bare link or chat preview—and when organizing recruiting records, evaluating career evidence, or proposing a truthful résumé update through Erga MCP.
day-summary
Evening summary — reflect on the day, score it, close it out.
day-update
Mid-day check-in — share what's on your mind.