# Mnemo

> Persistent memory for the current session. Use this skill whenever the user asks you to remember a fact, recall something they told you before, or when starting work where prior context might exist (conventions, decisions, file purposes, preferences). Use when this capability is needed.

- Skill: `tomevault-io/mnemo` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/mnemo`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/mnemo/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/mnemo

---


# Mnemo — persistent memory

You have access to a persistent memory layer via these MCP tools:

- `mnemo_recall(query, k?, scope?)` — semantic search across stored memories
- `mnemo_remember(content, scope?, tags?)` — capture a new memory
- `mnemo_forget(id)` — delete a memory
- `mnemo_list(scope?, limit?)` — browse recent memories
- `mnemo_stats()` — show memory engine status

## When to use each

**`mnemo_recall`** — call this BEFORE answering anything where prior context might help:
- "what's our convention for X?"
- "how did we decide to handle Y?"
- "why is Z structured this way?"
- whenever you're starting a task in an unfamiliar area of the codebase

Use natural-language queries. Don't try to construct keyword searches — the index is semantic.

**`mnemo_remember`** — call this when:
- The user explicitly asks ("remember this", "save this for later")
- You make or affirm a non-obvious decision (capture it as `scope: "project"`)
- The user states a personal preference that applies across projects (capture as `scope: "global"`)
- You finish a task and notice something worth not having to rediscover

Default scope is `"project"` (auto-tied to the current repo).

**`mnemo_forget`** — only when the user explicitly asks to forget, OR when you discover a memory contradicts current reality and should be replaced.

## Examples

User: "we always use Vitest, never Jest"
→ `mnemo_remember({ content: "we always use Vitest, never Jest", scope: "global" })`

User: "what test framework do we use?"
→ `mnemo_recall({ query: "test framework preference", k: 3 })` then synthesize the answer.

User: "forget that pnpm thing"
→ `mnemo_list({ limit: 50 })` to find it, then `mnemo_forget({ id: "..." })`.

## Discipline

- Don't capture things that are already in CLAUDE.md or other always-loaded files (Mnemo is for the long tail that those files can't carry)
- Don't capture transient task state — capture lasting facts
- Prefer global scope for cross-project preferences; default to project scope otherwise
- When recall returns nothing useful, say so plainly — don't guess or hallucinate from low-similarity hits

---
> Source: [omermaksutii/mnemo](https://github.com/omermaksutii/mnemo) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-23 -->

