From brewdoc
Deduplicates, compresses, and organizes CLAUDE.md memory files through an interactive 4-step workflow. Useful for reducing token usage and resolving conflicts between memory, rules, and CLAUDE.md.
How this skill is triggered — by the user, by Claude, or both
Slash command
/brewdoc:memory — no args, runs 4-step interactive workflow— no args, runs 4-step interactive workflowopusThis 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.
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."
Options: "Yes, delete all" / "Review each" / "Skip this step"Edit if approvedGoal: Identify remaining 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?"
Options: "Yes, migrate all" / "Review each" / "Skip this step"Edit, remove migrated entries from memory, create target file if missingGoal: 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)"
Options: "Yes, compress all" / "Skip compression"Edit (bottom-up order to preserve line numbers)Goal: Verify final state and clean orphaned references.
reviewer agent to verify:
Edit$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}
npx claudepluginhub kochetkov-ma/claude-brewcode --plugin brewdocOptimizes Claude Code auto-memory files by deduplicating entries, migrating rules to CLAUDE.md/rules files, and compressing remaining content, reducing token count by 30-50% for faster context loading and lower API cost.
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's auto-memory (MEMORY.md) for promotion candidates, stale entries, consolidation opportunities, and health metrics. Run via /si:memory-review.