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 commands/hamr0/agentic-toolkit/remembergit clone --depth 1 https://github.com/hamr0/agentic-toolkitWrote 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/commands/hamr0/agentic-toolkit/remember)<a href="https://agentmods.dev/commands/hamr0/agentic-toolkit/remember"><img src="https://agentmods.dev/badge/commands/hamr0/agentic-toolkit/remember.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.00012 | $0.10887 |
| Opus 5 | $0.00006 | $0.05444 |
| Sonnet 5 | $0.00002 | $0.02177 |
| Haiku 4.5 | $0.00001 | $0.01089 |
Grade A, and why
remember 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 today.
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
91% identical to remember — 114 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 — 621 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Run friction analysis, then consolidate session stashes + friction antigens into a single project-local MEMORY.md, and inject into AGENT.md. Friction runs automatically (best-effort) — there is no separate /friction command. A docs reconcile check runs at the end, detect-only.
Guardrails
- Favor straightforward, minimal implementations first and add complexity only when requested or clearly required.
- Keep changes tightly scoped to the requested outcome.
- Precision over recall for hot memory. A false antigen loaded into
@MEMORY.mdsteers every future session. When unsure, do not promote — leave it to recurrence (a ledgerobservingentry at 2 sessions, nothing at 1). - Mid-tier model, not hardcoded. Steps 2/3/4a delegate to your tool's balanced default tier — judgment-capable, cheaper and faster than your top reasoning tier. Not the cheapest/fastest tier: on judgment work it measurably degrades (misclassification rates several times higher). Never hardcode a vendor-specific model name.
- Batch stashes, don't fan out. Step 2 gives each extraction agent up to 5 stashes and uses as few agents as possible (3 stashes → 1 agent, 7 → 2). One agent reading several sessions sees the same lesson recur and writes it once; one agent per stash writes it once per stash and leaves the merge to catch the duplicates. If more than one agent is needed, run them concurrently.
- Hot memory is short snippets, not prose. A fact is one line, target 160 characters, hard stop 180, stating a rule the agent should follow next time. Events, history, and narrative are not facts.
What it does
Reads all raw material (.amp/stash/*.md + .amp/remember/friction/antigen_clusters.json), extracts durable facts, episodes, and behavioral antigens into a single .amp/remember/MEMORY.md, then injects a managed memory section into AGENT.md.
Steps
-
Run friction first (best-effort — friction analyzes ALL your usage, not just this repo)
Friction's signal is global: recurring corrections and frustrations across every project are behavioral lessons worth keeping everywhere. So point it at the tool's global sessions root (all projects), not a per-project directory.
- Locate
friction.cjs— it is bundled next to this command atremember/friction.cjs(the same directory asremember.md, whether installed or run from the package). If it exists nowhere, skip to step 1 (stash-only) and tell the user friction.cjs is missing. - Check for a newer liteagents (best-effort, one line, never blocking) — bundled
beside
friction.cjsasremember/version-check.cjs. Call it by its absolute path, exactly as step 7 callsdocs-builder.cjs: the cwd here is the target repo, not this package, so a cwd-relative path fails everywhere except the liteagents repo itself.
If that path does not exist, use the directory you just resolved fornode ~/.config/amp/commands/remember/version-check.cjsfriction.cjs— the two ship side by side, so that directory is correct for a non-default install and when running from a checkout, where the path above would point at the installed copy instead of the one under test. It prints one advice line if the installed version is behind the registry, and prints nothing otherwise. It exits 0 on every path, caches the registry answer for 24h, and is bounded to ~2s, so it cannot stall this run. If it prints a line, relay it verbatim in your final report; never act on it and never run the install yourself. - If the script is missing from both locations, say so — one line, same rule as step 7's "applicable but could not run". A failed check (offline, registry down, timeout) stays silent by design: it is a once-a-day nudge, not a result anyone is waiting on. A missing script means the install is incomplete, which is worth a word.
- Resolve the global sessions root — probe this list top-to-bottom, use the first that
exists and contains
.jsonlfiles directly, or one level down in per-project subdirectories (friction.cjs scans exactly those two levels, not a deep recursive walk). Never prompt the user.# ── Add your own global sessions root at the TOP so it is checked first ── ~/.claude/projects/ # Claude Code ~/.factory/projects/ # Droid / Factory ~/.config/amp/projects/ # Amp ~/.config/opencode/projects/ # opencode ~/.codex/sessions/ # Codex CLI (use $CODEX_HOME/sessions/ if set) ~/.gemini/antigravity-cli/brain/ # AntigravityNote:
friction.cjsparses Claude Code's session schema. The Codex/Antigravity roots will resolve but yield no signals until friction learns their formats — open an issue to request one: https://github.com/hamr0/liteagents/issues - Run
node <friction.cjs> "<resolved-root>". friction writes its output to.amp/remember/friction/in the current project. - On any miss — loud, never silent. If no root resolves, or friction errors, or it
finds no usable sessions, print this and continue with stash-only consolidation:
⚠️ Friction didn't run — no sessions found. To enable it, open this command file (
remember.md) and add your tool's global sessions root to the TOP of the probe list in step 0, then re-run/remember. Consolidating stashes only this time.
- Locate
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.
- today Changed · +68 lines 580914f2f319
- 2d ago First seen · 553 lines · 12 tokens per session scan A 974ec81fffef
remember is a command published in the GitHub repository hamr0/agentic-toolkit (22 stars, last pushed today), licensed Apache-2.0. It adds 12 tokens to every session and 10,887 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 91% identical to remember, differing in 114 lines, and is treated as a copy.
Other commands, from other repositories
OPSX: Update
Update a change - revise existing planning artifacts and keep them coherent (Experimental).
OPSX: Apply
Implement tasks from an OpenSpec change (Experimental).
OPSX: Propose
Propose a new change - create it and generate all artifacts in one step.
OPSX: Sync
Sync delta specs from a change to main specs.
OPSX: Archive
Archive a completed change in the experimental workflow.
OPSX: Explore
Enter explore mode - think through ideas, investigate problems, clarify requirements.