This guide walks through a complete SDD cycle from start to finish. You will runDocumentation 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-init to bootstrap your project, start a change with /sdd-new, advance through each phase with /sdd-continue, and close the cycle with /sdd-verify and /sdd-archive. By the end you will have a working openspec/ directory, a full set of steering files, and a change that has been implemented, verified, and archived.
Prerequisites: SDD Skills must be installed before running any
/sdd-* command. See the Installation guide for setup instructions. You will also need an AI coding assistant and a Git repository to work in.Full walkthrough
Bootstrap your project — /sdd-init
Run The skill scans your environment — detecting runtimes, frameworks, Docker containers, and config files — then asks about your product, stack, team conventions, and testing strategy. If code already exists, it detects the stack automatically and asks only project-level questions.When it finishes, you will have seven steering files in
After init, the skill will suggest two paths:
/sdd-init once per project. It creates the openspec/ directory structure and runs a guided questionnaire to generate your steering files.openspec/steering/:| File | Content |
|---|---|
product.md | What the project builds, for whom, bounded context |
tech.md | Stack, dependencies, dev/test commands |
structure.md | Directory layout, layers, responsibilities |
conventions.md | Rules that cause PR failures (RFC 2119: MUST/SHOULD/MAY) |
environment.md | Available MCPs, CLI tools, runtimes, Docker containers |
project-skill.md | Quick-reference index pointing to the other steering files |
project-rules.md | Empty initially — grows as the AI learns from your corrections |
/sdd-new to start your first feature, or /sdd-discover if the project already has existing code that needs specs reverse-engineered.Start a new change — /sdd-new
Tell the AI what you want to build. Internally the skill runs two things in sequence:Review the proposal and give feedback directly in the chat if anything needs adjusting. When you are satisfied, advance with
/sdd-new is the canonical entry point for every change — feature, bugfix, or refactor.- Explore — searches archived specs and past decisions for relevant context, then reads the codebase in read-only mode to understand patterns, affected files, and relevant canonical specs. Findings are saved to
notes.md. - Propose — reads the exploration notes and steering files. If the description leaves any gaps, it asks specific questions until all sections are covered. Then generates
proposal.md.
proposal.md contains:/sdd-continue.Spec phase — /sdd-continue or /sdd-spec
With The spec skill identifies the affected domain and checks whether a canonical spec already exists at Review the spec carefully — it is the behavioral contract that design and implementation will follow. Run
proposal.md approved, run /sdd-continue. It detects that no spec exists yet and launches the spec phase automatically.openspec/specs/{domain}/spec.md. If one does, it writes a delta spec — only what this change adds or modifies, not a full rewrite. Before writing, it asks clarifying questions to resolve edge cases, validation rules, and error behavior that the proposal left open.The output uses Given/When/Then format:/sdd-continue again when approved.Design and Tasks — /sdd-continue twice
Run Design phase runs as a non-interactive subagent — it reads the proposal, spec, and existing code patterns, then produces Verify the task order and completeness before advancing. Run
/sdd-continue to generate the technical design, then again to break it into tasks.design.md with a technical plan: which files to create or modify, the architecture approach, scope assessment (changes touching more than 20 files trigger a split recommendation), and technical decisions with discarded alternatives.Tasks phase reads design.md and produces an ordered tasks.md. Tasks follow strict dependency ordering — interfaces and contracts first, base files before dependent files, tests after or interleaved with implementation. Each task is atomic: one file, one commit./sdd-continue once more when approved.Implement — /sdd-apply
With an approved Before touching any code, apply verifies that
tasks.md, run apply to implement the change.conventions.md exists — it refuses to start without it. Then it loads all steering files silently.For each pending task, it launches a subagent that:- Reads existing code to follow established patterns
- Implements the change
- Runs tests and lint on the modified file
- Makes an atomic commit:
[add-health-check] Description - Marks the task
[x]intasks.md
/sdd-apply --auto to skip confirmations for small changes).Verify — /sdd-verify
When all tasks are marked Verify runs as a non-interactive subagent and performs these checks in sequence:
[x], run verify to perform final quality checks.- Full test suite — the entire project’s tests, not just the changed files
- Linter/formatter — on changed files, with auto-fix and commit if issues are found
- Self-review checklist — tests exist for new code, input validated at boundaries, methods under 50 lines, no hardcoded values, no duplication, type hints complete, spec compliance confirmed
- Smoke test — if the project is a UI, runs the app and verifies the golden path
- Convention audit — runs
/sdd-auditon branch files againstconventions.md - PR creation — pushes the branch and creates a pull request using context from
proposal.md
Archive — /sdd-archive
Once the PR is reviewed and approved, close the cycle.Archive does three things:
- Merges delta specs into canonical — the change specs in
openspec/changes/{change-name}/specs/are integrated intoopenspec/specs/{domain}/spec.md. If no canonical spec existed for the domain, one is created. Canonical specs now reflect the current system state. - Updates
openspec/INDEX.md— adds new entities and keywords introduced by this change so future explores find them. - Moves to archive — the change directory moves to
openspec/changes/archive/{date}-add-health-check/. It is no longer active but serves as historical context for future changes in the same domain.
Fast-forward shortcut
When the scope is clear and you do not need to review each phase separately, use/sdd-ff to generate all four planning documents in a single pass.
/sdd-ff runs propose → spec → design → tasks without pausing between phases. If it finds an ambiguity it cannot resolve on its own, it pauses to ask, then continues. Use it for straightforward changes with clear scope. For large or uncertain changes — those touching multiple domains or requiring architectural decisions — the standard /sdd-new + /sdd-continue path gives you review checkpoints at each phase.
Quick reference
Common command flows for different scenarios:| Scenario | Commands |
|---|---|
| New project from scratch | /sdd-init → /sdd-new "..." → /sdd-continue ×4 → /sdd-verify → /sdd-archive |
| Existing project, first SDD change | /sdd-init → /sdd-discover → /sdd-new "..." → /sdd-continue |
| Quick change, clear scope | /sdd-ff "..." → /sdd-apply → /sdd-verify → /sdd-archive |
| Audit code against conventions | /sdd-audit or /sdd-audit src/api/ |
| Update conventions after refactor | /sdd-steer sync |
| Resume interrupted change | /sdd-continue (detects the next pending phase automatically) |
Understand the full workflow
Read a deeper explanation of why each phase exists, how artifacts chain together, and when to clear context between sessions.