memorylisted
Install: claude install-skill Raz-Gits/claude-code-skills
# memory
The problem with agent memory is not storing things. It is that stored things
**rot**, and a naive store cannot tell the difference between a fact and a fact
that used to be true.
Six months of accumulated notes will confidently tell you that someone is at a
company they left in March, that a flag exists that was removed in April, and
that a decision holds that was reversed in May. Every one of those is worse than
having no memory, because the agent states them with the same confidence as the
true ones.
The fix, borrowed from temporal knowledge graphs like
[Graphiti](https://github.com/getzep/graphiti): **facts have validity windows,
and contradiction closes a window rather than deleting a row.** The current state
is what has an open window. The history stays readable, so you can always tell a
change from an error.
That idea does not need a graph database. It works in flat Markdown.
## Layout
```
.claude/memory/INDEX.md # one line per fact, read at the start of a session
.claude/memory/<slug>.md # one fact per file
```
Project-local by default, since most facts are about a project. Use
`~/.claude/memory/` for facts about the person that hold everywhere.
## One fact per file
```markdown
---
name: prefers-flowing-sentences
description: Rejects choppy fragment style in anything written in his voice
type: preference
confidence: stated
valid_from: 2026-08-31
valid_until: null
supersedes: null
---
Writes in regular flowing sentences. Pushed back twice on