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/sonichi/sutando/session-recapnpx skills add sonichi/sutando --skill session-recapgit clone --depth 1 https://github.com/sonichi/sutandoWrote 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/sonichi/sutando/session-recap)<a href="https://agentmods.dev/skills/sonichi/sutando/session-recap"><img src="https://agentmods.dev/badge/skills/sonichi/sutando/session-recap.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 | $0.00000 | $0.01486 |
| Opus 5 | $0.00000 | $0.00743 |
| Sonnet 5 | $0.00000 | $0.00297 |
| Haiku 4.5 | $0.00000 | $0.00149 |
Grade A, and why
session-recap 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 4d 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 — 47 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Session Recap
Reconstruct what happened in a past core session — from a high-level summary down to verbatim owner quotes — by reading the raw session transcripts (complete, crash-proof, unbiased), not the curated relay/handoff notes.
Usage: /session-recap [last | <session-uuid-prefix> | list] [detail hint]
Why transcripts, not notes (owner design, 2026-07-13)
- Relay/handoff notes are short and reflect my curation — bias by construction.
- Notes need a graceful exit; the transcript JSONL is appended by the harness live, so accidental restarts lose nothing.
- Only the transcript has verbatim detail ("what did the owner say exactly").
Notes remain useful as a fast index into a long session — nothing more.
How to run it
- Bound the session.
python3 skills/session-recap/scripts/extract.py listprints recent sessions (newest first: file uuid, start/end ISO, message counts, first user line). Cross-check with<workspace>/state/session-starts.log(one JSONL line per core boot; consecutive entries bound a session). "last" = the second-newest transcript (newest = the running session). - Extract.
python3 skills/session-recap/scripts/extract.py dump --session last --filter dialog --max-chars 0→ chronological[ts] USER:/ASSISTANT:stream.--filter userfor owner messages only (verbatim-quote lookups: just grep this).--filter alladds tool-call names + system lines when the recap needs to cover actions, not just conversation.--max-chars 0= no cap. - Summarize with a CHEAP model (owner requirement — transcripts run to tens of MB; never burn core-model quota on this). Spawn an Agent-tool subagent with
model: haiku, hand it the dump (or the dump file path if huge — have it Read in slices), and ask for: timeline, tasks processed + outcomes, PRs/commits, decisions, errors + fixes, artifacts (files/notes/memories written — the dump'sWrite(path)/Edit(path)tool lines carry the paths; owner requirement 2026-07-13), loose ends. Match the detail level the owner asked for. Drop routine operational noise (owner rule 2026-07-13): battery-escalation ladders, idle proactive-loop passes, quota checks, watcher restarts, memory syncs, health-check green runs — none of it belongs in a recap unless it materially changed the session's course (e.g. quota exhaustion forced a pivot, a crash lost work). - Deliver to the asking channel. For a verbatim-quote request, skip the subagent entirely — grep the
--filter userdump and quote directly.
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.
- 4d ago First seen · 47 lines · 0 tokens per session scan A 39a9576441f5
session-recap is a skill published in the GitHub repository sonichi/sutando (390 stars, last pushed today), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,486 tokens. 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-30.
Other skills, from other repositories
handoff
Hand this lead session off to a fresh successor. Invoke with /relay:handoff, or when asked to "hand off", "hand this off to a new session", "start a successor lead".
focus
Jump iTerm to a session's tab — an executor's or a lead's. Invoke with /relay:focus, or when asked "go to X's tab", "show me session X", "focus/switch to X", "take me to that executor".
cron
Schedule reminders, recurring tasks, and one-time notifications using the cron tool. Use when the user asks to set a reminder, schedule a recurring task, create a timer, or wants periodic execution. Also use for listing or removing existing schedules. Do NOT use for immediate one-off actions that need no scheduling.
tmux
Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output. Use when the task needs an interactive TTY: Python REPLs, long-running processes, or orchestrating multiple agents in parallel. Requires tmux on PATH (macOS/Linux, WSL on Windows). Do NOT use for simple non-interactive…
what-did-i-do
Passive screen activity tracker. Use this skill when the user asks what they did today, wants to track their screen activity, or needs to analyze their productivity patterns.
stream-chain
Stream-JSON chaining for multi-agent pipelines, data transformation, and sequential workflows.