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 viaMEMORY.md; file prefixes likefeedback_/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.mdindex + the individual*.mdfiles.
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.