Agent skill

Add Mnemon

by mnemon-dev in mnemon-dev/mnemon

Add persistent graph-based memory to NanoClaw agents using mnemon.

Apache-2.0Auto-check passedAgent Workflows

Install Add Mnemon

skills CLI
$ npx skills add mnemon-dev/mnemon --skill add-mnemon -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mnemon-dev/mnemon add-mnemon --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mnemon-dev/mnemon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/internal/memory/setup/assets/nanoclaw .claude/skills/add-mnemon && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
add-mnemon
GitHub stars
611
Token cost
~2.5k tokens
SKILL.md length
745 words
Files
2
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Add persistent graph-based memory to NanoClaw agents using mnemon.

  • Works in 4 steps: Pre-flight → Apply Code Changes → Setup → …
  • Tasks that involve Agent memory
  • SKILL.md covers Architecture, Phase 1: Pre-flight, Phase 2: Apply Code Changes and Phase 3: Setup, plus 3 more sections
  • Calls docker, npm and curl; reaches api.github.com

What it does

Add Mnemon is an agent skill from mnemon-dev/mnemon. Add persistent graph-based memory to NanoClaw agents using mnemon. Agents recall context before responding and remember insights after. Each group gets isolated memory with optional global shared store.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `container-skill.md`).

It sits in Agent Workflows, covering Agent memory and Containers. It works with npm. The repository describes itself as: LLM-supervised persistent memory for AI agents — graph-based recall, cross-session knowledge, single binary. Works with DeepSeek Harness, Claude Code, OpenClaw, and any agent… The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Agent memory
  • Tasks that involve Containers

Example prompts

  • “/add-mnemon”

Requirements

  • Node.js
  • Docker

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Pre-flight
  2. Apply Code Changes
  3. Setup
  4. Verify

What it can do on your machine

Read from SKILL.md and the folder at commit 55ecd3e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • docker
    • npm
    • curl
    • jq
    • brew
    • apt-get

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Add Mnemon loads about 2.5k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 745 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~53
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mnemon-dev/mnemon at commit 55ecd3e, republished under its Apache-2.0 licence (© mnemon-dev). 745 words, ~2,546 tokens.

Download SKILL.mdSave it as .claude/skills/add-mnemon/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
add-mnemon
description
Add persistent graph-based memory to NanoClaw agents using mnemon. Agents recall context before responding and remember insights after. Each group gets isolated memory with optional global shared store.

/add-mnemon

Add mnemon persistent memory to your NanoClaw installation. After running this skill, every agent session will have access to a per-group memory graph that persists across conversations.

Architecture

Host                              Container
~/.mnemon/data/{group}/ ──rw──→ /home/node/.mnemon/data/default/  (private)
~/.mnemon/data/global/  ──ro──→ /home/node/.mnemon/data/global/   (shared)

Each group gets its own isolated mnemon store. An optional global store provides shared read-only knowledge across all groups.


Phase 1: Pre-flight

  1. Verify mnemon is installed on the host:

    bash
    mnemon --version

    If not installed:

    • Recommended (npm): npm install --global @mnemon-dev/mnemon
    • Alternative (Homebrew): brew install --cask mnemon-dev/tap/mnemon
  2. Verify the container image exists:

    bash
    docker image inspect nanoclaw-agent:latest >/dev/null 2>&1 && echo "OK"
  3. Fetch the latest mnemon version for the Dockerfile:

    bash
    curl -s https://api.github.com/repos/mnemon-dev/mnemon/releases/latest | grep -o '"tag_name": "v[^"]*"' | cut -d'"' -f4 | sed 's/^v//'

Phase 2: Apply Code Changes

2a. Install mnemon in the container image

File: container/Dockerfile

Add the following block after the apt-get install section and before the npm install -g line. Replace 0.1.1 with the version from Phase 1 step 3:

dockerfile
# Install mnemon for persistent agent memory
ARG MNEMON_VERSION=0.1.1
RUN ARCH=$(dpkg --print-architecture) && \
    curl -fsSL "https://github.com/mnemon-dev/mnemon/releases/download/v${MNEMON_VERSION}/mnemon_${MNEMON_VERSION}_linux_${ARCH}.tar.gz" \
    | tar -xz -C /usr/local/bin mnemon && \
    chmod +x /usr/local/bin/mnemon

This works for both amd64 and arm64 architectures.

2b. Add the container skill

File: container/skills/mnemon/SKILL.md

