Help us improve
Share bugs, ideas, or general feedback.
From brewdoc
Optimizes Claude Code memory files in 4 interactive steps: removes duplicates by cross-referencing CLAUDE.md/rules, migrates entries to persistent configs, compresses, and validates with cleanup. Run in main conversation to declutter memory.
npx claudepluginhub kochetkov-ma/claude-brewcode --plugin brewdocHow this skill is triggered — by the user, by Claude, or both
Slash command
/brewdoc:memoryopusThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Optimizes Claude Code memory files through 4 interactive steps.
Deduplicates and consolidates CLAUDE.md memory files: finds redundancies within/across files, detects misplaced instructions, proposes fixes via user interaction, implements approved changes per hierarchy.
Audits Claude Code auto-memory (MEMORY.md, topic files) for promotion candidates to CLAUDE.md, stale entries, duplicates, consolidation opportunities, and health metrics.
Organizes, extracts, prunes, and verifies Claude Code persistent memory files to keep MEMORY.md under the 200-line truncation limit and topic files up to date with project state.
Share bugs, ideas, or general feedback.
Optimizes Claude Code memory files through 4 interactive steps.
No
context: fork— must run in main conversation to spawn agents.
Determine memory directory ($MEMORY_DIR):
CUSTOM_DIR=$(cat .claude/settings.json 2>/dev/null | jq -r '.autoMemoryDirectory // empty')
if [ -n "$CUSTOM_DIR" ]; then
MEMORY_DIR="$(git rev-parse --show-toplevel)/$CUSTOM_DIR"
else
MEMORY_DIR=~/.claude/projects/<hash>/memory
fi
Read .claude/settings.json (if exists) → extract autoMemoryDirectory.
If set → resolve as <git-root>/<autoMemoryDirectory>.
If not set → use legacy ~/.claude/projects/<hash>/memory/ glob pattern.
Glob all memory files: $MEMORY_DIR/*.md (or ~/.claude/projects/**/memory/*.md for legacy)
Read ~/.claude/CLAUDE.md and project CLAUDE.md (if exists)
Glob .claude/rules/*.md — read all project rules
Read ~/.claude/rules/*.md — read all global rules
Build context map:
memory_dir: $MEMORY_DIR
memory_files: [paths]
claude_md_sections: [sections]
rules_files: [paths with content]
Goal: Find memory entries that duplicate content already in CLAUDE.md or rules.
Explore agent to cross-reference all loaded filesFound X duplicate/redundant entries (Y% of memory):
| Entry | Memory File | Already In | Action |
|-------|-------------|------------|--------|
| "Use grepai first" | MEMORY.md:5 | rules/grepai-first.md | DELETE |
...
AskUserQuestion: "Delete X duplicate entries (Y% of memory)? This is safe — content exists elsewhere."
Edit tool if approvedGoal: Identify remaining memory entries better suited to persistent config files.
Decision tree (per entry):
~/.claude/rules/.claude/rules/CLAUDE.mdX entries suitable for migration:
| Entry | Current Location | Target | Reduction |
|-------|-----------------|--------|-----------|
| "Always use BD_PLUGIN_ROOT" | MEMORY.md:12 | .claude/rules/brewdoc.md | 15 tokens |
...
Total: X entries → ~Y tokens saved
AskUserQuestion: "Migrate X entries to rules/CLAUDE.md?"
EditEditGoal: Compress remaining entries using LLM-efficient formatting.
Compression techniques:
Compression opportunities found:
| Before | After | Savings |
|--------|-------|---------|
| "When you need to... always use..." | "Use X for Y" | 8 tokens |
...
Total: ~Y% token reduction (~Z tokens)
Show 2-3 specific before/after samples.AskUserQuestion: "Compress remaining memory? (~Y% reduction)"
Edit (bottom-up order to preserve line numbers)Goal: Verify final state and clean orphaned references.
reviewer agent to verify:
$MEMORY_DIR with no MEMORY.md reference)Final Report:
## Memory Optimization Complete
### Summary
| Metric | Before | After | Saved |
|--------|--------|-------|-------|
| Total entries | X | Y | Z |
| Duplicate entries | X | 0 | — |
| Migrated entries | — | — | X |
| Token estimate | ~X | ~Y | ~Z (~P%) |
### Changes Made
- Step 1: Deleted X duplicate entries
- Step 2: Migrated X entries to rules/CLAUDE.md
- Step 3: Compressed X entries (Y% reduction)
- Step 4: Fixed X broken references, removed X orphaned files
### Final Memory Structure
{directory listing of $MEMORY_DIR}