返回 Skill 列表
extension
分类: 开发与工程无需 API Key

solo-memory-audit

审核Claude代码内存层次结构 — CLAUDE.md文件、规则、自动内存、导入。显示加载文件的树状图、字符计数以及优化提示(大文件、重复项、无条件规则)。当用户说“审核内存”、“检查CLAUDE.md”、“内存映射”、“规则审核”、“上下文预算”或“会话中加载了什么”时使用。

person作者: jakexiaohubgithub

/memory-audit

Audit Claude Code memory hierarchy for a project. Shows what files load at session start, total context budget, and optimization hints.

Context

Claude Code loads memory files at session start in this order:

  1. Managed policy (/Library/Application Support/ClaudeCode/CLAUDE.md)
  2. User memory (~/.claude/CLAUDE.md)
  3. User rules (~/.claude/rules/*.md)
  4. Auto-memory (~/.claude/projects/{key}/memory/MEMORY.md, first 200 lines)
  5. Project hierarchy (walk from / to CWD: CLAUDE.md, .claude/CLAUDE.md, .claude/rules/*.md)
  6. Local overrides (CLAUDE.local.md at each level)

Rules with paths: frontmatter are conditional — loaded only when working on matching files. Rules without paths: always load and consume context budget.

Target: keep startup context under 40k chars. Large CLAUDE.md files should extract domain-specific sections into conditional .claude/rules/*.md files.

Steps

  1. Determine target. Parse $ARGUMENTS:

    • Empty or . -> use CWD
    • Path -> use that path
    • all -> scan CWD subdirectories that have CLAUDE.md
  2. Run memory_map.py. Execute:

    uv run python ${CLAUDE_PLUGIN_ROOT}/scripts/memory_map.py <path> --audit
    

    If all argument, add --all-projects flag instead of path.

    If uv is not available, fall back to:

    python ${CLAUDE_PLUGIN_ROOT}/scripts/memory_map.py <path> --audit --plain
    
  3. Analyze the output. Read the tree display and audit hints table. Key metrics:

    • Total startup chars — should be under 40k
    • Large files (>300 lines) — candidates for splitting into rules
    • Unconditional rules (>30 lines, no paths: frontmatter) — add paths: to make conditional
    • Duplicate sections — same ## Header in multiple files, extract to one place
    • Missing auto-memory — project doesn't learn across sessions
  4. Generate recommendations. Based on audit hints, suggest concrete actions:

    | Issue | Action | |-------|--------| | File > 300 lines | Extract domain sections to .claude/rules/{topic}.md with paths: frontmatter | | Total > 40k chars | Identify largest files, move conditional content to rules | | Unconditional rule > 30 lines | Add paths: frontmatter targeting relevant source files | | Duplicate sections | Keep in the highest-level file, remove from children | | No auto-memory | Normal for new projects, just informational | | User-level rule is project-specific | Move from ~/.claude/rules/ to project's .claude/rules/ | | Generic rule in project | Move up to ~/.claude/rules/ or parent CLAUDE.md |

  5. Check hierarchy health. For the target project:

    • Verify parent CLAUDE.md files exist (inheritance chain intact)
    • Check that project CLAUDE.md has essential sections (structure, commands, stack)
    • Verify .claude/rules/ files have valid paths: frontmatter syntax
  6. Output report:

    ## Memory Audit Report
    
    **Project:** [path]
    **Startup context:** X files, ~Y chars (Z% of 40k budget)
    
    ### Tree
    [paste tree output from memory_map.py]
    
    ### Issues Found
    [from audit hints]
    
    ### Recommendations
    1. [specific action with file path]
    2. [specific action with file path]
    
    ### Hierarchy Health
    - Inheritance chain: [OK / broken at level X]
    - Auto-memory: [present / missing]
    - Rules: X total (Y conditional, Z always-on)
    

Rules Frontmatter Reference

Conditional rules load only when the agent works on files matching the glob pattern:

---
paths:
  - "src/lib/analytics/**"
  - "src/app/api/analytics/**"
---
# Analytics Module
...content only loaded when working on analytics files...

Without paths:, the rule always loads and consumes context budget.