Mem Rfm — Development skill for Claude Code
Outcome-ranked agent memory in one SQLite file with Claude Code integration.
How to install Mem Rfm
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open andrewgoodchild/mem-rfm and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Mem Rfm does
Outcome-ranked agent memory in one SQLite file with Claude Code integration.
Alternatives in Development
- Project-Level Skills — This directory contains skills for developing and maintaining the claude-mem project itself, not skills that a 39.3k ★
- Outcome — /outcome - Record the Result of an Application 36.6k ★
- Outcome Roadmap — Transform output roadmaps into outcome-focused strategic plans 7.8k ★
README
mem-rfm
mem-rfm is long-term memory for coding agents that ranks what it remembers by whether it actually *helped*. The whole thing is one SQLite file and a pure-Python scoring engine; an MCP server and three hooks make it drop-in for Claude Code.
The name comes from marketing's **RFM** analysis, which scores customers on recency, frequency and **m**onetary value. Marketers keep the third axis because the first two come free from any transaction log but measure only engagement: someone who orders constantly and returns everything looks like a good customer until you price the returns. Memories have exactly that blind spot, and mem-rfm answers it the same way.
Recency and frequency come from **ACT-R**, the cognitive model of human memory. Its base-level activation is `ln(Σ tᵢ^−d)`, a sum over every past use decaying with age, which makes the two one quantity rather than two knobs to tune. And in place of monetary value, mem-rfm puts **measured outcomes**: a signed per-memory record of whether acting on the memory helped or hurt, fed straight back into the ranking.
Retrieved-often is cheap to fake, and this project's live program caught helped-when-used being faked too: an agent copies a suggested command, the copy succeeds, and the ledger inflates. So a positive outcome now counts only in sessions where the condition the memory names actually fired. Helped-when-*needed* is the signal. **[The full model →](docs/theory.md)**
How it works
A memory is a row: some text, the condition it applies to, and the ledger it has earned.
content: setuptools 82 no longer ships pkg_resources, so `import xarray`
fails in this venv. Workaround: add a pkg_resources shim to
PYTHONPATH.
condition_class: pkg_resources <- the error that means this applies
value_score: 0.40 (4 outcomes) <- earned, not assigned at write time
Retrieval multiplies similarity by that earned prior; every retrieval records an access, and
Related Skills
Sup Mem
Memory for Claude Code that measures whether its memories helped — outcome ledger, self-tuning retrieval, bite
Cc Mem
Query and manage cc-memory state for the current project. Subcommands run the installed plugin's CLI (cc_memor
Mem Forge
Self-evolving, evidence-based memory layer for coding agents and development teams.
Agent Shared Mem
Shared global and project memory runtime for Codex, Claude Code, OpenCode, and Hermes Agent
K Mem
Memory and governance for Claude Code sessions: a read-before-write gate, a context resolver with receipts, ti
Sessiongrep
Local-first memory layer for CLI agents. Indexes Claude Code, Codex CLI, Cursor, Antigravity, and Pi sessions
Related Agents
Mer Recall
Worker that loads a project's Memory v2 context (mem_state, mem_context, mem_search, mem_get) and reconciles i
Local Model Specialist
Evaluate on-device LLM integration, GGUF quantization levels, and KV cache memory constraints read-only.
Tester Agent
Test Verifier. Use this agent as the second Double-Gate review pass (after QA Agent) to execute the existing u