memory-audit
Skill3 starsChanged 14 days agoMITView on GitHub
[Adam''s Skills] Audit Claude''s per-user memory for this project and produce a report. Asks at the start whether the user wants a non-technical summary or a full technical audit. Never edits memory — produces a report only. Usage: /memory-audit
14 other projects use a version of this.
Adopted by
Most recently taken up by
- nightscout/AndroidAPStheir own version, first seen Nov 1, 2026
- shakhruz/mila-coretheir own version, first seen Nov 1, 2026
- AcKeskin/contexturetheir own version, first seen Nov 1, 2026
- qwwiwi/agentos-skills-publictheir own version, first seen Nov 1, 2026
- AdityaRon/claude-code-harnesstheir own version, first seen Oct 29, 2026
- baberarjumand/agentic_markdown_memory_agent-skilltheir own version, first seen Oct 13, 2026
Other versions14 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 14
- FastLED/FastLED★ 7.5ksame name
- nightscout/AndroidAPS★ 1.2ksame name
- AdityaRon/claude-code-harness★ 14same name
- mfang0126/openclaw-skills★ 4same name
- qwwiwi/agentos-skills-public★ 4same name
- shakhruz/mila-core★ 3same name
- AcKeskin/contexture★ 2same name
- andreijirohdev-labs/gen-ai-labs★ 1same name
- brenbuilds1/skills★ 1same name
- kaiitunnz/claude-skills★ 1same name
4 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository19 other files it gives its agents.
- are-we-doneSkill
- assumption-inventorySkill
- brief-meSkill
- build-itSkill
- check-skill-updatesSkill
- context-auditSkill
- debriefSkill
- fresh-eyesSkill
- goal-workflowSkill
- raise-issueSkill
- regroundSkill
- report-issueSkill
- seatbeltSkill
- seatbeltsSkill
- ship-it-nowSkill
- ship-itSkill
- to-the-pointSkill
- ttpSkill
- where-are-weSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 8 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 11 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 17
Before reading anything, call AskUserQuestion with:
- Distinctive: line 30
Wait for the answer before continuing.
- Distinctive: line 40
If the directory does not exist, stop and tell the user: "No memory has been recorded for this project yet — there is nothing to audit."
- Very specific: line 46
Read every .md file in the directory — both those the index points to and any that are not indexed.
- Very specific: line 59
Do not guess. If the entry says "the XyzService does …", actually search the code for XyzService.
- Distinctive: line 70
Write for a non-engineer reading this for project-management purposes.
- Distinctive: line 85
After all entries, write a short overall summary covering:
- Very specific: line 95
Run /memory-audit again and choose "Technical audit".*
- Distinctive: line 114
After the per-entry list, report:
- Distinctive: line 125
Topic clustering: if several entries pile into one narrow workflow (e.g.
- Distinctive: line 128
If any of the memories are classified not as "Keep", end the technical report with a prioritised action list: which entries to address …
- Distinctive: line 145
Stop after delivering the report.
“Common” is measured: kept by at least 6 in 10 of the 11 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
You are running a memory audit for the user's per-user Claude memory in this project.
Hard rule: this skill produces a report only. Do not edit, rename, move, or delete any memory file. If the user wants to act on findings, that is a separate follow-up turn after they review the report.
This skill focuses on the internal health of the memory directory itself. For how memory interacts with the wider
repo — conflicts with CLAUDE.md, rules that never reach subagent prompts, broken doc links — see /context-audit.
Step 1 — Ask the user which report style they want
Before reading anything, call AskUserQuestion with:
- question: "What kind of memory audit would you like?"
- header: "Report style"
- multiSelect: false
- options:
- label: "Non-technical summary" description: "Plain-English overview for project management or non-engineering review. Each remembered item is described in everyday language with a clear recommendation."
- label: "Technical audit" description: "Full engineering audit: classification, stale-reference checks, orphaned files, and structural smells. For engineers maintaining the memory."
Wait for the answer before continuing. The user's choice determines the report format in Step 5.
Step 2 — Resolve the memory directory
The memory directory lives at ~/.claude/projects/<encoded-cwd>/memory/, where the encoded form replaces drive colons
and path separators with -.
Reliable way to find it: list ~/.claude/projects/ and pick the directory whose decoded name corresponds to the current
working directory. On Windows the path will look like C:\Users\<user>\.claude\projects\C--Users-<user>-...\memory\.
If the directory does not exist, stop and tell the user: "No memory has been recorded for this project yet — there is nothing to audit."
Step 3 — Read everything
- Read
MEMORY.md. - Read every
.mdfile in the directory — both those the index points to and any that are not indexed. Do not assess a memory you have not read. - For each memory, note its declared
typefrom frontmatter (one of: user / feedback / project / reference). - List the directory contents and identify:
- Files in the directory not indexed in
MEMORY.md - Index entries pointing to files that don't exist
- Files in the directory not indexed in
Step 4 — Verify references against current code
For any memory entry that names a specific file path, class, function, or directory in the codebase, read the current code to check the reference still resolves. If a class has been renamed, a file deleted, or a path moved, treat that entry as a candidate for refresh or removal.
Do not guess. If the entry says "the XyzService does …", actually search the code for XyzService.
Hand these checks to the scout agent in one call (Agent tool, subagent_type: scout;
general-purpose if it is not installed, and say so in a line): every path, class, function and
directory the memories name, and the memory file each came from. It returns which still resolve,
with path:line. Deciding what a missing reference means for the entry stays with you.
Step 5 — Produce the report
If the user picked "Non-technical summary"
Write for a non-engineer reading this for project-management purposes. No jargon, no file paths, no markdown class names in backticks.
For each memory, produce a short block in this shape:
#: Memory number Memory: One plain-English sentence describing the rule or fact. Why it was added: The original reason, in everyday language. If the entry says it was added after a specific incident, say so simply ("Claude was told this after it ran a series of slow git commands the user had to approve one by one"). Still useful?: One of: Yes, Probably, Maybe not, No longer. Add one short sentence explaining your judgment. Recommendation: One of: Keep / Discuss with the team / Remove. ────────────────────────────────────────
After all entries, write a short overall summary covering:
- How many memories there are
- Whether the set looks healthy or cluttered
- Any patterns worth raising with the team (for example: a lot of "don't do X" rules, or several overlapping rules covering the same situation)
End the report with this exact line on its own:
Want the full engineering breakdown — code verification, classification rules, and structural analysis? Run
/memory-auditagain and choose "Technical audit".
If the user picked "Technical audit"
Produce a full audit. For each memory entry, classify it as exactly one of:
- Keep — durable, applies broadly across tasks, not derivable from code or docs
- Move — real rule but situational; should live in
docs/, in a.claude/agents/<name>.mdsubagent prompt, or inCLAUDE.mdrather than in always-on memory - Refresh — references files/classes/paths that have rotted; either update the entry or flag the discrepancy
- Merge — overlaps another entry and they should be combined
- Drop — situational one-off, no general principle, low signal-to-noise
For each entry include:
- Its name and file
- The classification with one-sentence rationale
- For any code reference: whether it still resolves (verified by reading the code)
After the per-entry list, report:
- Orphans: files in the memory dir not in
MEMORY.md, and index entries pointing to missing files - Type sanity: does each entry's body match its declared
type? Areferenceentry should point to a resource that still resolves (verify the URL or path); aprojectentry should use absolute dates, not "last week" / "recently"; afeedbackentry should carry both a why and a how to apply. Flag mismatches. - Prohibition ratio: count of entries whose rule is a "don't / never / avoid / stop" against total entries. If above ~60%, call this out as a memory-as-corrections-log smell — memory is meant to shape behavior, not log every past mistake.
- Justification quality: entries whose "Why" is a single past incident with no general principle — usually candidates for Move or Drop.
- Topic clustering: if several entries pile into one narrow workflow (e.g. one investigation), suggest collapsing them into a single doc or subagent prompt.
If any of the memories are classified not as "Keep", end the technical report with a prioritised action list: which entries to address first, and whether the recommended next step is editing the entry, moving it elsewhere, or dropping it.
Report length
Both formats are per-entry and fixed-shape, which makes them easy to pad without noticing. Hold each entry to the shape given above and no more: one plain sentence per field in the non-technical format, one sentence of rationale per classification in the technical one. Do not add a preamble explaining what a memory audit is, do not restate an entry's content before judging it, and do not append closing commentary after the prioritised action list.
A memory directory with six healthy entries should produce a short report. Length here should track the number of memories and the number of problems, never the effort spent looking.
After the report
Stop after delivering the report. Do not begin editing memory. If the user asks you to act on findings, treat each edit as a separate operation and confirm before writing.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

