← Back to Skills Marketplace
casperkwok

Mneme

by Casper · GitHub ↗ · v0.1.1 · MIT-0
cross-platform ✓ Security Clean
69
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install mneme
Description
Maintain persistent cross-session agent memory in the Mneme plain-text format (.mneme files) — decisions, facts, preferences, gotchas, goals. Use when an .mn...
README (SKILL.md)

Mneme — agent memory protocol

Mneme is a plain-text format for an agent's persistent, cross-session memory. A memory file (*.mneme) is a list of cells (one decision/fact/preference each, self-contained), and a derived spine (one line per cell: id + state + gist). Full spec: \x3Chttps://github.com/casperkwok/mneme>.

Core rule — content is immutable, state is mutable. A cell's gist/body/cue is a fact about the past, never edited. Its state/seen/conf is its relation to now, updated as reality moves. To change content, add a new cell that supersedes the old.

When to use

  • A *.mneme file exists in the project → it is the memory; follow this protocol.
  • The user wants durable memory ("remember this across sessions", "记住这个决策/偏好/踩坑").
  • You just produced something a future session would be wrong or redo without.

Cell format

@ DEC-0042  storage/cache                 # @ ID(PREFIX-NNNN, unique, never reused) + topic-path
gist  Local cache uses SQLite, not JSON   # one self-contained line; promoted into the spine
state live   conf high   since 2026-06-03   seen 2026-06-03
cue   concurrent writes / cache corruption / local storage choice   # recall keywords
> why / cost / context (free prose, may span multiple > lines)
link  supersedes DEC-0031                 # typed relation, repeatable
  • state: proposed (not yet authoritative) · live (current/authoritative) · stale (maybe expired, verify first) · superseded (replaced) · retired (dead, audit only). Spine/working-memory shows only live + stale.
  • ID prefixes: DEC decision · OKR goal · PREF preference · GOTCHA pitfall · FACT fact/constraint · TODO long-lived todo. Extensible.
  • link relations: supersedes/superseded-by (pair them), relates, depends-on, blocks, refines.
  • Line-oriented, no nesting; unknown lines are ignored; # lines are comments.

Protocol (SOP)

  1. Boot — when project context matters, read only the spine, not whole files: python scripts/mneme_tool.py spine \x3Cfile> (or grep '^@\|^gist\|^state'). Keep it resident.
  2. Recall — before acting, match the task topic against each cell's cue and topic-path; expand only the cells that hit. Recall generously, then judge relevance by content.
  3. Trustlive + conf high + recent seen → use directly. stale / conf low / old seen → verify against the real source first, then bump seen to today (raise state/conf if warranted). proposed → not a conclusion; don't act on it unless the task is to advance it.
  4. Write — when something durable is produced, append a new cell: next id via python scripts/mneme_tool.py new-id PREFIX \x3Cfile> (never hand-count), self-contained gist, set state/conf, since = seen = today, write cue (which future topics should recall it — don't skip), > for the why, link as needed. Append to end; never silently edit an old cell. Test: would a future session be wrong or redo work without this? If yes, write it.
  5. Supersede — to revise a belief: new cell + old cell set superseded + mutual link (supersedes/superseded-by). To merely reaffirm: only bump the old cell's seen. Content is never edited in place.
  6. Conflict — two live cells disagree → prefer higher conf, then newer seen, and tell the user explicitly; then supersede the loser.
  7. Hygiene — one claim per cell; gist self-contained; long content external (link/path only); ids never reused.

Tooling (don't rely on agent discretion)

scripts/mneme_tool.py (zero deps):

  • spine \x3Cfile> — derive the spine (live/stale).
  • lint \x3Cfile> — health-check: duplicate ids, missing required fields, asymmetric/dangling supersede links, bad dates, and live cells whose seen is older than 45 days (decay). Exit code 1 on errors — wire into a git pre-commit hook so lifecycle metadata can't silently rot.
  • new-id PREFIX \x3Cfile> — allocate the next collision-free id.

Don't use Mneme for

High-frequency precise queries / transactions (use a DB), large blobs (store externally, link only), throwaway within-session scratch, or things that belong in code/docs. Mneme holds the why — decisions, constraints, lessons, preferences — not every what.

Usage Guidance
Install only if you want the agent to maintain durable local project memory. Review .mneme files like documentation: they may persist decisions, preferences, facts, and project context across sessions. Do not store secrets, credentials, personal data, or confidential material unless you deliberately want that information kept in plaintext.
Capability Assessment
Purpose & Capability
The skill's stated purpose is persistent cross-session agent memory, and its artifacts consistently implement that through plain-text .mneme cells plus a small local parser/linter/id helper.
Instruction Scope
The write protocol is broad and tells the agent to append useful future memory, but this is aligned with the skill's disclosed purpose and scoped to .mneme files rather than unrelated data or hidden behavior.
Install Mechanism
Installation is a normal skill install or manual copy into a skills directory; no hidden installer, dependency download, or automatic system modification is present.
Credentials
The bundled Python tool uses only standard-library file parsing and printing, with no network access, subprocess execution, credential access, or broad filesystem indexing.
Persistence & Privilege
Durable local memory is the core feature and is repeatedly disclosed, though the artifacts do not add an explicit warning to screen out secrets, personal data, or confidential material before writing.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install mneme
  3. After installation, invoke the skill by name or use /mneme
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.1
Mneme — a plain-text memory format for LLM agents: spine/cell protocol, immutable content / mutable state, plus a zero-dep tool (spine/lint/new-id). Spec: github.com/casperkwok/mneme
v0.1.0
Mneme v0.1.0(原 Engram 改名):纯文本 agent 记忆格式 — spine/cell 协议 + spine/lint/new-id 工具。spec: github.com/casperkwok/mneme
Metadata
Slug mneme
Version 0.1.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Mneme?

Maintain persistent cross-session agent memory in the Mneme plain-text format (.mneme files) — decisions, facts, preferences, gotchas, goals. Use when an .mn... It is an AI Agent Skill for Claude Code / OpenClaw, with 69 downloads so far.

How do I install Mneme?

Run "/install mneme" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Mneme free?

Yes, Mneme is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Mneme support?

Mneme is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Mneme?

It is built and maintained by Casper (@casperkwok); the current version is v0.1.1.

💬 Comments