Memory Defrag

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

by basicmachines-co6d2b1d426d0dacf020aef45f029768c9d8c1e5e5No license24 starsListed Oct 9, 2026Updated Oct 9, 2026Repository updated 5 months ago

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 agent memory files by splitting, merging, pruning and restructuring them into a cleaner hierarchy.

What it does
Provides a guided procedure for defragmenting an agent's memory store: auditing files, spotting bloat, duplicates, stale entries and orphan files, planning changes, then splitting, merging, pruning, restructuring and updating content. It also covers verification, cross-reference updates and logging the defrag in a daily note. It is an instruction-only skill and produces no scripts or files by itself.
When to use it
Use when memory files have grown unwieldy, contain redundant or contradictory information, or need reorganization. It is intended for periodic runs, such as weekly, or on demand when a memory file exceeds roughly 500 lines.
Requirements
No tools, packages or credentials are required beyond the agent. It assumes an existing memory layout such as MEMORY.md and a memory/ directory, and recommends git for backups when available.

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
Recursive nestingmemory/memory/memory/... directoriesDelete nested dirs (indexer bug artifact)

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 older than 30 days 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

  • Back up first. If git is available, commit before defragging. If not, note the pre-defrag state.
  • 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-memory-skillsin.agents/skills/memory-defragat commit6d2b1d4

License: No license

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

Report or request removal