본문으로 건너뛰기
cccskills
무료GitHub에 공개

sdd

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(4)

  • SKILL.md4.8 KB
  • references/bugs.md729 B
  • references/change-requests.md997 B
  • references/file-format.md1.8 KB

SKILL.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:

  1. Bugs first. Run sdd bug open. If there are open bugs, fix the code/docs and run sdd mark-bug-resolved. Bugs block everything else.

  2. Then Change Requests. Run sdd cr pending. If there are pending CRs, apply them to the docs in product//system/ (this flips docs to new/changed/deleted), then run sdd 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.

  3. Then sync. Run sdd sync. It returns a structured prompt listing every pending file and (for changed files) the exact git diff of what changed in the spec. Read only what the prompt tells you to read.

  4. Implement. Write code inside code/ matching what each doc describes. For deleted files, remove the corresponding code — the doc itself gets deleted automatically on mark-synced.

  5. Mark synced + commit. This is one atomic step:

sdd mark-synced                     # or sdd mark-synced <specific files>
git add -A && git commit -m "sdd sync: <what you implemented>"

Every mark-synced MUST be followed by a commit in the same turn. No exceptions. See "Why the commit is mandatory" below.

  1. Publish (if remote configured). If .sdd/config.yaml has a remote: section and an API key is set, remind the user they can push with sdd 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 sync
  • sdd sync — Structured prompt for pending files (with git diff for changed)
  • sdd validate — Check for broken references and issues
  • sdd mark-synced [files...] — Mark files (or all) as synced
  • sdd cr list / sdd cr pending / sdd mark-cr-applied [files...]
  • sdd bug list / sdd bug open / sdd mark-bug-resolved [files...]

Rules

  1. Always commit after mark-synced, in the same turn. This is the one rule you cannot break — see rationale above.
  2. Always check bugs + CRs before sync; they take priority over new work.
  3. Only implement what the sync prompt asks for. Don't wander into unrelated code.
  4. All generated code goes inside code/. Nothing in code/ should exist that isn't described by a doc.
  5. Respect constraints in ## Agent Notes sections of doc files when present.
  6. Never edit files inside .sdd/ manually — it's SDD's internal state.
  7. If remote is configured, suggest sdd push after 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 code
  • change-requests/ — Proposed modifications to the docs
  • bugs/ — Bug reports
  • .sdd/ — Config and sync state (do not edit by hand)

References

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Remote sync workflow for Story Driven Development. Use this skill whenever the user asks to pull from remote, push changes to SDD Flow, enrich drafts, update local state from remote, publish local updates, process remote drafts, or run a remote worker job (enrich or sync). Also trigger on phrases like "sdd pull", "sdd push", "sync with SDD Flow", "enrich this CR", "push the remote updates", "pull the latest specs".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

sifter-ai/sifter542026년 9월 17일 업데이트

sdd-ui

무료

UI Component Editor workflow. Use when the user wants to implement a React component from a screenshot in an SDD project, iterating visually with live preview.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

sifter-ai/sifter542026년 9월 17일 업데이트

sifter-ai의 스킬 모두 보기

이 스킬의 문제 신고