
recall-project-memory
by evgenygurin
Intelligent project memory management for Claude Code using Mem0. Automatically captures decisions, patterns, and context across sessions.
SKILL.md
name: recall-project-memory description: Automatically search and retrieve relevant project memory from Mem0 when working on tasks that might benefit from past decisions, patterns, or learnings. Use this skill when starting new features, fixing bugs, or making architectural decisions to leverage historical context. allowed-tools:
- MCP(mem0:*)
Recall Project Memory Skill
Purpose
This skill enables you to automatically search project memory for relevant context before making decisions or implementing features. It helps maintain consistency with past decisions and avoid repeating mistakes.
When to Invoke
Automatically consider using this skill when:
- Starting new features: Check if similar features exist or related patterns were established
- Making architectural decisions: See if similar decisions were made and what rationale was used
- Debugging: Look for past solutions to similar problems
- Refactoring: Understand why current structure exists before changing
- User asks about history: "How did we handle X?", "Why did we choose Y?"
How to Use
Step 1: Identify Context
From the current task or conversation, extract:
- Technical domain (auth, database, API, frontend, etc.)
- Specific components or files being discussed
- Type of work (decision, implementation, debugging, refactoring)
- Key concepts or patterns mentioned
Step 2: Formulate Search Query
Create semantic search query combining:
- Domain keywords
- Problem/feature description
- Technology stack terms
Example queries:
- "authentication JWT token refresh"
- "database migration strategy postgres"
- "error handling async functions"
- "API rate limiting implementation"
Step 3: Query Mem0
Use MCP mem0 tools to:
search_memories(
query: "<semantic query>",
user_id: "${CLAUDE_PROJECT_DIR_NAME}",
limit: 5-10
)
Filter by:
- Project scope (always use project name as user_id)
- Relevance threshold (>0.7)
- Memory types (decisions, patterns, constraints)
Step 4: Apply Retrieved Context
If relevant memories found:
- Briefly mention: "Found relevant past decision about X"
- Apply patterns/constraints to current task
- Maintain consistency with established approaches
- If conflicting with past, explain why deviation is needed
If no relevant memories:
- Proceed normally
- Consider capturing new decision if significant
If memories are outdated:
- Note the change in context
- Suggest updating the memory
Examples
Example 1: Feature Implementation
User: "Add user authentication to the API"
You should:
- Search: "authentication API security user"
- Find memory: "Decision [2024-10]: Use JWT with 15min expiry, refresh tokens"
- Apply: "I'll implement authentication using JWT tokens as previously decided..."
- Reference: "This aligns with our established auth pattern [mem0:xyz]"
Example 2: Debugging
User: "The async function is throwing errors randomly"
You should:
- Search: "error handling async functions"
- Find memory: "Pattern: Always use Result<T, E> for async operations"
- Check: Review current code against pattern
- Fix: "I see the issue - we should wrap this in Result<> per our pattern..."
Example 3: No Relevant Memory
User: "Add caching layer"
You should:
- Search: "caching cache layer"
- No results
- Proceed: "I don't see any past caching decisions. Let's design this..."
- Later: Suggest capturing the decision
Output Format
When memory is relevant:
🧠 **Project Memory**: Found relevant context from <date>
- <brief summary of memory>
- <how it applies to current task>
Keep it concise - don't overwhelm the user. The goal is to:
- Surface relevant context seamlessly
- Maintain consistency
- Avoid redundant explanations
Best Practices
- Don't over-retrieve: Only search when genuinely relevant
- Be specific: Use precise search terms related to current task
- Stay concise: Mention memory briefly, focus on applying it
- Update proactively: If memory is outdated, suggest updating it
- Trust the search: Mem0 uses semantic similarity, so approximate terms work
Error Handling
- Mem0 unavailable: Proceed without memory, log gracefully
- Search timeout: Fall back to local knowledge, continue task
- No API key: Skip memory retrieval, work normally
- Ambiguous results: Ask user for clarification on which approach to follow
Progressive Loading
If you need more details about a memory:
- Initial search returns summary
- If needed, retrieve full memory by ID
- If memory references files, read those files for complete context
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon

