
Memory Consolidation
FreeStreamline and enhance your stored memories.
Free · Opens the source repo
What Memory Consolidation does
Memory Consolidation is a skill designed to improve the quality of stored memories by systematically reviewing, merging, and refining them. This process involves several phases, starting with an orientation phase where the current memory landscape is surveyed. Users can identify duplicates, outdated entries, and unclear memories, ensuring a clean and efficient memory store. The skill is particularly useful for individuals who rely on memory storage for personal or professional purposes, allowing them to maintain a clear and organized set of facts without the clutter of noise or redundancy.
The consolidation process is thorough and methodical. It begins with gathering targets for action, where the skill identifies memories that require deletion, merging, or rewriting. Dangerous entries, such as credentials or expired memories, are promptly deleted to maintain security and relevance. Duplicates are merged into a single, coherent memory, preserving important details and ensuring clarity. Unclear entries are rewritten for better understanding and categorization, which enhances the overall quality of the memory store.
This skill is ideal for users who frequently interact with AI agents and need to maintain a robust memory system. By automating the cleanup and consolidation of memories, users can focus on more critical tasks while ensuring that their stored knowledge remains accurate and useful. The ability to trigger consolidation automatically after sufficient activity further streamlines this process, making it a valuable tool for anyone looking to optimize their memory management.
In summary, Memory Consolidation not only improves the efficiency of memory storage but also enhances the user's ability to retrieve and utilize information effectively. It is a must-have for those who prioritize clarity and organization in their interactions with AI agents.
When to use it
Use this skill when you need to clean up, consolidate, or review your stored memories.
When not to use it
This skill may not be suitable for users who prefer to keep all entries, regardless of their quality or relevance.
What you can build with it
Routine Memory Cleanup
Schedule regular memory consolidation to keep your stored knowledge clear and organized.
Merging Duplicate Memories
Use this skill to identify and merge duplicate memories, ensuring that your memory store is concise and coherent.
Removing Sensitive Information
Quickly delete sensitive or outdated memories to maintain security and relevance in your stored data.
How to install Memory Consolidation
View source1. Install with the skills CLI
npx skills add mem0ai/mem0/memory-dream --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by mem0aiMemory Consolidation
You are performing a memory consolidation pass. Your goal is to review all stored memories for this user and improve their overall quality. Think of this as compressing raw observations into clean, durable knowledge.
Available Tools
memory_search
Semantic search across stored memories.
query(required): search querylimit: max resultsuserId,agentId: scope overridesscope:"all"(default),"session", or"long-term"categories: filter by category array
memory_add
Store new facts in long-term memory.
facts(required): array of facts — ALL must share the same categorycategory:"identity","preference","decision","rule","project","configuration","technical","relationship"importance: 0.0–1.0
memory_get
Retrieve a single memory by ID.
memoryId(required): the memory ID
memory_list
List all stored memories for a user or agent.
userId,agentId: scope overridesscope:"all"(default),"session", or"long-term"
memory_update
Update an existing memory's text in place. Atomic and preserves edit history.
memoryId(required): the memory ID to updatetext(required): the new text (replaces old)
memory_delete
Delete memories by ID, query, or bulk.
memoryId: specific memory ID to deleteall: delete ALL memories (requiresconfirm: true)userId,agentId: scope overrides
memory_event_list
List recent background processing events (platform mode only).
memory_event_status
Get status of a specific background event.
event_id(required): the event ID to check
Follow these four phases in order. Do not skip phases.
Phase 1: Orient
Survey the current memory landscape before making any changes.
- Call
memory_listto load all stored memories. - Count memories by category. Note the total.
- Identify the oldest and newest memories by their timestamps.
- Note any obvious problems visible in the list: duplicates, very short entries, entries without temporal anchors.
Do not modify anything in this phase. The goal is to understand what you are working with.
Phase 2: Gather Targets
Identify which memories need action. Use the tools to investigate.
Search for recent additions:
Call memory_search with a created_at filter to find memories added since the last consolidation. These are the most likely to need merging or cleanup.
Classify each target into one of these actions:
- DELETE: contains credentials, expired by TTL, pure noise, raw tool output, standalone timestamps
- MERGE: two or more memories express the same fact in different words, or a series tracks incremental changes to the same entity
- REWRITE: vague, missing temporal anchor, uses first person instead of third, wrong category, overly verbose
Phase 3: Consolidate
Execute the actions identified in Phase 2. Work in this priority order:
3a. Delete dangerous and expired entries
Delete immediately using memory_delete:
- Credentials, API keys, tokens, passwords, secrets (matching known credential prefixes and auth patterns injected by the plugin at runtime)
- Pure timestamps with no context
- Raw tool output stored as memory
- Heartbeat or cron execution records
- Generic acknowledgments stored as memory ("ok", "got it")
- Operational memories older than 7 days
- Project memories older than 90 days
3b. Merge duplicates
When two or more memories express the same fact:
- Pick the most complete version as the base
- Call
memory_updateon the best version to incorporate missing details from the others - Call
memory_deleteon the redundant entries
memory_update is preferred over forget-then-store because it is atomic and preserves edit history.
When merging, follow these rules:
- Keep the user's original words for opinions and preferences
- Preserve temporal anchors from both versions
- Do not exceed 50 words in the merged result
- The merged memory must be self-contained (understandable without the deleted ones)
3c. Rewrite unclear entries
When a memory needs improvement but is not a duplicate:
- Call
memory_updatewith the improved text
Rewrite when:
- Memory uses first person ("I prefer") instead of third ("User prefers")
- Memory lacks a temporal anchor for time-sensitive information
- Memory is vague ("likes python") and can be made specific ("User prefers Python for backend development")
- Memory has the wrong category assignment
- Memory is over 50 words and can be compressed without losing information
Phase 4: Report
After completing all operations, summarize what you did:
Consolidation complete.
- Reviewed: [total count]
- Deleted (credentials/secrets): [count]
- Deleted (expired/stale): [count]
- Merged: [count] groups into [count] memories
- Rewritten: [count]
- Final count: [total remaining]
- Issues found: [any notable problems or observations]
Quality Targets
After consolidation, the memory store should have:
- Zero memories containing credentials or secrets
- Zero duplicate memories (same fact in different words)
- All project and operational memories have temporal anchors ("As of YYYY-MM-DD")
- All memories use third person voice
- All memories are correctly categorized
- Each memory is 15-50 words, self-contained, and atomic (one fact per memory)
Frequently asked questions about Memory Consolidation
Similar skills
Skill Creator
Efficiently create and manage skills for Gemini CLI.
Agent Development
Create and manage autonomous agents for Claude Code.
Math Olympiad Solver
Solve and verify competition math problems effectively.
Microsoft Skill Creator
Create specialized skills for Microsoft technologies.
Doublecheck
A verification pipeline for AI-generated claims.
Skill Development for Claude Code
Create and enhance skills for Claude Code plugins.
