brewdoc/skills/memory/SKILL.md
Optimizes Claude Code memory in 4 interactive steps - removes duplicates, migrates to rules/CLAUDE.md, compresses, validates with cleanup
npx skillsauth add kochetkov-ma/claude-brewcode brewdoc:memoryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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}
devops
Publish content to brewpage.app — text, markdown, any file, or multi-file site. Asks namespace and password, returns public URL. Triggers: publish, share link, upload to brewpage, host page, brewpage, publish site, upload site, upload directory, deploy site, сделай публичную ссылку, опубликуй.
tools
Toggles terse-output mode for Claude Code - injects brief directives into main conversation (SessionStart) and sub-agent prompts (PreToolUse:Task) to cut preamble and filler. Profiles: light, medium, aggressive. Scope: global or project (project overrides). Triggers: think-short, be terse, think shorter, reduce tokens mode, level 1/2/3.
devops
Publish content to brewpage.app — text, markdown, JSON, file, or multi-file site. Asks namespace and password, returns public URL. Triggers: publish, share link, upload to brewpage, host page, brewpage, publish site, upload site, upload directory, deploy site, сделай публичную ссылку, опубликуй.
tools
Disables or enables individual plugin skills by writing skillOverrides to ~/.claude/settings.json (survives plugin updates). Modes: off, user-invocable-only, name-only. Triggers: disable skill, enable skill, toggle skill, hide skill, skill-toggle.