
Project memory for coding agents
Your agent does not learn your project.
It reads files, follows prompts, generates patches, and by next session has forgotten every correction. Skill Distiller gives your repository the scar tissue to stop repeating itself.
Type: Replace
Before adding task-management files, inspect the repository's existing task-state mechanism. The project uses a single source of truth in src/state/tasks.ts. Do not create parallel state files.
Distilled from 3 failed runs · 2024-01-14
Chat history is a pile, not a memory.
A chat is not architecture.
It is a temporary pile of context that disappears, truncates, or bleeds into another project.
Same repo, same mistake.
Next session starts like nothing happened. Same conventions, same corrections, same dumb error in a different jacket.
Generic advice is mug filler.
"Write clean code. Add tests." Correct. Also useless. A project needs local memory, not a poster.
Eight steps. One sleep phase.
The skill evolution loop. A raw mistake enters left. A bounded, validated rule exits right. Nothing in between is stored.

Generic advice gets shredded.
Local rules get stamped into skill cards. Everything else is landfill.
✕ Shredded
✓ Stamped
Before changing task-management behavior, inspect the repository's existing task-state mechanism in src/state/tasks.ts.
Do not edit already-executed production scripts. Create a follow-up script so previous operations stay auditable.
Before changing permission behavior, check where permission descriptions are owned and where runtime constants are evaluated.
Loop runs every 4s · pauses on prefers-reduced-motion
What you actually ship with.
Distillation Sorter
Paste a raw chat log. Get a bounded skill edit or an honest rejection. No landfill.
Evolution Pipeline
Walk the 8-step loop interactively. See how a repeated mistake becomes a durable rule.
Scar Tissue Vault
Browse active skills, archived rules, and rejected edits with their rejection reasons.
Memory Dashboard
Ratio of distilled skills to raw logs. The number that tells you if your project is learning.
Bad memory versus useful memory.
Use better logging.
The client and server both define log levels. Before changing logger behavior, check whether enum values and string mappings still match across app, server, shared code, and tests.
Don't mess up permissions.
Before changing permission behavior, inspect where permission descriptions are owned and where runtime constants are evaluated.
Be careful with production scripts.
Do not edit already-executed production scripts. Create a follow-up script instead, so previous operations stay auditable.

A repository should carry its own scars.
Project memory does not make agents brilliant. It does something more boring and more valuable: it stops the project from forgetting what it already paid to learn. The next step is not to store more. The next step is to edit better.