Create this file with the mnemon container skill content. This skill teaches the agent inside the container when and how to use mnemon. It should include:

  • Memory stores section: Explain that the default store is per-group (private, read-write) and the global store is shared (read-only, accessed via --store global --readonly).
  • Recall guide: Default recall on every new user message. Use mnemon recall "<query>" --limit 5. Also check the global store: mnemon recall "<query>" --store global --readonly --limit 5. Craft focused keyword-rich queries.
  • Remember guide: Decision tree — Step 1: Does this exchange contain a user directive, reasoning conclusion, or durable observed state? Step 2: Does a memory already exist (create/update/skip)? Step 3: Is it worth storing?
  • Workflow: remember → link (evaluate semantic/causal candidates with judgment) → recall.
  • Commands: Full mnemon command reference (remember, link, recall, search, forget, related, gc, status, log).
  • Guardrails: Never store secrets. Never write to the global store. Categories: preference, decision, insight, fact, context. Max 8,000 chars per insight.
2c. Add volume mounts for mnemon data

File: src/container-runner.ts

In the function that builds volume mounts (where the existing group folder and Claude session mounts are defined), add two new mounts after the Claude sessions mount:

typescript
// Per-group mnemon memory store (private, read-write)
const groupMnemonDir = path.join(homedir(), '.mnemon', 'data', group.folder);
fs.mkdirSync(groupMnemonDir, { recursive: true });
mounts.push({
  hostPath: groupMnemonDir,
  containerPath: '/home/node/.mnemon/data/default',
  readonly: false,
});

// Global shared mnemon memory (read-only, optional)
const globalMnemonDir = path.join(homedir(), '.mnemon', 'data', 'global');
if (fs.existsSync(globalMnemonDir)) {
  mounts.push({
    hostPath: globalMnemonDir,
    containerPath: '/home/node/.mnemon/data/global',
    readonly: true,
  });
}

Adapt the mount syntax to match the existing pattern in container-runner.ts (it may use string format like hostPath:containerPath:ro or an object format — match whichever the file uses).

Important: The mkdirSync call ensures the per-group mnemon directory exists on the host before the container starts, preventing mount failures.

2d. Add lifecycle hook scripts

Create container/hooks/mnemon/ with four shell scripts. These run inside the container at Claude Code lifecycle events to actively drive memory operations.

File: container/hooks/mnemon/prime.sh

bash
#!/bin/bash
# mnemon SessionStart hook — report memory stats on session init.
STATS=$(mnemon status 2>/dev/null)
if [ -n "$STATS" ]; then
  INSIGHTS=$(echo "$STATS" | sed -n 's/.*"total_insights": *\([0-9]*\).*/\1/p' | head -1)
  EDGES=$(echo "$STATS" | sed -n 's/.*"edge_count": *\([0-9]*\).*/\1/p' | head -1)
  echo "[mnemon] Memory active (${INSIGHTS:-0} insights, ${EDGES:-0} edges)."
else
  echo "[mnemon] Memory active."
fi

File: container/hooks/mnemon/user_prompt.sh

bash
#!/bin/bash
# mnemon UserPromptSubmit hook — remind agent to evaluate recall/remember.
echo "[mnemon] Evaluate: recall needed? After responding, evaluate: remember needed?"

File: container/hooks/mnemon/stop.sh

bash
#!/bin/bash
# mnemon Stop hook — remind agent to consider remember after responding.
INPUT=$(cat)
MSG=$(echo "$INPUT" | jq -r '.last_assistant_message // ""' 2>/dev/null)
if echo "$MSG" | grep -qiE "mnemon remember|sub-agent.*remember|Stored.*imp="; then
  exit 0
fi
echo "[mnemon] Consider: does this exchange warrant a remember sub-agent?"

File: container/hooks/mnemon/compact.sh

bash
#!/bin/bash
# mnemon PreCompact hook — save key insights before context compaction.
echo "[mnemon] Context compaction starting. Review this session and remember the most valuable insights (up to 5) before context is compressed. Delegate to Task sub-agents now."

