sdd-memory
Skill198 starsChanged 5 months agoMITView on GitHub
Recall and persist durable project knowledge (decisions, conventions, gotchas, architecture) across SDD sessions. Provider-aware — supports standard (rules-only), Cursor native Memories, and mem0. Use at the start of planning/implementation to recall context, and at the end to persist discoveries.
In this repository6 other files it gives its agents.
- .cursor/rules/sdd-system.mdcCursor rule
- sdd-auditSkill
- sdd-evolveSkill
- sdd-implementationSkill
- sdd-planningSkill
- sdd-researchSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
Read .sdd/config.json → memory.
- Distinctive: line 45
Do not persist: transient state, secrets/tokens, full file contents, or anything already captured in a spec/rule.
- Distinctive: line 55
Prefer updating an existing memory over creating a near-duplicate.
- Very specific: line 56
When a decision is reversed, persist the reversal and mark the old one outdated (for cursor-native, tell the user it can be deleted in the …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SDD Memory Skill
Give SDD agents a configurable, optional long-term memory. The active backend is set in .sdd/config.json → memory.provider. This skill is a thin, provider-agnostic protocol: recall before you plan, persist after you learn.
When to Use
- Recall — starting
/brief,/research,/specify,/plan, or/implement: load relevant prior decisions, conventions, and gotchas before acting. - Persist — finishing a task or hitting a durable discovery: save facts worth remembering next time.
- Manage —
/sdd-memoryconfigures, seeds, or disables the backend.
If
memory.enabledisfalseorproviderisstandard, this skill is a no-op beyond reading.cursor/rules/andspecs/. Never block work waiting on memory.
Step 0: Resolve Provider (always first)
Read .sdd/config.json → memory. Branch on provider:
| Provider | Recall source | Persist target |
standard | .cursor/rules/ + specs/ only | nothing (write specs/rules instead) |
cursor-native | Cursor-injected Memories + rules/specs | surface durable facts as memory candidates (Cursor captures them) |
mem0 | mem0 MCP search + rules/specs | mem0 MCP add |
Full per-provider read/write recipes: references/providers.md.
Step 1: Recall
- Derive 2–4 search intents from the task (e.g. "auth token storage decision", "API error-handling convention").
- Query the active provider (see
references/providers.md). Forstandard, scanspecs/+ rules. - Summarize the top relevant memories into the working context. Cite the source. If a recalled memory conflicts with the current request, surface the conflict — do not silently follow stale memory.
Step 2: Persist (what is worth remembering)
Save only durable, reusable, non-obvious facts in these categories (memory.scope):
- decisions — chosen approach + the why (e.g. "Use Postgres over Mongo for relational integrity").
- conventions — project rules an agent should follow (naming, structure, test style).
- gotchas — traps, flaky areas, env quirks, "don't do X".
- architecture — durable system shape (service boundaries, data flow).
Do not persist: transient state, secrets/tokens, full file contents, or anything already captured in a spec/rule.
Memory record shape
[category] <one-line fact> — <short why/context> (source: <task-id or file>)Step 3: Hygiene
- Prefer updating an existing memory over creating a near-duplicate.
- When a decision is reversed, persist the reversal and mark the old one outdated (for
cursor-native, tell the user it can be deleted in the UI; formem0, update/delete the record).
Integration
- Called by
sdd-explorer,sdd-planner, andsdd-implementer(recall at start, persist at end). - Configured by
/sdd-memory. secrets are never stored— enforce this regardless of provider.
References
references/providers.md— exact recall/persist recipes forstandard,cursor-native, andmem0(incl. mem0 MCP tool calls and self-host notes).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

