ワンクリックで
add-mnemon
Add persistent graph-based memory via mnemon. Agents recall past context before responding and remember insights after each turn.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Add persistent graph-based memory via mnemon. Agents recall past context before responding and remember insights after each turn.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Build and publish a website. Use whenever the user asks to make, create, build, or publish a website, landing page, dashboard, status page, one-pager, or anything else a human will load in a browser. Covers both the publish recipe (no tunnels, no third-party hosts) and the design discipline that keeps the result from looking like generic AI slop.
Use for Clemson GC curriculum content questions — what a specific course teaches, what skills or projects it includes, what assignments are used, where a topic or learning outcome is covered, and how courses relate to each other pedagogically. This is about course *content*, not degree rules or credit requirements (use gc-advisor for those).
Use for ANY Clemson procurement or purchasing question — what's allowed or required, policy, rules, P-card, requisitions, purchase orders, suppliers, approvals, spending limits, bids/quotes. Use the procurement tools; never answer Clemson procurement from your own knowledge.
Use for Clemson class schedules and instructor scheduling — finding course sections, what an instructor is teaching, section details (time/seats/location), room availability, and academic terms. Use these tools, not your own knowledge.
Use for questions about Clemson Graphic Communications alumni outcomes — where graduates work now, first-job placement, career trajectories, AI exposure of GC occupations, industry/occupation distribution, grad-school rates, and outcome trends by graduation cohort. Data comes from the gc-alumni MCP server (read-only SQLite). For degree rules or course content use gc-advisor or clemson-curriculum instead.
Use for Clemson GC degree rules and academic requirements — degree audit (which requirements has a student met?), credit counts, gen-ed rules, specialty-area rules, prerequisite checking, course planning, and academic regulation lookups. This is about *rules and requirements*, not course content or pedagogy (use clemson-curriculum for what a course teaches, its skills/projects/assignments). Always pulls from the pinned catalog database — never from memory or the live website.
| name | add-mnemon |
| description | Add persistent graph-based memory via mnemon. Agents recall past context before responding and remember insights after each turn. |
Installs mnemon in the agent container image. On each container start, mnemon setup registers Claude Code hooks that surface relevant memory before the agent responds and store new insights after each turn. Memory is written to the per-agent-group .claude/ mount and survives container restarts.
mnemon hooks only work with --target claude-code. If the agent group uses AGENT_PROVIDER=opencode, hooks registered by mnemon setup will never fire — OpenCode spawns its own process and doesn't invoke the claude CLI at all.
Check your provider:
grep AGENT_PROVIDER .env groups/*/container.json 2>/dev/null
AGENT_PROVIDER=claude (default) — fully compatible, proceed with both Phase 2 steps.AGENT_PROVIDER=opencode — use Phase 2 (OpenCode path) instead of the standard entrypoint step.grep -q 'MNEMON_VERSION' container/Dockerfile && echo "Already applied" || echo "Not applied"
If already applied, skip to Phase 3 (Verify).
curl -fsSL https://api.github.com/repos/mnemon-dev/mnemon/releases/latest | grep '"tag_name"'
Note the version (e.g. v0.1.1) — use it as MNEMON_VERSION in the next step.
Add after the AWS CLI block, before the Bun runtime section:
# ---- mnemon — 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
ENV MNEMON_DATA_DIR=/home/node/.claude/mnemon
MNEMON_DATA_DIR points into the per-agent-group .claude/ mount so memory persists across container restarts. No extra volume mounts needed.
mnemon setup is idempotent. Edit container/entrypoint.sh to run it right after set -e, before the cat that captures stdin:
#!/bin/bash
# NanoClaw agent container entrypoint.
#
# ...existing header comment...
set -e
mnemon setup --target claude-code --yes --global >/dev/stderr 2>&1
cat > /tmp/input.json
exec bun run /app/src/index.ts < /tmp/input.json
>/dev/stderr 2>&1 routes all mnemon output to stderr (docker logs) so it doesn't interfere with the JSON stdin handshake between host and agent-runner.
./container/build.sh
docker run --rm --entrypoint mnemon nanoclaw-agent:latest --version
systemctl --user restart nanoclaw # Linux
# launchctl kickstart -k gui/$(id -u)/com.nanoclaw # macOS
After the next container starts, check that setup ran:
docker logs $(docker ps --filter name=nanoclaw-v2 --format '{{.Names}}' | head -1) 2>&1 | grep -i mnemon
Then inspect the hooks inside the running container:
docker exec $(docker ps --filter name=nanoclaw-v2 --format '{{.Names}}' | head -1) \
cat /home/node/.claude/settings.json | grep -A5 mnemon
Have a conversation with the agent, then start a new session and reference something from the earlier one. Mnemon should surface the relevant context automatically without you restating it.
mnemon hooks don't fire under OpenCode. Instead, the agent-runner injects mnemon context directly into every prompt via wrapPromptWithContext() in container/agent-runner/src/providers/opencode.ts. This is already implemented in NanoClaw — no code changes needed if you're on current ester/main.
How it works: On each prompt, readMnemonContext() checks for MNEMON_DATA_DIR (set by the Dockerfile ENV). If the env var is present, it reads $MNEMON_DATA_DIR/prompt/guide.md (mnemon's custom prompt guide, written by mnemon setup) or falls back to an inline guide. The content is prepended as a <system> block, instructing the agent to run mnemon recall at the start of relevant tasks and mnemon remember after key decisions.
What this means for the agent: The agent (running inside OpenCode) can call mnemon recall, mnemon remember, mnemon link, and mnemon status via its bash tool. mnemon writes its graph to $MNEMON_DATA_DIR, which is in the per-agent-group .claude/ mount — so memory persists across container restarts.
Applying: Only the Dockerfile step from Phase 2 is needed for OpenCode agents. Skip container/entrypoint.sh entirely.
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
ENV MNEMON_DATA_DIR=/home/node/.claude/mnemon
Then rebuild: ./container/build.sh
Start a session and ask the agent to run mnemon status. It should report empty graphs (no error) on first run.
# Also confirm the binary is present in the image:
docker run --rm --entrypoint mnemon nanoclaw-agent:latest --version
Mnemon writes to /home/node/.claude/mnemon/ inside the container, which maps to the per-agent-group .claude/ directory on the host. To find the exact host path:
docker inspect $(docker ps --filter name=nanoclaw-v2 --format '{{.Names}}' | head -1) \
--format '{{range .Mounts}}{{if eq .Destination "/home/node/.claude"}}{{.Source}}{{end}}{{end}}'
To reset all memory for an agent, stop the container and delete the mnemon/ subdirectory from that host path.
If you are using /migrate-nanoclaw, add these entries to .nanoclaw-migrations/05-dockerfile.md:
Dockerfile — after AWS CLI, before Bun runtime:
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
ENV MNEMON_DATA_DIR=/home/node/.claude/mnemon
container/entrypoint.sh — add after set -e:
mnemon setup --target claude-code --yes --global >/dev/stderr 2>&1
mnemon: command not found in containerThe image wasn't rebuilt after adding the Dockerfile layer. Run ./container/build.sh and restart.
Verify MNEMON_DATA_DIR resolves to a mounted path (not an in-container ephemeral directory):
docker exec <container> sh -c 'ls -la $MNEMON_DATA_DIR'
If the directory is empty after conversations, the mount is missing or the path is wrong. Check the host mount with the docker inspect command above.
mnemon setup writes hooks into /home/node/.claude/settings.json. Verify:
docker exec <container> cat /home/node/.claude/settings.json
If the hooks are absent, mnemon setup may have failed silently. Check container startup logs for errors from mnemon.
Run setup manually inside a running container to see the full error:
docker exec -it <container> mnemon setup --target claude-code --yes --global