Make all scripts executable: chmod +x container/hooks/mnemon/*.sh

2e. Copy hooks into container and register in settings.json

File: container/Dockerfile

Add after the mnemon binary install block:

dockerfile
# Copy mnemon hook scripts
COPY hooks/mnemon/ /app/hooks/mnemon/
RUN chmod +x /app/hooks/mnemon/*.sh

File: src/container-runner.ts

In the block where settings.json is created for each group session (look for writeFileSync with settings.json), merge mnemon hooks into the settings object:

typescript
// Register mnemon lifecycle hooks
const mnemonHooks = {
  SessionStart: [{
    hooks: [{ type: 'command', command: '/app/hooks/mnemon/prime.sh' }]
  }],
  UserPromptSubmit: [{
    hooks: [{ type: 'command', command: '/app/hooks/mnemon/user_prompt.sh' }]
  }],
  Stop: [{
    hooks: [{ type: 'command', command: '/app/hooks/mnemon/stop.sh' }]
  }],
  PreCompact: [{
    hooks: [{ type: 'command', command: '/app/hooks/mnemon/compact.sh' }]
  }],
};

// Merge into existing settings.hooks (preserve any existing hooks)
const existingHooks = settings.hooks || {};
for (const [event, entries] of Object.entries(mnemonHooks)) {
  existingHooks[event] = [...(existingHooks[event] || []), ...entries];
}
settings.hooks = existingHooks;

Adapt this to match the existing settings.json construction pattern in container-runner.ts.


Show full SKILL.md (311 more words)Show less

Phase 3: Setup

  1. Initialize the global shared store on the host (optional — skip if you don't need cross-group shared memory):

    bash
    mnemon store create global
  2. Rebuild the container image:

    bash
    ./container/build.sh
  3. Restart the NanoClaw service:

    bash
    # macOS with launchd:
    launchctl kickstart -k "gui/$(id -u)/com.nanoclaw"
    # Or manually:
    npm run dev

Phase 4: Verify

  1. Verify mnemon works inside the container:

    bash
    docker run --rm --entrypoint mnemon nanoclaw-agent:latest --version
  2. Verify mnemon status inside a running container:

    bash
    docker run --rm --entrypoint mnemon nanoclaw-agent:latest status
  3. Send a test message to the WhatsApp bot and check that the agent mentions memory operations in its reasoning.

  4. Verify data persistence on the host:

    bash
    ls ~/.mnemon/data/
    # Should show directories for each active group

Removal

To remove mnemon from your NanoClaw installation:

  1. Remove from Dockerfile: delete the ARG MNEMON_VERSION + RUN ... mnemon block and the COPY hooks/mnemon/ line
  2. Remove container skill: rm -rf container/skills/mnemon/
  3. Remove hook scripts: rm -rf container/hooks/mnemon/
  4. Remove volume mounts from src/container-runner.ts: delete the mnemon mount blocks
  5. Remove hooks registration from src/container-runner.ts: delete the mnemon hooks merge in settings.json
  6. Rebuild: ./container/build.sh
  7. (Optional) Remove data: rm -rf ~/.mnemon/data/

Recall Intent

Keep focused queries and memories in their original language. When the user's meaning is clear, choose --intent WHY (reasons), --intent WHEN (timing), --intent ENTITY (what/who), or --intent GENERAL (neutral retrieval). For example: mnemon recall "<query>" --intent WHY. The override works in any language; --verbose reports meta.intent and meta.intent_source (auto or override).

Automatic cues cover some forms in English, Mandarin Chinese (simplified and traditional), Hindi (Devanagari), Spanish, Modern Standard Arabic, French, Bengali (Bengali script), Portuguese, Indonesian (Latin script), Russian (Cyrillic), and German. Unrecognized forms use GENERAL; conflicting cues involving additional languages also use GENERAL. English/Chinese-only scoring is preserved. This is a lexical heuristic, not full language understanding. See the supported forms, script variants, and limits.

© mnemon-dev, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in internal/memory/setup/assets/nanoclaw of mnemon-dev/mnemon.

  • SKILL.md
  • container-skill.md

Open the folder on GitHubat commit 55ecd3e

Compare with similar skills

Add Mnemon next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Add Mnemon compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add Mnemon this skillmnemon-dev/mnemon611—~2.5kAutomated safety check: PassApache-2.0
Mem0 CLI Memory Commandsmem0ai/mem067k—~1.4kAutomated safety check: NotesApache-2.0
Ruflo Multi-Agent Orchestrationruvnet/ruflo74k1 repos~975Automated safety check: PassMIT
Project Releaseswimmwatch/cloakbrowser-mcp161—~1.9kAutomated safety check: PassMIT
Devcontainer Devstacklok/toolhive-studio170—~3.8kAutomated safety check: NotesApache-2.0
mnemon Persistent Memory for NanoClawnanocoai/nanoclaw31k—~1.7kAutomated safety check: PassMIT

Similar skills

  • Adds, searches, lists, updates and deletes memories on the Mem0 platform from the terminal with the mem0 command, including a JSON mode built for agents.

    67k GitHub stars~1.4k tokensUpdated yesterday
    Agent WorkflowsAuto-check: notes
  • Sets up and drives Ruflo, an npm-installed orchestration layer for multi-agent swarms, persistent memory, routing, hooks and its MCP tool catalog.

    74k GitHub starsUsed in 1 repo~975 tokens
    Agent WorkflowsAuto-check passed
  • Project Release

    swimmwatch/cloakbrowser-mcp

    Prepare, publish, verify, or recover a cloakbrowser-mcp release only when the user explicitly requests release work.

    161 GitHub stars~1.9k tokensUpdated 6 days ago
    Agent WorkflowsAuto-check passed
  • Devcontainer Dev

    stacklok/toolhive-studio

    Spin up and interact with ToolHive Studio's containerized dev environment (Xvfb + noVNC + DinD).

    170 GitHub stars~3.8k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Installs mnemon in the agent container so agents recall relevant past context before replying and store new insights after every turn.

    31k GitHub stars~1.7k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Cognee Docker Setup

    topoteretes/cognee

    Runs the Cognee AI memory platform in Docker, from a one-file prebuilt image to a full compose stack with UI, MCP server, Postgres and Neo4j.

    32k GitHub starsUsed in 1 repo~901 tokens
    DevOps & CloudAuto-check: notes

More from mnemon-dev/mnemon

  • Mnemon

    mnemon-dev/mnemon

    Persistent memory CLI for Hermes Agent. An agent skill from mnemon-dev/mnemon.

    611 GitHub stars~657 tokensUpdated 4 days ago
    Auto-check passed
  • Mnemon

    mnemon-dev/mnemon

    Persistent memory for MiniMax Code. An agent skill from mnemon-dev/mnemon.

    611 GitHub stars~776 tokensUpdated 4 days ago
    Auto-check passed
  • Mnemon

    mnemon-dev/mnemon

    Persistent memory CLI for LLM agents. An agent skill from mnemon-dev/mnemon.

    611 GitHub stars~881 tokensUpdated 4 days ago
    Auto-check passed

Works with

Categories

Questions about Add Mnemon

What does Add Mnemon do?

Add persistent graph-based memory to NanoClaw agents using mnemon. Add Mnemon is an agent skill from mnemon-dev/mnemon. Add persistent graph-based memory to NanoClaw agents using mnemon.

When should I use Add Mnemon?

Add Mnemon fits situations like: tasks that involve Agent memory; tasks that involve Containers.

How do I install Add Mnemon in Claude Code?

Run `npx skills add mnemon-dev/mnemon --skill add-mnemon -a claude-code`. Or copy the skill folder (internal/memory/setup/assets/nanoclaw in mnemon-dev/mnemon) into .claude/skills/add-mnemon in your project. Claude Code loads it when a task matches its description.

How do I install Add Mnemon in Codex?

Run `npx skills add mnemon-dev/mnemon --skill add-mnemon -a codex`. Or copy the skill folder (internal/memory/setup/assets/nanoclaw in mnemon-dev/mnemon) into .agents/skills/add-mnemon in your project. Codex loads it when a task matches its description.

Can I use Add Mnemon in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mnemon-dev/mnemon --skill add-mnemon -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-mnemon, .gemini/skills/add-mnemon, .github/skills/add-mnemon and .opencode/skills/add-mnemon in your project.

What does Add Mnemon need to run?

Going by SKILL.md and its folder, Add Mnemon needs the command-line tools its instructions call (docker, npm, curl, jq, brew and apt-get). Our summary lists: Node.js; Docker.

Does Add Mnemon access the network?

SKILL.md names 1 domain. In commands or code: api.github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Add Mnemon safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Add Mnemon use?

Add Mnemon is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Add Mnemon use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Add Mnemon?

Skills that share tags, products or a category with Add Mnemon: Mem0 CLI Memory Commands (mem0ai/mem0, 67k stars), Ruflo Multi-Agent Orchestration (ruvnet/ruflo, 74k stars), Project Release (swimmwatch/cloakbrowser-mcp, 161 stars) and Devcontainer Dev (stacklok/toolhive-studio, 170 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Add Mnemon?

mnemon-dev (a GitHub organization) maintains it in mnemon-dev/mnemon, which has 611 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 3, 2026.

Source: mnemon-dev/mnemon on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.