Back to Mem0

Memory Reviewer

mem0-plugin/skills/memory-reviewer/SKILL.md

2.0.32.0 KB
Original Source

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:

    IssueDetection method
    Near-duplicates>60% noun overlap within same type. Compare memory text after stripping stop words.
    ContradictionsOpposing facts about same topic (e.g., "use PostgreSQL" vs "use MySQL" for same component)
    Low-confidencemetadata.confidence < 0.3
    Missing typeNo metadata.type set
    Stalecreated_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
  1. 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>]
  1. 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