Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/jorgeferrando/sdd-skills/llms.txt

Use this file to discover all available pages before exploring further.

/sdd-recall is the project memory retrieval skill. Before starting a new change, use it to surface relevant decisions, business rules, and architectural rationale from previous change cycles — so you don’t repeat work, contradict settled decisions, or miss important constraints. It searches learnings.md, canonical specs, the domain index, and archived changes, then ranks and presents the most relevant excerpts. In compact mode, it also keeps learnings.md lean as it grows over time.

Usage

/sdd-recall "authentication middleware"   # Search by topic
/sdd-recall api                           # Search by domain
/sdd-recall                               # Show all domains with summaries
/sdd-recall compact                       # Synthesize and prune learnings.md

Prerequisites

  • openspec/ initialized via /sdd-init
  • At least one archived change or canonical spec exists
If neither condition is met, the skill informs you:
No specs or archived changes found.
Run /sdd-init and complete at least one change cycle to build project memory.

Search mode (default)

Search mode is read-only. It never modifies any file.
1
Step 1 — Build search corpus
2
Scans these locations in order of relevance:
3
  • openspec/steering/learnings.md — synthesized learnings from past change cycles (decisions, discarded alternatives, unexpected couplings, anti-patterns). Checked first because it is the fastest path to non-obvious context.
  • openspec/INDEX.md — domain lookup; matches against domain names, summaries, entities, and keywords.
  • openspec/specs/*/spec.md — canonical specs (current truth for each domain).
  • openspec/changes/archive/*/ — archived changes (historical decisions):
    • proposal.md — problem context and alternatives considered
    • design.md — technical decisions and rationale
    • specs/*/spec.md — delta specs with business rules
  • 4
    Step 2 — Search and rank
    5
    Matches the query against domain names, spec titles, problem descriptions in proposals, decision tables in designs, business rules (BR-xx entries), and keyword fields in INDEX.md.
    6
    Results are ranked in this order:
    7
  • Exact domain match
  • Canonical spec match (current truth takes precedence over archived deltas)
  • Design decisions that explain why something was built a certain way
  • Proposals that describe similar problems
  • 8
    Step 3 — Present results
    9
    Shows a concise summary grouped by source:
    10
    RECALL: "authentication middleware"
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    
    Canonical specs:
      openspec/specs/auth/spec.md
        - BR-01: Sessions expire after 24h of inactivity
        - BR-02: Refresh tokens are single-use
    
    Archived decisions:
      openspec/changes/archive/2026-03-10-add-auth/design.md
        - Chose JWT over session cookies — stateless, no server-side storage
        - Discarded OAuth2 for v1 — too complex for current scope
    
      openspec/changes/archive/2026-03-10-add-auth/proposal.md
        - Original problem: needed auth for public API endpoints
        - Out of scope: admin roles (deferred to separate change)
    
    Related domains:
      openspec/specs/api/spec.md — references auth middleware in request flow
    
    11
    Step 4 — Suggest how to use the context
    12
    Based on what was found, explains how the context applies to the current work:
    13
    Suggestions:
      - The auth domain already has conventions for token handling — follow them
      - The original design explicitly deferred admin roles — if your change
        needs them, start a new spec rather than modifying the archived one
      - The API spec references auth middleware at the routing layer —
        check if your change affects that integration point
    
    All search modes are read-only — they never modify files. Results are informational; you decide what to apply. If a broad query returns too many matches, the skill will ask you to narrow it.

    Compact mode

    /sdd-recall compact synthesizes and prunes openspec/steering/learnings.md to keep it useful as it grows. This is the only mode that writes a file, and it always asks for confirmation before doing so.
    1
    Step C1 — Read and assess
    2
    Reads learnings.md in full and flags every entry for one of five actions:
    3
    ActionConditionResultMergeTwo or more entries say the same thing about the same domainKeep the most precise; drop the restSupersedeA later entry contradicts or replaces an earlier oneKeep the latest; add (supersedes entry from {date})ObsoleteRefers to a domain, module, or pattern that no longer existsRemove (verified against openspec/specs/ and INDEX.md)PromoteAn anti-pattern or coupling appears in 3+ entriesExtract and suggest adding it to conventions.mdKeepNon-obvious, still relevant, not duplicatedLeave untouched
    4
    Step C2 — Show the plan
    5
    Before rewriting anything, presents a full summary of what will change and waits for your confirmation:
    6
    COMPACT PLAN: openspec/steering/learnings.md
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    
    Entries found: 12
    Entries to merge: 3 → 1  (auth coupling mentioned in 2026-01, 2026-02, 2026-03)
    Entries to remove: 2     (references module-legacy which was deleted)
    Entries to promote: 1    (anti-pattern "never call ServiceA from ServiceB" → conventions.md)
    Entries unchanged: 6
    
    Proceed? (y/n)
    
    7
    Step C3 — Rewrite
    8
    Rewrites learnings.md applying the approved changes:
    9
  • Preserves the file header
  • Keeps entries in chronological order
  • Uses the most recent date for merged entries
  • For promoted entries: removes them from learnings.md and shows the exact text to add to conventions.md — but does not write conventions.md automatically
  • 10
    Step C4 — Summary
    11
    COMPACT COMPLETE
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    Before: 12 entries
    After:  7 entries
    
    Promoted to conventions.md (add manually):
      - "Never call ServiceA from ServiceB directly — use the event bus"
    
    Compact mode rewrites learnings.md only after you confirm the plan. Any entry promoted to conventions.md is shown as text for you to add manually — the skill never writes conventions.md on its own.

    Skill metadata

    FieldValue
    namesdd-recall
    model_hinthaiku
    requiresopenspec/specs/
    produces(none — search modes are read-only; compact rewrites openspec/steering/learnings.md)

    When to use /sdd-recall

    Check whether a similar problem was solved before. Surface existing business rules and past alternatives so your new change builds on settled decisions rather than duplicating or contradicting them.
    Find alternatives that have already been evaluated and discarded. Review past architectural decisions in the same domain to avoid re-litigating choices that were made deliberately.
    Run /sdd-recall without a query to see all domains, then search by area to understand why things were built the way they were.
    Run /sdd-recall compact regularly (e.g., after every few archived changes) to merge duplicates, remove stale entries, and promote recurring anti-patterns into conventions.md where they belong.

    Next steps

    With relevant context found, use it to inform:
    • /sdd-new "description" — start a new change with full awareness of prior decisions
    • /sdd-propose — write a proposal informed by past alternatives and problem context
    • /sdd-design — make architectural decisions with past rationale already loaded

    Build docs developers (and LLMs) love