PluginBench
Skill
Pass
Audit score 90

memory-discipline

rohitg00/agentmemory

Recall before work, save at decisions—the discipline that makes agent memory actually pay off.

What is memory-discipline?

A session workflow for using memory effectively: search for relevant context at task start, save decisions with reasoning at key moments, and learn from corrections. Use this whenever starting nontrivial work, settling a decision, debugging a gotcha, or deciding what belongs in memory.

  • Search project-scoped memory before starting work to avoid rediscovery
  • Save decisions with explicit reasoning and file context at resolution moments
  • Distinguish between facts (memories), lessons (corrections), and hook-captured narration
  • Recall lessons before repeating task types you've been corrected on
  • Skip transient state, secrets, and code-readable facts to keep memory signal high

How to install memory-discipline

npx skills add https://github.com/rohitg00/agentmemory --skill memory-discipline
Claude Code
Cursor
Windsurf
Cline

How to use memory-discipline

  1. 1.At task start for any nontrivial work: call memory_smart_search with the task topic and project name as your first tool call
  2. 2.When a decision settles or a gotcha resolves: call memory_save with the decision, the reason why it matters, 2–5 specific concepts, and real file paths
  3. 3.When corrected on your approach: use the lesson skill instead of memory_save to capture the correction with confidence
  4. 4.Before repeating a task type you've been corrected on: call memory_lesson_recall with the task type as query
  5. 5.At session end: stop—hooks already summarize; manual recap saves duplicate them

Use cases

Good for
  • Starting a nontrivial feature or refactor: search memory first for relevant decisions and constraints
  • Resolving a debugging session: save the gotcha, the fix, and why it matters
  • Choosing between approaches (pagination strategy, auth flow, etc.): save the decision and tradeoff reasoning
  • Receiving a correction on your approach: convert it to a lesson for future similar work
  • Mid-project context switch: recall relevant lessons before resuming a task type
Who it's for
  • Coding agents working on multi-session projects
  • Teams using agent memory to reduce rediscovery and repeated mistakes
  • Developers building systems where architectural decisions need to persist across sessions

memory-discipline FAQ

When should I search memory vs. just read the code?

Search first on any nontrivial task before reading code. A hit saves rediscovery; a miss costs one tool call. Code-readable facts don't need memory.

What's the difference between memory_save and lesson?

Use memory_save for facts and settled decisions. Use lesson (via the lesson skill) when you've been corrected—lessons carry confidence and resurface before similar work.

Should I batch-save a summary at session end?

No. Save each decision as it settles with its reasoning. Hooks already capture step-by-step narration; batch saves at the end lose the context and reasons.

What should I skip saving?

Skip anything readable from the repo, transient state, secrets, and step-by-step narration. Save only non-obvious constraints, environment facts, and reasoned decisions.

How do I know if I'm doing this right?

Check: first tool call was a project-scoped search, every save carries reasoning not just conclusions, corrections became lessons, and nothing saved that the repo or hooks already record.

Full instructions (SKILL.md)

Source of truth, from rohitg00/agentmemory.


name: memory-discipline description: The session loop that makes agentmemory pay off, recall before starting work, save at decision points, learn from corrections. Use when starting a nontrivial task, after settling a decision or debugging a gotcha, or whenever deciding if something belongs in memory. user-invocable: false

Memory only pays off when reads happen before the work and writes happen at decision points. This loop is the skill; every tool call in it is mechanical.

Quick start

memory_smart_search { "query": "auth refresh flow", "project": "myrepo", "limit": 5 }

at task start, then at each settled decision:

memory_save { "content": "Chose cursor pagination over offset; offset scans broke past 100k rows in db/list.ts.", "concepts": "cursor-pagination, offset-scan-limit", "files": "src/db/list.ts" }

Why

Hooks capture what happened automatically. What they cannot capture is judgment: which fact mattered, which decision was settled, which correction should change future behavior. That judgment applied at the right moments is this discipline.

Workflow

  1. Task start, before reading code for any nontrivial task: memory_smart_search with the task topic and the project name. Spend the first tool call here; a hit saves rediscovery, a miss costs one call.
  2. Mid-task, the moment a decision settles or a gotcha resolves: memory_save with the decision AND the reason, 2-5 specific concepts, real file paths. Save at the moment of resolution; end-of-session batch saves lose the reasons.
  3. On user correction of your approach: save a lesson instead of a memory (the lesson skill). Lessons carry confidence and resurface before similar work; memories carry facts.
  4. Before repeating a task type you have been corrected on: memory_lesson_recall with the task type as query.
  5. Session end: stop. Hooks summarize and consolidate; a manual recap save duplicates them.

What qualifies

Save: settled decisions with reasons, non-obvious constraints discovered by debugging, environment facts not derivable from the repo. Skip: anything readable from the code, transient state, secrets, and step-by-step narration (hooks already captured it).

Anti-patterns

WRONG: finish implementing, then search memory to double-check, and batch-save a summary of everything done.

RIGHT: search first, save each decision as it settles, let hooks own the summary.

Checklist

  • First tool call on a nontrivial task was a project-scoped search.
  • Every save carries the reason, not just the conclusion.
  • Corrections became lessons, not memories.
  • Nothing saved that the repo or hooks already record.

See also

  • recall, remember: the user-invoked forms of the read and write sides.
  • lesson: the correction loop this discipline hands off to.

Troubleshooting

See ../_shared/TROUBLESHOOTING.md if memory_smart_search or memory_save is not available.