/store
Use when the user explicitly asks Claude to remember one fact, preference, or instruction in Mem9.
$ npx -y skills add mem9-ai/mem9 --skill store --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/store
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user explicitly asks Claude to remember one fact, preference, or instruction in Mem9.
SKILL.md
store.SKILL.mddescription: Use when the user explicitly asks Claude to remember one fact, preference, or instruction in Mem9.
context: fork
allowed-tools:
- Bash
- Read
disable-model-invocation: true
Mem9 Store
Use this skill only when the user explicitly asks Claude to remember or save something to Mem9.
Steps
1. Extract the one fact, preference, or instruction that should be remembered. 2. Use `${CLAUDE_PLUGIN_DATA}/auth.json` only as request credentials. If auth is missing, tell the user to run `/mem9:setup`. Do not print the file contents or the API key. 3. Store the memory with the single-message `content` API. Do not invent tags client-side.
set -euo pipefail
auth_file="${CLAUDE_PLUGIN_DATA}/auth.json"
test -f "$auth_file"
read_api_key_and_base_url="$(node -e 'const fs=require("node:fs"); const data=JSON.parse(fs.readFileSync(process.argv[1],"utf8")); const values=[data.api_key || "", data.base_url || "https://api.mem9.ai"]; process.stdout.write(values.join("\t"));' "$auth_file")"
api_key="${read_api_key_and_base_url%% *}"
base_url="${read_api_key_and_base_url#* }"
test -n "$api_key"
test -n "$base_url"
plugin_version="unknown"
if [ -n "${CLAUDE_PLUGIN_ROOT:-}" ] && [ -f "${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json" ]; then
plugin_version="$(node -e 'const fs=require("node:fs"); const data=JSON.parse(fs.readFileSync(process.argv[1],"utf8")); process.stdout.write(data.version || "unknown");' "${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json")"
fi
curl -sf --max-time 8 \
-H "Content-Type: application/json" \
-H "X-API-Key: ${api_key}" \
-H "X-Mnemo-Agent-Id: claude-code" \
-H "User-Agent: mem9-plugin/claude-code/${plugin_version}" \
-d '{"content":"REPLACE_WITH_MEMORY"}' \
"${base_url%/}/v1alpha2/mem9s/memories"Confirm back to the user what was saved. Never reveal secret values.
Read more
description: Use when the user explicitly asks Claude to remember one fact, preference, or instruction in Mem9. context: fork allowed-tools: - Bash - Read disable-model-invocation: true
Mem9 Store
Use this skill only when the user explicitly asks Claude to remember or save something to Mem9.
Steps
1. Extract the one fact, preference, or instruction that should be remembered. 2. Use `${CLAUDE_PLUGIN_DATA}/auth.json` only as request credentials. If auth is missing, tell the user to run `/mem9:setup`. Do not print the file contents or the API key. 3. Store the memory with the single-message `content` API. Do not invent tags client-side.
set -euo pipefail
auth_file="${CLAUDE_PLUGIN_DATA}/auth.json"
test -f "$auth_file"
read_api_key_and_base_url="$(node -e 'const fs=require("node:fs"); const data=JSON.parse(fs.readFileSync(process.argv[1],"utf8")); const values=[data.api_key || "", data.base_url || "https://api.mem9.ai"]; process.stdout.write(values.join("\t"));' "$auth_file")"
api_key="${read_api_key_and_base_url%% *}"
base_url="${read_api_key_and_base_url#* }"
test -n "$api_key"
test -n "$base_url"
plugin_version="unknown"
if [ -n "${CLAUDE_PLUGIN_ROOT:-}" ] && [ -f "${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json" ]; then
plugin_version="$(node -e 'const fs=require("node:fs"); const data=JSON.parse(fs.readFileSync(process.argv[1],"utf8")); process.stdout.write(data.version || "unknown");' "${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json")"
fi
curl -sf --max-time 8 \
-H "Content-Type: application/json" \
-H "X-API-Key: ${api_key}" \
-H "X-Mnemo-Agent-Id: claude-code" \
-H "User-Agent: mem9-plugin/claude-code/${plugin_version}" \
-d '{"content":"REPLACE_WITH_MEMORY"}' \
"${base_url%/}/v1alpha2/mem9s/memories"Confirm back to the user what was saved. Never reveal secret values.
Repo: mem9-ai/mem9
Other skills on mem9.
- /recall
Use when the current request needs relevant memories from Mem9.
Open skill - /setup
Use when Mem9 needs to be initialized, repaired, or checked in this Claude Code environment.
Open skill - /cleanup
Remove mem9-managed Codex files before reinstalling, resetting, or uninstalling mem9.
Open skill - /recall
Recall mem9 memories when the user explicitly asks for stored context.
Open skill - /setup
Inspect and configure mem9 for Codex through the single setup entrypoint.
Open skill - /mnemos-setup
Setup mnemos persistent memory with mnemo-server. Triggers: "set up mnemos", "install mnemo plugin", "configure memory plugin", "configure openclaw memory", "configure opencode memory", "configure claude code memory".
Open skill

