sifter-ai/sifter/sdd
Claude Code and agent skill by sifter-ai/sifter
- community
Checking that the SKILL.md file is still in the repository.
Story Driven Development workflow. Use this skill whenever working in a project that has `.sdd/config.yaml`, or when the user mentions SDD, sdd sync, story driven development, spec-driven development, change requests, bugs, or asks to implement a feature described in `product/` or `system/`. Also trigger on phrases like "sync the docs", "mark synced", "apply this CR", "fix this bug" when an SDD project is detected.
Install
npx vskill@latest install sifter-ai/sifter/sddSKILL.md
SDD — Story Driven Development
What this is
SDD keeps documentation (product/, system/) and code (code/) in sync. Specs change → sdd sync surfaces what's pending → agent implements → sdd mark-synced commits the state → repeat.
The engine behind it is git: SDD uses git diff on the doc files to know what changed since the last sync. That's why committing immediately after every mark-synced is non-negotiable — skip a commit and the next sync will see phantom changes.
Detection
This project uses SDD if .sdd/config.yaml exists in the project root.
The core loop
Every session on an SDD project starts the same way — clear the backlog from highest priority down, then move new work forward:
- Bugs first. Run
sdd bug open. If there are open bugs, fix the code/docs and runsdd mark-bug-resolved. Bugs block everything else.
- Then Change Requests. Run
sdd cr pending. If there are pending CRs, apply them to the docs inproduct//system/(this flips docs tonew/changed/deleted), then runsdd mark-cr-applied. CRs are the intended way to modify specs — never edit docs arbitrarily to reflect user requests; turn them into CRs first if scope justifies it.
- Then sync. Run
sdd sync. It returns a structured prompt listing every pending file and (forchangedfiles) the exact git diff of what changed in the spec. Read only what the prompt tells you to read.
- Implement. Write code inside
code/matching what each doc describes. Fordeletedfiles, remove the corresponding code — the doc itself gets deleted automatically on mark-synced.
- Mark synced + commit. This is one atomic step:
Every mark-synced MUST be followed by a commit in the same turn. No exceptions. See "Why the commit is mandatory" below.
- Publish (if remote configured). If
.sdd/config.yamlhas aremote:section and an API key is set, remind the user they can push withsdd push.
Why the commit is mandatory
sdd mark-synced records a snapshot of the doc files as the new sync baseline. On the next sdd sync, SDD runs git diff between HEAD and the working tree for each doc — that's how it detects what changed. If you mark-sync without committing, the diff machinery breaks: either the next sync sees nothing (false "all synced") or it re-surfaces already-implemented changes. The commit is what makes the sync loop durable.
Available commands
sdd status— All doc files and their state (new/changed/deleted/synced)sdd diff— Spec changes since last syncsdd sync— Structured prompt for pending files (with git diff forchanged)sdd validate— Check for broken references and issuessdd mark-synced [files...]— Mark files (or all) as syncedsdd cr list/sdd cr pending/sdd mark-cr-applied [files...]sdd bug list/sdd bug open/sdd mark-bug-resolved [files...]
Rules
- Always commit after mark-synced, in the same turn. This is the one rule you cannot break — see rationale above.
- Always check bugs + CRs before sync; they take priority over new work.
- Only implement what the sync prompt asks for. Don't wander into unrelated code.
- All generated code goes inside
code/. Nothing incode/should exist that isn't described by a doc. - Respect constraints in
## Agent Notessections of doc files when present. - Never edit files inside
.sdd/manually — it's SDD's internal state. - If remote is configured, suggest
sdd pushafter a successful local sync + commit.
Project structure
product/— What to build (vision, users, features)system/— How to build it (entities, architecture, tech-stack, interfaces)code/— All generated source codechange-requests/— Proposed modifications to the docsbugs/— Bug reports.sdd/— Config and sync state (do not edit by hand)
References
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.sdd/skill/sdd/SKILL.md
Popularity
- Repository stars
- 50
- Repository forks
- 1
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 15 Jun 2026, 4 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sifter-ai/sifter/sdd)