memory-lint
Skill0 starsChanged 42 days agoMITView on GitHub
Health check on the agent's memory wiki: finds contradictions between memory pages, claims that have gone stale, pages naming files/routes/flags that no longer exist, orphans nothing links to, index rows that no longer match their file, and broken [[wikilinks]]. Reports findings and proposes corrections; never rewrites memory without the user's go-ahead. Use on the literal command /memory-lint, or on phrasings like "check your memory", "is your memory stale", "audit what you remember", "clean up memory", "does anything you remember contradict itself". Reasonable to offer when a memory file has just been proven wrong, or when memory has grown without a review for a while. NOT for application logs, linting source code, or type checking.
5 other projects use a version of this.
Adopted by
Most recently taken up by
- MrHashMe/efficiency-playbooktheir own version, first seen Nov 8, 2026
- KerberosClaw/kc_ai_skillstheir own version, first seen Oct 15, 2026
- GlassOnTin/claude-memory-skillstheir own version, first seen Oct 14, 2026
- yangwhale/CloseCrabtheir own version, first seen Aug 18, 2026
- kiloloop/kiloloop-skillstheir own version, first seen Aug 15, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- KerberosClaw/kc_ai_skills★ 79same name
- yangwhale/CloseCrab★ 5same name
- GlassOnTin/claude-memory-skills★ 1same name
- kiloloop/kiloloop-skills★ 0same name
- MrHashMe/efficiency-playbook★ 0same name
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 repository6 other files it gives its agents.
- backcastSkill
- copywriterSkill
- icm-projectSkill
- logSkill
- task-shapeSkill
- ux-lawsSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 30
Read MEMORY.md and every file in the memory directory, then look for:
- Very specific: line 32
Broken links: Every [[slug]] should resolve to a memory file of that name.
- Very specific: line 37
Index drift: Every file has exactly one MEMORY.md row.
- Distinctive: line 55
wrong: before stale before untidy.
“Common” is measured: kept by at least 6 in 10 of the 3 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
/memory-lint: memory health check
The "LLM wiki" pattern for agent memory has three workflows: ingest, query, and lint. Without lint, a wiki becomes a graveyard of confidently worded stale claims. That is the most expensive kind of memory, because it is trusted.
This skill assumes the layout Claude Code's auto-memory uses: a memory
directory with one markdown file per memory (frontmatter with a name and a
description) and a MEMORY.md index with one line per file. The log
skill in this bundle writes that layout.
What to check
Read MEMORY.md and every file in the memory directory, then look for:
- Broken links. Every
[[slug]]should resolve to a memory file of thatname. A dangling link is allowed as a deliberate to-write marker; say so rather than flagging it as an error, but list it. - Orphans. Files nothing links to and nothing in the index describes accurately. Knowledge nothing points at is knowledge that is gone.
- Index drift. Every file has exactly one
MEMORY.mdrow; every row points at a file that exists; the row's hook still matches what the file says. - Stale embedded values. Prices, versions, test counts, dates, routes,
file paths, env flags. Verify the load-bearing ones against the
filesystem: a memory naming
lib/pricing.tsis checked by reading it. Report what no longer exists. - Contradictions. Between memory pages, and against the project's
CLAUDE.md, README, routing or status files. State both sides and which is likelier current; do not silently pick one. - Duplication. Two pages covering the same fact should be one page.
- Zero-copy violations. Values copied into memory that should have been pointed at (a price that lives in config, a list that lives in a file). Propose the pointer.
How to report
A short table: file · finding · proposed correction. Severity ordered: wrong before stale before untidy. Nothing else.
| File | Finding | Proposed correction |
pricing-model.md | wrong: says the plan is $9/month; config/plans.json says $12 since March | Correct the value and point at the config file instead of copying it |
deploy-notes.md | stale: names scripts/release.sh, which no longer exists | Mark as unverified; ask what replaced it |
MEMORY.md | untidy: two rows point at api-keys-rotation.md | Merge into one row |
The rule
Propose, don't perform. Lint reports and waits, except for mechanically certain repairs the user has already approved (a dead index row for a deleted file). Deleting or rewriting a memory the user still believes in is worse than leaving it stale.
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.

