Memory Defrag

basicmachines-co/basic-memory/skills/memory-defrag

by basicmachines-cob941460b4d99480fa2eb1a230a62d2847927ea05No license4.1K starsListed Oct 9, 2026Updated Oct 9, 2026Repository updated today

Defragment and reorganize agent memory files: split bloated files, merge duplicates, remove stale information, and restructure the memory hierarchy. Use when memory files have grown unwieldy, contain redundancies, or need reorganization. Run periodically (weekly) or on demand.

AI-generated overview

Reorganizes an agent's memory files by splitting, merging, pruning and restructuring them.

What it does
Provides a step-by-step procedure for defragmenting agent memory files: auditing the current state, identifying problems such as bloated files, duplicates, stale entries and orphan files, planning changes, then executing splits, merges, prunes, restructures and updates. It finishes with verification and a log entry in the daily note. It is an instructions-only skill and produces a reorganized memory hierarchy plus a defrag log.
When to use it
Use when memory files have grown unwieldy, contain redundancies or contradictions, or need reorganization. It is intended to run periodically, such as weekly or biweekly, or on demand when the user asks to clean up memory. It is also suggested when MEMORY.md exceeds roughly 500 lines or daily notes accumulate without consolidation.
Requirements
No scripts or special tooling; it relies on the agent's ability to read and edit memory files. It assumes a memory layout with MEMORY.md, a memory/ directory, and memory/tasks/, and optionally a scheduler such as cron for periodic runs.

Memory Defrag

Reorganize memory files for clarity, efficiency, and relevance. Like filesystem defragmentation but for knowledge.

When to Run

  • Periodic: Weekly or biweekly via cron (recommended)
  • On demand: User asks to clean up, reorganize, or defrag memory
  • Threshold: When MEMORY.md exceeds ~500 lines or daily notes accumulate without consolidation

Process

1. Audit Current State

Inventory all memory files:

MEMORY.md           — long-term memorymemory/             — daily notes, tasks, topical filesmemory/tasks/       — active and completed tasks

For each file, note: line count, last modified, topic coverage, staleness.

2. Identify Problems

Look for these common issues:

ProblemSignalFix
Bloated file>300 lines, covers many topicsSplit into focused files
Duplicate infoSame fact in multiple placesConsolidate to one location
Stale entriesReferences to completed work, old dates, resolved issuesRemove or archive
Orphan filesFiles in memory/ never referenced or updatedReview, merge, or remove
InconsistenciesContradictory information across filesResolve to ground truth
Poor organizationRelated info scattered across filesRestructure by topic

3. Plan Changes

Before making edits, write a brief plan:

markdown
## Defrag Plan- [ ] Split MEMORY.md "Key People" section → memory/people.md- [ ] Remove completed tasks past the retention window from memory/tasks/- [ ] Merge memory/bm-marketing-ideas.md into memory/competitive/- [ ] Update stale project status entries in MEMORY.md

4. Execute

Apply changes one at a time:

  • Split: Extract sections from large files into focused topical files
  • Merge: Combine related small files into coherent documents
  • Prune: Remove information that is no longer relevant or accurate
  • Restructure: Move files to appropriate directories, rename for clarity
  • Update: Fix outdated facts, dates, statuses

5. Verify & Log

After changes:

  • Verify no information was lost (compare before/after)
  • Update any cross-references between files
  • Log what was done in today's daily note:
markdown
## Memory Defrag (HH:MM)- Files reviewed: N- Split: [list]- Merged: [list]- Pruned: [list]- Net result: X files, Y total lines (was Z lines)

Guidelines

  • Preserve raw daily notes. Don't delete or modify memory/YYYY-MM-DD.md files — they're the audit trail.
  • Target 15-25 focused files. Too few means bloated files; too many means fragmentation. Aim for the sweet spot.
  • File names should be scannable. Use descriptive names: people.md, project-status.md, competitive-landscape.md — not notes-2.md.
  • Don't over-organize. One level of directories is usually enough. memory/tasks/ and memory/competitive/ are fine; memory/work/projects/active/basic-memory/notes/ is not.
  • Completed tasks: Tasks with status: done older than 14 days can be removed. Their insights should already be in MEMORY.md via reflection.
  • Ask before destructive changes. If uncertain whether information is still relevant, keep it with a (review needed) tag rather than deleting.

Source and attribution

Source:basicmachines-co/basic-memoryinskills/memory-defragat commitb941460

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal