Raw capture โ raw/sddw.md
url: https://github.com/sermakarevich/sddw date_fetched: 2026-07-05 backfilled: true
Spec-Driven Development Workflow for Claude Code.
design.md), thenimplementeach task separately, thenverifythe result, thenself-improvethe workflow/clearcontext between steps โ each step works within a focused context window--autoThe standard way to use AI coding agents is short, interactive prompts: describe what you want, get code, fix it, repeat. This works for small tasks but breaks down for anything non-trivial โ context gets lost between sessions, architectural decisions live only in chat history, and there's no artifact a teammate can review before code is written.
sddw inverts this. Instead of prompting for code, you collaborate with the agent to write specifications โ requirements, architecture, interface contracts, task breakdowns. The specs become the primary artifact: reviewable by peers, version-controlled, persistent across sessions. Code generation is then a mechanical step guided by approved specs, not a creative leap from a vague prompt.
Detailed specifications reduce AI code errors by up to 50% (Piskala, 2026), security defects by 73% (Marri, 2026), and architecture-misaligned PRs by 60% (GitHub Spec Kit). sddw is designed for medium to large projects that don't fit into a single context window. By splitting work into discrete steps โ requirements, codebase analysis, design, per-task implementation โ each step operates within a focused context where models are more accurate, rather than a sprawling conversation where critical details get lost.
git clone https://github.com/sermakarevich/sddw.git ~/.claude/sddw
cd ~/.claude/sddw && bash bin/install.sh
For development (symlink from local repo):
git clone https://github.com/sermakarevich/sddw.git
cd sddw && bash bin/install.sh --local
Every step supports two interaction modes:
| Mode | Flag | Behavior |
|---|---|---|
| Interactive | (default) | Full guided dialog โ one question at a time, every section confirmed |
| Auto | --auto |
Fully autonomous โ no questions, best-judgment decisions |
Vibecoding โ --auto. The agent decides everything.
Agentic engineering โ default mode. You stay in control: review proposals, add missing context, ask questions, approve each spec section before it's written, and validate the output spec.
design.mdwith architecture, models, and decisionsdesign.mdSelf-Improveโ analyse execution across all steps and propose workflow improvements
Design & Taskifyโ combined alias: run design and taskify in one shot (- /sddw:design_and_taskify)
/sddw:requirements <feature-name> [--auto]
Collaboratively produce a requirements spec through guided dialog:
Output: .sddw/<feature-name>/requirements.md
Sections: Purpose, User Stories, Functional Requirements, Acceptance Criteria, Constraints
/sddw:code-analysis <feature-name> [--auto]
Analyse the existing codebase to ground design decisions in reality:
Output: .sddw/code-analysis.md (shared across features)
Sections: Relevant Patterns, Key Interfaces, Existing Flows, Conventions
Skip this step for greenfield projects with no existing codebase.
/sddw:design <feature-name> [--auto]
Produce a cross-cutting design.md through guided dialog:
design.mdis writtenOutput: .sddw/<feature-name>/design/design.md
/sddw:taskify <feature-name> [--auto]
Break the feature into hybrid task files based on requirements and design:
Output:
.sddw/<feature-name>/
โโโ design/
โโโ design.md
โโโ tasks/
โโโ task-1-<slug>.md # hybrid: files, criteria, references design.md
โโโ task-2-<slug>.md
โโโ ...
Each task file includes task-specific details inline and references design.md for architecture, models, and shared contracts, so the implementation agent has full context without duplication.
/sddw:design_and_taskify <feature-name> [--auto]
Runs the design and taskify steps in one shot. Use this for small features where iterating on architecture independently is not needed.
/sddw:implement <feature-name> --task <N> [--auto]
Execute a single task from the design spec:
Each task file is a hybrid โ the agent loads it alongside design.md so it has full context.
After each task, a completion report (task-N-<slug>.done.md) is written to implement/tasks/, documenting what was done, deviations, and difficulties.
/sddw:verify <feature-name> [--auto]
Verify the implementation against requirements after all tasks are complete:
Output:
.sddw/<feature-name>/
โโโ verify/
โโโ report.md # FR-by-FR pass/fail, test results, deviations, warnings
If issues are found, remediation tasks are created as additional task files in design/tasks/ (continuing the numbering). These can be executed with /sddw:implement and then verified again โ the loop repeats until all checks pass.
/sddw:self-improve <feature-name> [--auto]
Analyse the completed feature's execution across all workflow steps. Identify what went wrong (or could be better) and propose concrete improvements to the workflow itself:
Output:
.sddw/<feature-name>/
โโโ self-improve/
โโโ report.md # findings, proposals, applied/skipped changes
Each improvement targets a specific workflow component (instruction, questionnaire, or spec) with a concrete diff. The workflow evolves with every feature โ gaps found during one feature prevent the same issues in the next.
/sddw:chat <feature-name> [--auto]
Fast-track interaction with a feature that already has artifacts. Skips the full questionnaire ceremony โ just load context and talk.
Chat assumes you know what you want and only pauses for scope-affecting changes or ambiguous requests.
If a request is too large (new task files, new architecture, >3 files), chat redirects you to the full workflow.
/sddw:help [list | status <feature-name>]
/sddw:helpโ workflow overview and available commands/sddw:help listโ list all features with progress indicators/sddw:help status <feature-name>โ detailed feature status: which steps are done, task progress, completion reportsEach step is assembled from four modular components:
| Component | Purpose | Folder |
|---|---|---|
| Command | Thin entry point with frontmatter + @references |
commands/ |
| Instructions | Process rules โ what to do, in what order | instructions/ |
| Questionnaire | Dialog guidance โ how to interact with the user | questionnaires/ |
| Specs | Output format templates โ what to produce | specs/ |
A command wires these together:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ commands/<step>.md โ
โ โ
โ @instructions/<step>.md โ process rules โ
โ @questionnaires/<step>.md โ dialog flow โ
โ @specs/<step>.md โ output format โ
โ โ
โ reads: .sddw/<feature>/<previous_step>.md โ input โ
โ writes: .sddw/<feature>/<current_step>.md โ output โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Each component lives in its own folder so they can be reused, tested, and evolved independently. The command file itself stays small โ just references and glue.
Every step follows a three-phase dialog: Discover โ Research & Propose โ Confirm & Generate. One question at a time, structured options, every spec block confirmed by the user before generation.