/memory-reviewer
Reviews stored memory quality by detecting duplicates, contradictions, and stale entries with actionable recommendations. Use when search results seem conflicting, before running dream consolidation, or for periodic memory hygiene audits.
$ npx -y skills add mem0ai/mem0 --skill memory-reviewer --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
/memory-reviewer
Context preview
The summary Claude sees to decide when to auto-load this skill.
Reviews stored memory quality by detecting duplicates, contradictions, and stale entries with actionable recommendations. Use when search results seem conflicting, before running dream consolidation, or for periodic memory hygiene audits.
SKILL.md
memory-reviewer.SKILL.mdname: memory-reviewer
description: Reviews stored memory quality by detecting duplicates, contradictions, and stale entries with actionable recommendations. Use when search results seem conflicting, before running dream consolidation, or for periodic memory hygiene audits.
Memory Reviewer
Audits memory quality for the active project. Finds duplicates, contradictions, and low-confidence entries.
When to use
- User asks "check my memories", "memory quality", "any duplicates?"
- User runs `/mem0:memory-reviewer` directly
- After a session with 5+ memory writes (suggest proactively)
- After `/mem0:health --deep` identifies issues
Steps
1. **Fetch all memories** for active project via `get_memories` with `filters={"AND": [{"user_id": "<active_user_id>"}, {"app_id": "<active_project_id>"}]}`, `page_size=200`. Paginate if needed — cap at 200 memories.
2. **Group by `metadata.type`**. Common types: `decision`, `convention`, `anti_pattern`, `task_learning`, `project_profile`, `user_preference`, `session_state`.
3. **Scan each group for issues:**
| Issue | Detection method | |---|---| | **Near-duplicates** | >60% noun overlap within same type. Compare memory text after stripping stop words. | | **Contradictions** | Opposing facts about same topic (e.g., "use PostgreSQL" vs "use MySQL" for same component) | | **Low-confidence** | `metadata.confidence < 0.3` | | **Missing type** | No `metadata.type` set | | **Stale** | `created_at` older than 180 days with no updates |
4. **Output compact summary:**
memory-reviewer: project=<id> total=<N>
duplicates: <N> found
contradictions: <N> found
low_confidence: <N> found
untagged: <N> found
stale: <N> found
5. **If issues found**, list them with memory IDs:
Issues:
[duplicate] "<memory_a>" ≈ "<memory_b>" [mem0:<id_a>, mem0:<id_b>]
[contradiction] "<memory_x>" vs "<memory_y>" [mem0:<id_x>, mem0:<id_y>]
[low_conf] "<memory_z>" (confidence: 0.1) [mem0:<id_z>]
6. **Suggest action**: "Run `/mem0:dream` to consolidate duplicates and resolve contradictions."
Constraints
- **Read-only** — never modify or delete memories (that's `/mem0:dream`'s job)
- **Max 200 memories** per scan
- Report findings, let user decide on action
Read more
name: memory-reviewer description: Reviews stored memory quality by detecting duplicates, contradictions, and stale entries with actionable recommendations. Use when search results seem conflicting, before running dream consolidation, or for periodic memory hygiene audits.
Memory Reviewer
Audits memory quality for the active project. Finds duplicates, contradictions, and low-confidence entries.
When to use
- User asks "check my memories", "memory quality", "any duplicates?"
- User runs `/mem0:memory-reviewer` directly
- After a session with 5+ memory writes (suggest proactively)
- After `/mem0:health --deep` identifies issues
Steps
1. **Fetch all memories** for active project via `get_memories` with `filters={"AND": [{"user_id": "<active_user_id>"}, {"app_id": "<active_project_id>"}]}`, `page_size=200`. Paginate if needed — cap at 200 memories.
2. **Group by `metadata.type`**. Common types: `decision`, `convention`, `anti_pattern`, `task_learning`, `project_profile`, `user_preference`, `session_state`.
3. **Scan each group for issues:**
| Issue | Detection method | |---|---| | **Near-duplicates** | >60% noun overlap within same type. Compare memory text after stripping stop words. | | **Contradictions** | Opposing facts about same topic (e.g., "use PostgreSQL" vs "use MySQL" for same component) | | **Low-confidence** | `metadata.confidence < 0.3` | | **Missing type** | No `metadata.type` set | | **Stale** | `created_at` older than 180 days with no updates |
4. **Output compact summary:**
memory-reviewer: project=<id> total=<N> duplicates: <N> found contradictions: <N> found low_confidence: <N> found untagged: <N> found stale: <N> found
5. **If issues found**, list them with memory IDs:
Issues: [duplicate] "<memory_a>" ≈ "<memory_b>" [mem0:<id_a>, mem0:<id_b>] [contradiction] "<memory_x>" vs "<memory_y>" [mem0:<id_x>, mem0:<id_y>] [low_conf] "<memory_z>" (confidence: 0.1) [mem0:<id_z>]
6. **Suggest action**: "Run `/mem0:dream` to consolidate duplicates and resolve contradictions."
Constraints
- **Read-only** — never modify or delete memories (that's `/mem0:dream`'s job)
- **Max 200 memories** per scan
- Report findings, let user decide on action
Mem0 ("mem-zero") enhances AI assistants and agents with an intelligent memory layer, enabling personalized AI interactions.
Repo: mem0ai/mem0
Other skills on mem0.
- /context-loader
Searches and injects relevant memories into context before starting work on a task. Use when beginning a new task, switching context, or when project history, past decisions, or coding conventions need to be loaded.
Open skill - /dream
Consolidates stored memories by merging duplicates, resolving contradictions, and pruning stale entries. Use when memory count is high, search results feel noisy or repetitive, or periodic cleanup is needed to maintain memory quality.
Open skill - /export
Exports all project memories to a portable Markdown file for backup or migration. Use when backing up memories, migrating to another project, sharing memory state with teammates, or archiving before cleanup.
Open skill - /forget
Deletes memories by search query or memory ID with confirmation before removal. Use when removing outdated decisions, incorrect memories, sensitive data, or cleaning up after experiments. Also handles undo of recent additions.
Open skill - /health
Diagnoses mem0 connectivity, API key validity, and memory read/write functionality. Use when memory operations fail, searches return empty, add_memory errors occur, MCP connection drops, or to verify the plugin is working correctly.
Open skill - /import
Imports memories from an exported Markdown file or MEMORY.md into the current project. Use when migrating from another project, restoring from backup, importing Claude Code native MEMORY.md content, or setting up a new project with existing knowledge.
Open skill

