Install
$ agentstack add skill-nimadorostkar-claude-skills-collection-agent-memory ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Agent Memory
Purpose
Give an agent state that outlives its context window. Anything the agent must not forget belongs in a file it can re-read — not in a conversation history that will be compacted away.
When to Use
- A task that spans more turns than the context window holds.
- Work that continues across sessions.
- An agent that repeatedly rediscovers the same fact or repeats the same failed approach.
- Accumulating knowledge about a codebase or a domain over time.
Capabilities
- Deciding what deserves persistence.
- File-based memory the agent reads and writes.
- Structuring notes for retrieval rather than for narrative.
- Staleness detection and pruning.
Inputs
- The task and its expected duration.
- What has been learned that would be expensive to rediscover.
- What has been tried and failed.
Outputs
- A memory file that survives compaction and session end.
- Notes structured so that the relevant part is findable.
- A pruning discipline so the memory does not become a stale swamp.
Workflow
- Write down what would be expensive to rediscover — File locations, API shapes, the reason an approach was abandoned, a constraint the user stated once. Not the narrative of how you got there.
- Write it as facts, not as a story — "The auth middleware is in
src/mw/auth.tsand it does not run on/health." Not "I looked for the auth middleware and eventually found it." - Record failures explicitly — "Tried X. It does not work because Y." This is the highest-value memory content, because without it the agent will try X again.
- Re-read at the start of each session — Memory that is not read is not memory.
- Prune what is stale — A note that was true three refactors ago is now a trap. Date the entries and check them.
- Keep it small — This file is loaded every session. It competes with the actual work for context.
Best Practices
- The most valuable memory is a record of what failed and why. Without it, an agent will confidently repeat a failed approach in a new session.
- Structure the file so the agent can find the relevant section without reading all of it. Headings, not prose.
- Do not persist the conversation. Persist the conclusions.
- A memory file that grows monotonically will eventually be mostly wrong. Pruning is part of the discipline, not an afterthought.
- Distinguish stable facts (architecture, conventions) from working state (what I am doing now). They have different lifetimes and belong in different sections or different files.
- Date the entries. A fact from six months ago about a fast-moving codebase is a hypothesis.
Examples
A memory file structured for retrieval:
# Working memory — orders service migration
_Last updated: 2026-06-14_
## Stable facts (verified, unlikely to change)
- Auth middleware: `src/middleware/auth.ts`. Runs on every route EXCEPT
`/health` and `/metrics` (see the exclusion list at line 22).
- Money is `Money` (integer minor units) throughout. There is no float money
anywhere and there must not be.
- The migration runner is `pnpm db:migrate`. It does NOT run automatically on
deploy — this is deliberate; migrations are run manually before the deploy.
## Current task
Strangling `legacy/billing` into `src/features/billing`.
Done: invoice generation, proration.
Next: refunds.
Not started: dunning, tax.
## Tried and failed — do not repeat
- 2026-06-02: Tried to run the two billing paths in parallel and diff the
outputs. Abandoned: the legacy path writes to the ledger as a side effect,
so running both double-writes. Shadow mode requires a read-only ledger
adapter, which does not exist yet.
- 2026-06-09: Tried extracting `PricingEngine` first. It depends on
`LegacyCustomer`, which depends on half the legacy module. The dependency
runs the wrong way; extract `Customer` first.
## Open questions for the user
- Should refunds issued before the migration remain visible in the new UI?
(Asked 2026-06-11, not yet answered.)
The "tried and failed" section is what stops the next session from spending two hours rediscovering that shadow mode double-writes the ledger.
Notes
- Without a memory of failed approaches, an agent starting a fresh session will reason its way to the same plausible-but-wrong approach it already abandoned. This is the most common and most wasteful memory failure.
- Memory and context compaction serve the same goal from different directions: compaction summarizes what happened, memory records what was concluded. Both are needed.
- If a memory file exceeds a couple of hundred lines, it has stopped being memory and become a document. Prune it or split it.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: nimadorostkar
- Source: nimadorostkar/Claude-Skills-collection
- License: MIT
- Homepage: https://github.com/nimadorostkar/Claude-Skills-collection
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.