Persist and recall project-specific context across sessions. Store architectural decisions, patterns, solutions, and learnings. Automatically recall relevant context when facing similar problems.
Use the memory MCP (mcp__memory__*) to persist project knowledge across sessions. This complements personal memory (Qdrant) by focusing on project-specific technical context.
Store when you make or discover significant choices:
Store: "Auth architecture: JWT tokens with httpOnly cookies, refresh tokens in Redis,
15min access / 7d refresh. Chosen over session-based for API scalability."
Tags: ["architecture", "auth", "decisions"]
Store when you fix non-trivial issues:
Store: "Prisma N+1 fix: Use `include` with explicit `select` for nested relations.
findMany({ include: { posts: { select: { id: true, title: true } } } })"
Tags: ["prisma", "performance", "patterns"]
Store recurring patterns unique to this codebase:
Store: "Error handling pattern: All API errors extend BaseError with code,
statusCode, isOperational. Use errorHandler middleware for centralized catching."
Tags: ["patterns", "errors", "conventions"]
Store insights from implementation:
Check memory when starting work that might have prior context:
Query memory when facing challenges:
Check for consistency with past decisions:
Use mcp__memory__store or similar tool:
- content: Clear, searchable description
- tags: Relevant categories for retrieval
- metadata: { project: "project-name", type: "decision|pattern|fix|learning" }
Good memory content:
Use mcp__memory__search or similar tool:
- query: Natural language description of what you need
- tags: Filter by category if known
- limit: Start with 5, expand if needed
Effective queries:
Use consistent tags for organization:
| Tag | Use For |
|-----|---------|
| architecture | System design, service boundaries |
| patterns | Recurring code patterns |
| decisions | Why we chose X over Y |
| fixes | Bug fixes and debugging solutions |
| performance | Optimizations, bottlenecks |
| integrations | External API quirks, configs |
| conventions | Team standards, naming, structure |
| gotchas | Non-obvious behaviors, pitfalls |
| Project Memory | Personal Memory (Qdrant) | |----------------|--------------------------| | Technical decisions | Life experiences | | Code patterns | Personal preferences | | Project-specific | Cross-project/personal | | Implementation details | Skills, relationships | | Ephemeral (project lifetime) | Permanent (life memory) |
Rule: If it's about THIS project's code → project memory. If it's about Berry → Qdrant.
At session start, consider:
After implementing a feature:
"Implemented image generation queue with Bull + Redis. Chose over in-memory
because: 1) Survives restarts, 2) Rate limiting per user, 3) Priority queues
for premium users. Max 3 concurrent jobs per user, 10 global."
Tags: ["architecture", "queue", "images", "decisions"]
Starting work on similar feature:
Query: "queue implementation patterns"
→ Recalls Bull + Redis decision
→ Apply same patterns for consistency
After debugging:
"Gemini API safetySettings must be top-level param, NOT inside generationConfig.
Wasted 2 hours on this. SDK docs are misleading."
Tags: ["gotchas", "gemini", "api", "integrations"]
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer