From sdd
Teaches Spec-Driven Development (SDD) concepts, methodology, change lifecycle, and capabilities. Read-only tutor that guides discovery without executing actions.
npx claudepluginhub liorcohen/sdd --plugin sddcommands/# /sdd-help A teaching-focused command for learning SDD. Addresses unknown unknowns — helps you discover what's possible before you know what to ask. **This command is read-only.** It teaches and demonstrates but never executes actions or modifies project state. For doing work, it refers you to `/sdd`. --- ## What is SDD? **Spec-Driven Development** is a methodology where every code change starts with a specification. The spec captures what you're building and why before any code is written. This prevents the most common development failure mode: building the wrong thing. The core pri...
/feature-planningGuides feature planning workflow: gathers description/reqs interactively, generates PRD/SDD, creates planning dir, outputs TASKS.json/MD.
/specStarts spec-driven development: asks clarifying questions on objectives, features, tech stack, and boundaries; generates structured SPEC.md covering six core areas; confirms before proceeding.
/helpDisplays spec-driven development guide outlining design/plan/implement phases with /spec commands and specctl CLI for task tracking, git hooks, and status.
/devteam-planConducts interactive requirements gathering, researches codebase, creates PRD, and generates development plan with tasks and sprints. Supports spec files, folders, and auto-detection.
/specGenerates spec-driven development docs from a feature description: requirements.md (EARS user stories), design.md (Mermaid diagrams, TypeScript interfaces), tasks.md (implementation plan).
/speckit-startupBootstraps spec-driven development workflow: verifies .specify/ repo context and prerequisites, loads orchestrator skill and persistent state, initializes progress tracking for subsequent speckit commands.
Share bugs, ideas, or general feedback.
A teaching-focused command for learning SDD. Addresses unknown unknowns — helps you discover what's possible before you know what to ask.
This command is read-only. It teaches and demonstrates but never executes actions or modifies project state. For doing work, it refers you to /sdd.
Spec-Driven Development is a methodology where every code change starts with a specification. The spec captures what you're building and why before any code is written. This prevents the most common development failure mode: building the wrong thing.
The core principle: specs before code, always.
Every change in SDD follows this lifecycle:
Create → Spec → Review → Plan → Review → Implement → Verify → Complete
Each phase has a gate — you can't skip ahead. This feels slow at first but prevents expensive rework.
Phases explained:
SDD manages the full development lifecycle for your project:
Build features and fix bugs:
Tell /sdd what you want to build. It guides you through specifying requirements, planning the implementation, and building it — with verification at every step.
Try: /sdd I want to create a new feature
Import external specifications: Have a product spec, PRD, or requirements doc? SDD can import it, break it into manageable changes, and guide you through implementing each one.
Try: /sdd I want to import an external spec
Tech-pack-specific capabilities: Active tech packs extend SDD with additional commands for infrastructure, configuration, databases, and more. To discover what's available:
INVOKE techpacks.loadSkill with:
namespace: <tech-pack-namespace>
skill: "help-content"
The tech pack's help content describes its specific commands and capabilities.
A spec (SPEC.md) is the single source of truth for what a change does. It contains:
Specs are created interactively. SDD asks you questions and builds the spec from your answers.
A plan (PLAN.md) is the implementation strategy for an approved spec. It contains:
Plans are generated automatically from the spec. You review and approve them before implementation begins.
A workflow tracks the state of one or more related changes. It persists to disk (sdd/workflows/) so you can resume at any point — even in a new session. Workflows support:
SDD projects are organized into components whose types are defined by the active tech pack. Each component has settings that control scaffolding, configuration, and deployment. Settings live in sdd/sdd-settings.yaml.
A change is the unit of work in SDD. It has a unique ID derived from the workflow name (e.g., user-auth-1), a type (feature, bugfix, refactor, epic), and progresses through the lifecycle phases.
Here's exactly what happens when you build your first feature with SDD:
Step 1: Start
/sdd I want to create a new feature
SDD asks for a name and type, then starts gathering requirements.
Step 2: Answer Questions
SDD asks targeted questions about what you're building:
Your answers become the spec.
Step 3: Review the Spec
SDD presents the complete SPEC.md for your review. Read through it — are the requirements right? Anything missing?
/sdd I want to approve the spec
Step 4: Review the Plan
SDD generates an implementation plan from your approved spec. Review the phases, file changes, and agent assignments.
/sdd I want to approve the plan
Step 5: Implement
SDD implements the plan phase by phase, creating checkpoint commits along the way.
/sdd I want to start implementing
Step 6: Verify
SDD checks the implementation against every acceptance criterion in your spec.
/sdd I want to verify the implementation
That's it. Your feature is built, verified, and traceable back to the original requirements.
If you have an existing requirements document:
/sdd I want to import an external spec
SDD reads the document, classifies the requirements, identifies gaps (missing edge cases, NFRs), asks clarifying questions, then decomposes it into manageable changes with a dependency graph.
SDD persists all state. If you close your session and come back:
/sdd
It reads your project context — git branch, workflow state — and tells you exactly where you left off and what to do next.
Start here. You only need to know:
/sdd I want to create a new feature — to start building/sdd — to see what's nextThat's enough to be productive.
Once comfortable with the basic flow:
For power users:
/sdd's cross-referencesQ: Do I always need a spec? A: Yes. Even small changes benefit from a spec — it takes 2 minutes and prevents building the wrong thing. The spec can be minimal for small changes.
Q: What if requirements change mid-implementation?
A: Use regression. Tell /sdd you want to go back to the spec phase, update the spec, re-approve, re-plan, and continue.
Q: Can I use SDD for existing projects?
A: Yes. Run /sdd I want to initialize a new project in your existing directory. SDD detects what's already there and only adds what's missing.
Q: What languages/frameworks does SDD support? A: The SDD methodology is stack-agnostic. Tech packs provide stack-specific scaffolding, agents, and standards. The active tech pack determines which component types, languages, and frameworks are available.