agentleFS
madebyarismadebyaris/spec-kit-command-cursor/.cursor/skills/sdd-memory/SKILL.md

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.

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
  1. Very specific:

    Read .sdd/config.json → memory.

    line 20
  2. Distinctive:

    Do not persist: transient state, secrets/tokens, full file contents, or anything already captured in a spec/rule.

    line 45
  3. Distinctive:

    Prefer updating an existing memory over creating a near-duplicate.

    line 55
  4. Very specific:

    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 …

    line 56

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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-memory configures, seeds, or disables the backend.

If memory.enabled is false or provider is standard, this skill is a no-op beyond reading .cursor/rules/ and specs/. Never block work waiting on memory.

Step 0: Resolve Provider (always first)

Read .sdd/config.json → memory. Branch on provider:

ProviderRecall sourcePersist target
standard.cursor/rules/ + specs/ onlynothing (write specs/rules instead)
cursor-nativeCursor-injected Memories + rules/specssurface durable facts as memory candidates (Cursor captures them)
mem0mem0 MCP search + rules/specsmem0 MCP add

Full per-provider read/write recipes: references/providers.md.

Step 1: Recall

  1. Derive 2–4 search intents from the task (e.g. "auth token storage decision", "API error-handling convention").
  2. Query the active provider (see references/providers.md). For standard, scan specs/ + rules.
  3. 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; for mem0, update/delete the record).

Integration

  • Called by sdd-explorer, sdd-planner, and sdd-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 for standard, cursor-native, and mem0 (incl. mem0 MCP tool calls and self-host notes).

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.