/store
Use when the user explicitly asks Claude to remember one fact, preference, or instruction in Mem9.
Claude Code
$ npx -y skills add mem9-ai/mem9 --skill store --agent claude-code
Codex
$ npx skills add mem9-ai/mem9 --skill store -a codex -y
Cursor
$ npx skills add mem9-ai/mem9 --skill store -a cursor -y
Gemini CLI
$ npx skills add mem9-ai/mem9 --skill store -a gemini-cli -y
GitHub Copilot
$ npx skills add mem9-ai/mem9 --skill store -a github-copilot -y
OpenCode
$ npx skills add mem9-ai/mem9 --skill store -a opencode -y
Windsurf
$ npx skills add mem9-ai/mem9 --skill store -a windsurf -y
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.
Other skills on mem9.
More skills from other plugins.
paddleocr-doc-parsing
Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with cell-level precision, formulas as…
13c-metabolic-flux
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps,…
Questions about store.
- Which coding agents can use store?
- store installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

