Help us improve
Share bugs, ideas, or general feedback.
From shared-memory
Guide for storing enriched memories that capture decisions, preferences, and context. Use when making significant decisions or learning user preferences.
npx claudepluginhub designnotdrum/perplexity-search-plugin --plugin shared-memoryHow this skill is triggered — by the user, by Claude, or both
Slash command
/shared-memory:managing-memoryThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**IMPORTANT**: Before using memory tools, ensure the MCP server is built and configured:
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
IMPORTANT: Before using memory tools, ensure the MCP server is built and configured:
# Check if built
ls ~/.claude/plugins/cache/brain-jar/shared-memory/*/dist/index.js 2>/dev/null || echo "NOT_BUILT"
If NOT_BUILT, run the setup:
node ~/.claude/plugins/cache/brain-jar/shared-memory/*/run.js &
sleep 15
Then check for Mem0 config:
cat ~/.config/brain-jar/config.json 2>/dev/null || echo "NOT_CONFIGURED"
If NOT_CONFIGURED, ask user for their Mem0 API key (get one at https://app.mem0.ai), then create config:
mkdir -p ~/.config/brain-jar
cat > ~/.config/brain-jar/config.json << 'EOF'
{
"mem0_api_key": "USER_API_KEY_HERE",
"default_scope": "global",
"auto_summarize": true
}
EOF
Note: Local storage works without Mem0 config - cloud sync is optional.
After setup, user must restart Claude Code for MCP to register.
Store memories when you observe:
Bad (too dry):
User chose Neon for database.
Good (captures context and sentiment):
User chose Neon over Supabase for Postgres hosting - appreciated the more generous
free tier limits. Showed strong preference for managed solutions: "I'm not running
my own infra" - values simplicity and time savings over control.
Include:
global - Personal preferences, general learnings, cross-project patternsproject:<name> - Specific to current project (detect from working directory)Use global for preferences that apply everywhere. Use project: for architectural
decisions, tech choices, and patterns specific to one codebase.
Before:
Use natural recall language:
When searching or listing memories that could return many results (10+), dispatch a Haiku subagent to process and summarize:
When to use subagent:
How to dispatch:
Use Task tool:
subagent_type: "general-purpose"model: "haiku"prompt: "Search user memories and provide a summary.TASK: [what user is looking for]
STEPS:
OUTPUT: Concise summary, not raw memory dumps."
Tell the user: The subagent's summary. Don't dump all raw memories into context.
When to use direct tools:
Example flow:
User: What do I usually prefer for state management?
You: Let me search your memories for state management preferences...
[Dispatch Haiku subagent]
Subagent returns:
"Found 7 memories about state management. Key patterns:
- Strong preference for Zustand over Redux (called Redux 'too much boilerplate')
- Uses React Query for server state ('keeps server/client state separate')
- Avoids global state when possible - prefers component-level state
Notable quote: 'I want the simplest thing that works'"
You: Based on your past preferences, you tend to favor Zustand for client state
and React Query for server state. You've mentioned wanting "the simplest thing
that works" - should I keep that philosophy for this feature?
preference - Likes/dislikesdecision - Specific choices madearchitecture - System design patternspersonality - Working style, communication preferencesproject - Project-specific contextsession-summary - End-of-session consolidationprofile-context - Background context for profile preferencesprofile-learning - Observations that inform the user profileFor structured user profile management (name, role, tech preferences, working style),
use the learning-about-you skill instead of storing as freeform memories.
Use memories for:
Use profile for:
The profile is queryable and shared across all brain-jar plugins. Memories provide the context and "why" behind profile entries.