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 s9b/session-handoff --skill session-startgit clone --depth 1 https://github.com/s9b/session-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/s9b/session-handoff/session-start)<a href="https://agentmods.dev/skills/s9b/session-handoff/session-start"><img src="https://agentmods.dev/badge/skills/s9b/session-handoff/session-start/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/s9b/session-handoff/session-start"><img src="https://agentmods.dev/badge/skills/s9b/session-handoff/session-start.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.00126 | $0.00792 |
| Opus 5.5 | $0.00050 | $0.00317 |
| Sonnet 5.5 | $0.00025 | $0.00158 |
| Haiku 4.5 | $0.00013 | $0.00079 |
Grade A, and why
session-start 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.
How it starts
The opening of the file, as written. The whole thing — 78 lines — stays where its author put it; the contents beside it link to each section on GitHub.
session-start
You are orienting yourself (and the user) at the start of a new work session. Read the knowledge files and give a clear, useful briefing. Do not start writing code until you've done this.
Step 1 — Read the knowledge files
Read these files if they exist at the project root:
CLAUDE.md— the project truth file (tech stack, APIs, architecture)DECISIONS.md— find the latest entry (it's at the top, right after the<!-- ENTRIES_START -->marker, between the first---and the second---)CONTEXT.md— the current sprint status
If none of these files exist, tell the user:
"No knowledge files found. This project hasn't used session-handoff yet. Run
/session-handoffat the end of your first session to start building the project memory."
If some but not all files exist, read what's there and note what's missing in your briefing.
Step 2 — Give the briefing
Output your briefing in exactly this format. Fill in real content — do not leave template placeholders:
## 📋 Project Briefing — [Project Name]
**What this is:** [one sentence description from CLAUDE.md]
**Tech stack:** [list from CLAUDE.md — languages, frameworks, main libraries, APIs]
---
**Last session ([date]):** [2-3 sentences summarizing what was done last session, from the latest DECISIONS.md entry]
**Changes made:** [brief list of main files or things that changed]
**Problems fixed:** [any bugs that were solved — or "None" if there were none]
---
**Current state:**
✅ Working: [what's confirmed working right now]
⚠️ Broken / In progress: [what's not done or not working]
🚫 Don't touch: [any explicit warnings from DECISIONS.md or CONTEXT.md]
---
**Your next task:** [exactly what to start working on next, taken from the "Next steps" section of DECISIONS.md or CONTEXT.md — be specific]
---
Ready. What would you like to work on?
Notes
- Be specific, not vague. "Fix the auth bug" is worse than "Fix the JWT expiry bug in
src/auth/middleware.js— tokens expire after 1 hour, setexpiresInto'7d'instead." - If DECISIONS.md has warnings ("don't touch X", "this is broken"), put them in the 🚫 section even if CONTEXT.md doesn't mention them.
- If the latest DECISIONS.md entry has an in-progress next step, that's almost certainly the next task to work on.
- Keep the briefing under one screen if possible. The user needs to absorb it quickly and start working.
- After the briefing, wait. Don't start writing code or making changes until the user responds and confirms what they want to work on.
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 · 78 lines · 126 tokens per session scan A 13da0ed840d9
session-start is a skill published in the GitHub repository s9b/session-handoff (1 stars, last pushed 6mo ago), licensed MIT. It adds 126 tokens to every session and 792 once invoked, about $0.0005 per session on Opus 5.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: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: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: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.