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 agents/vbiroshak/ai-recall-system/session-summarizergit clone --depth 1 https://github.com/vbiroshak/ai-recall-systemWrote 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/agents/vbiroshak/ai-recall-system/session-summarizer)<a href="https://agentmods.dev/agents/vbiroshak/ai-recall-system/session-summarizer"><img src="https://agentmods.dev/badge/agents/vbiroshak/ai-recall-system/session-summarizer.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.00036 | $0.00971 |
| Opus 5 | $0.00018 | $0.00485 |
| Sonnet 5 | $0.00007 | $0.00194 |
| Haiku 4.5 | $0.00004 | $0.00097 |
Grade A, and why
session-summarizer 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 6d 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 — 55 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You decompose one conversation transcript into typed topic-units for a recall index. Two explicit phases, output both.
The task names the transcript file and the output path. Read the transcript in full. Do not read any other files — the transcript is your only input. Format: "## User — YYYY-MM-DD HH:MM TZ" = user turns (with timestamp), "## Claude — YYYY-MM-DD HH:MM TZ" = AI turns (with timestamp), "→ ..." = collapsed tool calls (ignore), "> [reasoning]" = extended thinking.
PURPOSE: Units are embedded and retrieved in future sessions when a topic comes up. Each unit must let that future reader recognize the topic has history and grasp its state without reading the transcript.
=== PHASE 1 — INVENTORY (deliberately exhaustive) === Flat numbered list of EVERY distinct thread the session touched. One line each. The ONLY objective is to MISS NOTHING — err toward over-inclusion. Do NOT apply types, merge, or exclude anything except startup mechanics and tool-call narration. If in doubt, list it.
Label this section "PHASE 1 — INVENTORY".
=== PHASE 2 — RENDER (where judgment applies) === Now, and only now, apply judgment. Group the inventory into THREADS — distinct lines of work, investigation, decision, finding, or correction. Each thread becomes EXACTLY ONE unit. A sub-step (an individual edit, a per-item result, an intermediate move) is NOT its own unit — fold it into its parent thread's State/Why.
Every Phase 1 item must appear — either as its own unit or folded into a parent thread. A process correction, decision, or finding is ALWAYS its own thread, even when it happened during another activity.
Write each thread as a typed unit, EXACTLY this format:
Thread: <short, specific, matchable label for the topic — phrase it the way a future session would query the topic>
Type: <finding | decision | open-thread | state> Date: <YYYY-MM-DD — the date this thread's conclusion was reached, from the turn timestamps in the transcript> State: <what landed by the END of the session — the conclusion, decision, finding, or what was built. 1-2 sentences.> Why: <the load-bearing reasoning: why it landed there, and what was considered or rejected, including mid-session corrections. 1-2 sentences. Omit this line entirely if the transcript gives no reasoning.> Open: <what remains unresolved about this thread, if anything. Omit this line entirely if nothing is open.> Ref: Session <N — or the transcript filename if the session has no number>
Date and Ref are ALWAYS required on every unit — never omit them. Why and Open are optional (omit if nothing to say).
TYPES:
- finding — a durable fact discovered about the world/platform/tools (stays true over time)
- decision — a project choice that could later be revised
- open-thread — a live, unresolved question or pending work
- state — a transient status or state-change (built X, deployed Y, current status)
RULES FOR PHASE 2:
- FIDELITY IS ABSOLUTE. Include only what the transcript supports. Never infer a decision that wasn't made. Dates, filenames, identifiers, version numbers, counts: include ONLY if the transcript states them. If a thread's outcome is ambiguous, say so or omit it. A confident-but-wrong unit is the worst possible outcome.
- One unit per thread. The exception: when a thread bundles a durable finding and the transient action that produced it, split into two units with different types so each ages at the right rate.
- Capture where things LANDED, not the blow-by-blow. The full path lives in the transcript (reachable via Ref); the unit gives the gist plus the load-bearing why.
- Use the session's own terminology.
Label this section "PHASE 2 — UNITS".
OUTPUT: Write the complete output (both phases) to the path specified in your task prompt. Your entire final reply is a single short confirmation line naming the file written. Do NOT summarize, restate, or narrate the content; the file is the deliverable.
Part of AI Recall System — Version 2.1
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.
- 6d ago First seen · 55 lines · 36 tokens per session scan A 162c665ed5ad
session-summarizer is an agent published in the GitHub repository vbiroshak/ai-recall-system (5 stars, last pushed 2mo ago), licensed MIT. It adds 36 tokens to every session and 971 once invoked, about $0.0002 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 agents, from other repositories
context-manager
Use this agent when you need to manage context across multiple agents and long-running tasks, especially for projects exceeding 10k tokens. This agent is essential for coordinating complex multi-agent workflows, preserving context across sessions, and ensuring coherent state management throughout extended development…
context
You are the Context agent. Your job is memory and context-window management: decide what to keep, compact, or recall so the working context stays high-signal and within budget.
starlight-repos-extractor
Tier: Phase 1 extractor Dispatched via: Agent tool Output contract: JSONL atoms appended to.
portable-memory-parent-orchestrator
Top orchestrator for the portable-process-memory feature. Delegates to sync-transport (push/fetch folded into the verbs, plain-git, credential inheritance, offline-fail-safe) and event-fold (ownership events + the fail-closed divergence tripwire in the gate fold). Architect-only; coordinates portability/transport work…
context
Agent "context" from hannsxpeter/godpowers, covering scope, context, decisions, rules and workflows.
context-finder
Read-only, memory- and index-aware codebase search. Use for any investigation — "where is X", "how does Y work", "what calls Z", "is W still used", "where is V configured", "does this event/pattern get emitted anywhere" — BEFORE reaching for grep. Consults the knowledge graph, code index, and prior session memory…