Help us improve
Share bugs, ideas, or general feedback.
From piia-engram
Local-first personal AI identity and memory layer for MCP-compatible coding tools. Stores user-approved lessons, decisions, playbooks, and project context as local JSON.
npx claudepluginhub patdolitse/piia-engramHow this skill is triggered — by the user, by Claude, or both
Slash command
/piia-engram:engramThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Engram is a local-first personal AI identity and memory layer exposed over MCP.
Integrates Mem0 persistent memory for Claude Code tasks using MCP tools. Retrieves relevant memories on new tasks, stores learnings like decisions and strategies, captures session states.
Guides agents to deliberately search or skip memory using dejavu MCP tools, with query strategies and metadata filters for decisions, user preferences, conventions, and anti-patterns.
Proactively saves decisions, conventions, bugs, discoveries, and preferences to persistent Engram memory across sessions using mem_save and related tools.
Share bugs, ideas, or general feedback.
Engram is a local-first personal AI identity and memory layer exposed over MCP. It lets MCP-compatible coding tools (Claude Code, Codex, Cursor, and other MCP clients) start from the same user-approved understanding of who the user is, what they've decided, and what they've learned — without a cloud account and without hidden memory the user cannot inspect.
This skill tells you when to reach for Engram and which existing MCP tools to use. It does not add new behavior; it routes to the Engram MCP server.
Reach for Engram when the user's request implies continuity, recall, or durable memory rather than a one-off task:
| Signal | Example phrasing | Where to start |
|---|---|---|
| Resume work | "continue from last session", "pick up where we left off" | get_resume_brief |
| Recall a decision | "what did we decide", "why did we choose X" | search_knowledge, get_relevant_knowledge |
| Save a lesson | "remember this", "save a lesson", "note this gotcha" | add_lesson |
| Save a decision | "record this decision", "we chose X because Y" | add_decision |
| Save a playbook | "save this as a playbook", "remember these steps" | add_playbook |
| Search prior knowledge | "have we seen this before", "search what we know about X" | search_knowledge |
| Identity / preferences | "who am I to you", "what are my preferences" | get_user_context, get_identity_card |
| Export identity/context | "export my identity card", "give me my context" | get_identity_card |
| End of session | wrapping up, summarizing what changed | wrap_up_session |
When the request is a normal coding task with no continuity or memory angle, do not invoke Engram — just do the task.
get_resume_brief to recover the last
thread of work. For identity and preferences on a fresh project, call
get_user_context.search_knowledge (topic known) or get_relevant_knowledge (let Engram pick
what's relevant). Normal read/search tools provide session context; export
surfaces such as get_identity_card are owner-gated and can write local
files.add_lesson / add_decision / add_playbook. These are
user-approved writes, not automatic background memory.wrap_up_session to checkpoint context so the next
tool (or the next session) can resume.Some MCP clients also run session hooks that capture context automatically; that context lands in the user-visible daily log and the staging tier, where it is inspectable and is not silently promoted to verified/trusted knowledge.
The full read/write tool map is in references/tools.md. Privacy, ownership, and storage boundaries are in references/privacy.md.
Engram runs as an MCP server via the piia-engram-mcp command. Configure your
MCP client to launch it (the Cursor plugin skeleton under .cursor-plugin/
shows one such wiring). By default the server exposes a Tier-1 core tool set;
the full set is available with ENGRAM_TOOLS=all.