# Memory Audit

> Compares two memory layers — git-backed context notes in your vault vs the non-git Claude Code auto-memory store — finds overlap/drift and convention drift, and PROPOSES a source of truth plus what to merge or delete. Read-only analysis; propose → OK → write. Triggers: "memory audit", "what's duplicated in memory", "sync my memory", "what's stale in my context notes", and Czech aliases "audit paměti", "co je zastaralé v paměti".

- Skill: `adamradek-ux/memory-audit` (Agent Skill)
- Install (CLI): `npx skillmds@latest add adamradek-ux/memory-audit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/adamradek-ux/memory-audit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: adamradek-ux (https://skillmd.com/u/adamradek-ux)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/adamradek-ux/memory-audit

---


Check memory consistency across two layers and **propose** fixes.
The analysis is read-only; any write/delete goes through propose → OK → write.

## The two memory layers (context)

- **Vault context notes** (e.g. `context/` or `_context/` in your notes repo) —
  git-backed, human-facing (who you are, current focus, decisions log, lessons).
  Travels with your git backup.
- **Claude Code auto-memory store** —
  `~/.claude/projects/<project-slug>/memory/` (auto-loaded via `MEMORY.md`; file
  prefixes like `feedback_` / `reference_` / `project_` / `user_`). **Not covered by
  your git backup** → risk of loss.

## Procedure

### 1. Load both layers

- Vault: your context/notes files, lessons, decisions log.
- Memory store: the `MEMORY.md` index + the individual `*.md` files.

### 2. Find 4 classes of problems

| Class | What to look for |
|---|---|
| **Overlap/drift** | Same topic in both layers with diverging content. Which one is the source of truth? |
| **Staleness** | A `feedback_`/`reference_` claim that no longer holds (verify against the code/docs/reality — memory is point-in-time, not live). |
| **Index orphan** | A `memory/*.md` file without a line in `MEMORY.md` (it never loads), or a `MEMORY.md` line without a file. |
| **Convention drift** | Two competing conventions for the same thing (e.g. old vs new daily-note location). Which is current? |

### 3. Verify before proposing

- Verify every "stale" claim against reality (code/file/docs), not against a hunch.
  What cannot be verified, mark "to confirm with the user" — do not delete it.
- For overlaps, pick the source of truth by the layer's role (durable technical fact
  → memory store; human-facing state/decisions → vault). Don't guess — show evidence.

### 4. Propose the fix (propose → OK → write)

For each finding: **file + problem + concrete action** (merge into X, delete
duplicate, add the missing `MEMORY.md` pointer, correct the stale claim, decide the
convention). Order by risk (data loss > stale fact > cosmetics). Wait for the OK.

**Deleting memory is irreversible and not covered by git** — for every delete
proposal, ask for an explicit OK separately.

## What this skill does NOT do

- It does not delete or rewrite anything without an OK.
- It does not lint your vault structure (use your own linter or hooks for that) — it
  focuses on memory consistency across the two layers.

