Install any skill in seconds. Free to start, no credit card required.
Get Started Free →davepoon/agent-memory-discipline
Teaches when to recall from long-term memory before acting and when to save durable decisions, corrections and failures afterwards.
Passed 17 of 22 test cases with the skill, and 9 of 22 without it.
and 10 more in the full report
9 fixed8 passed either way4 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
We just realized after a failed deployment attempt that our local microservice requires Redis to be running specifically on port 6380 due to port conflicts. Please log this environment requirement into long-term project memory so we avoid making this mistake later, and show me the record you created.
| Checked | Without skill | With skill |
|---|---|---|
| Includes a date or timestamp indicating when the requirement became true. | Missed | Passed |
| Includes provenance stating this fact came from a failed deployment attempt. | Missed | Passed |
| Limits the memory statement to a single concise fact. | Passed | Passed |
The instructions your model reads when the skill loads.
Connecting a memory tool does not make an agent use it. Tools register, the session runs, and nothing gets recalled or saved. This skill supplies the missing part: standing rules for when to read memory and when to write it.
It is backend-agnostic. Everything below works the same whether memory is a folder of Markdown files, a local MCP server, or a hosted service.
Read memory before doing any of these, not after:
Do not recall for one-off factual questions, arithmetic, or anything fully specified in the current message. Recall costs a tool call and context; spending it on a self-contained question is waste.
Search with the words the user actually used, plus the project or repository name. If the first search returns nothing useful, try one broader query, then stop and proceed without memory rather than looping.
Write to memory when one of these has just happened:
Do not save: the contents of files you can read again, restatements of the current task, transient state, anything the user marked as temporary, and anything containing secrets, tokens, or personal data.
One memory, one fact. A paragraph containing four decisions cannot be superseded cleanly when one of them changes.
A memory that is useless in three weeks was written wrong. Each entry should carry, in the text if the backend has no fields for it:
test cases passed, vs 9 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.