reflectlisted
Install: claude install-skill SayHey2daddy/hindsight
# reflect
Most reflection produces a nice document and changes nothing. This one is judged on a
single question, asked next time: **did the mistake stop happening?**
Two rules hold the whole thing up.
1. **Every fix gets a watch.** An accepted fix that nobody can measure later is an
opinion. It goes in the watchlist with the words the user actually used when the
mistake happened, or it does not count as accepted.
2. **Nothing is "enforced" until you watch it refuse something.** A rule you wrote and
never tested is decoration. Run it against a case it must block. If you cannot say
what would make the check fail, you have not verified anything.
`scripts/reflect.mjs` is plain Node, no install, no network, no model calls, and it writes
nothing. It works for any agent that keeps a session log and any model provider. Run it
with `--project <path>` to reflect on a folder you are not standing in.
## 0. Check it can see the sessions
```bash
node scripts/reflect.mjs doctor
```
It knows where Claude Code, Codex CLI and Gemini CLI keep sessions. For any other agent,
add `--transcripts <folder of .jsonl or .json>`. Do this first: every verdict below is
worth exactly as much as the sessions behind it, and `doctor` is the only command that
tells you whether it could actually read them.
If a store is listed as UNREADABLE, stop and fix that. A reflection built on a store the
tool could not parse is a reflection about nothing.
## 1. Score the last round FIRST
```bash
node