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 donggyun112/keymem --skill keymemgit clone --depth 1 https://github.com/donggyun112/keymemWrote 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/donggyun112/keymem/keymem)<a href="https://agentmods.dev/skills/donggyun112/keymem/keymem"><img src="https://agentmods.dev/badge/skills/donggyun112/keymem/keymem/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/donggyun112/keymem/keymem"><img src="https://agentmods.dev/badge/skills/donggyun112/keymem/keymem.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.00056 | $0.00990 |
| Opus 5.5 | $0.00022 | $0.00396 |
| Sonnet 5.5 | $0.00011 | $0.00198 |
| Haiku 4.5 | $0.00006 | $0.00099 |
Grade A, and why
keymem 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 8d 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 — 68 lines — stays where its author put it; the contents beside it link to each section on GitHub.
keymem protocol
Recall (open the turn)
- Before the first reply, and whenever the topic shifts, call
recallsilently. query= short noun keywords ("거주지", not"어디 살아");context= the raw user utterance. Key embeddings route concepts; Kiwi BM25 matches keys and content lexically, and the cross-encoder reranks candidates. Memory bodies have no embedding vectors.- Split multi-fact questions into several
recallcalls. - On
{status:"no_match"}, retry with one of the returnednearest_keys, orbrowse_keys(namespace). - A hit returns ranked keys plus one passive Top-1 memory. Before answering, identify the facts the question needs and check which ones that memory supplies. Use it directly when the needed evidence is complete; a related memory alone is not necessarily a complete answer.
- If a required fact is missing, choose an unvisited
connected_keysconcept that fits the missing fact, not just the highest relevance to the original question. Callread_key(key_id, missing_fact_query, namespace), thenread_memory(memory_id, via_key_id, namespace)on a relevant handle. Recheck after each read; if no connected key fits,recallthe missing fact directly. Stop when the evidence is complete or no promising path remains. Do not add hops to a complete single-fact answer. Explicit traversal may reinforce the selected path and learn aliases. <keymem-surfaced>blocks (the UserPromptSubmit hook) are previews. Load the exact record withread_memory, apply itsvaliditystatus, and ignore it when irrelevant.
Freshness and confirmation
read_memoryretrieves a fact and may reinforce the key path; it does not confirm or deepen the memory, verify current truth, or refresh it.freshmay be used normally. Qualifyagingfacts when currentness matters.- Never assert a
stalefact as current. Verify it externally or ask the user. - Call
confirm_memoryonly after an explicit current user assertion, an authoritative current source, or direct observation. - Never call
confirm_memorymerely becauseread_memoryreturned the content successfully. - Changed fact →
correct. Junk fact →forget. Wrong key →dismiss.
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.
- 8d ago Changed · +3 lines 85836e24b833
- 26d ago Changed · +3 lines ca757d372ed5
- 1mo ago Changed · +2 lines e50c33d0aeed
- 1mo ago Changed · +14 lines f0f16b7c6120
- 1mo ago First seen · 46 lines · 56 tokens per session scan A caae059be27c
keymem is a skill published in the GitHub repository donggyun112/keymem (3 stars, last pushed 4d ago), licensed MIT. It adds 56 tokens to every session and 990 once invoked, about $0.0002 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
ori-memory
Persistent agent memory with learning retrieval. Knowledge graph on markdown files — capture insights, decisions, research, and learnings during work, then retrieve them weeks or months later. Use when knowledge is too valuable to lose but too much to inject into every prompt.
memory
Project memory powered by Hippo. Use when starting a session, after learning something, after hitting an error, or when the user mentions memory/remember/recall. Auto-invoked at session start.
plur-create-engrams
Create or improve PLUR engrams from conversations, documents, decisions, observations, and explicit preferences. Use for memory extraction, engram authoring, or reviewing proposed memories, including global, scoped, pinned, retrieved, and provisional knowledge. Ordinary use of existing memories does not require this…
plur-memory
Persistent learning for AI agents. Open engram format. Your agent learns from corrections, remembers across sessions, and transfers knowledge across domains.
plur-session-end
Extract durable learnings at the end of a session. Saves corrections, preferences, and codebase patterns as engrams — nothing ephemeral, nothing sensitive.
plur-memory
Your memory stays on your machine. No cloud, no tracking, no API key. PLUR makes your OpenClaw remember — and shares that memory with every other tool you use.