.claude/skills/sdd-dev/SKILL.md
Spec-Driven Development workflow — enforces sdd/ folder hierarchy with planning-first gates, current-state artifacts, and completion verification
npx skillsauth add baekenough/oh-my-customcode sdd-devInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Spec-Driven Development workflow that enforces the sdd/ folder hierarchy. All development work proceeds through planning-first gates and produces current-state artifacts as completion evidence.
Invoke this skill when user requests:
sdd/
├── 01_planning/ # Requirements, constraints, stakeholder input
├── 02_plan/ # Execution plan, acceptance criteria, approach
├── 03_build/ # Current build state, implementation notes
├── 04_verify/ # Verification evidence, test results, residual risks
├── 05_operate/ # Deployment notes, runbooks (conditional)
└── 99_toolchain/ # Tool configs, scripts, environment setup
Key Principle: These folders are current-state artifacts, not history archives. Each file reflects the current state of the work — update in place rather than appending new versions.
Verify sdd/ folder exists in the project root:
ls sdd/ 2>/dev/null || echo "sdd/ folder not found"
If sdd/ does not exist:
sdd/ foldermkdir -p sdd/{01_planning,02_plan,03_build,04_verify,05_operate,99_toolchain}If sdd/ exists, continue to Step 1.
MUST complete before any coding begins.
Read all relevant planning documents:
[SDD] Reading planning documents...
├── sdd/01_planning/ — requirements, constraints
└── sdd/99_toolchain/ — tool configs, environment
Actions:
sdd/01_planning/ contents (all .md files)sdd/99_toolchain/ if presentGate: If planning docs are absent or insufficient, pause and ask user to provide requirements. Do NOT proceed to plan phase without understanding the context.
Create or update sdd/02_plan/ with the execution plan.
Artifact to produce: sdd/02_plan/current.md
# Execution Plan
## Task
{task description}
## Approach
{implementation strategy}
## Acceptance Criteria
- [ ] {criterion 1}
- [ ] {criterion 2}
- [ ] {criterion N}
## Out of Scope
- {what will NOT be done}
## Dependencies
- {prerequisite or dependency}
Display:
[SDD Plan] Created sdd/02_plan/current.md
├── Approach: {one-line summary}
├── Criteria: {N} acceptance criteria defined
└── Gate: Plan ready — proceeding to build
Implement the changes. Update sdd/03_build/ with current build state.
Artifact to produce or update: sdd/03_build/current.md
# Build State
## Status
{In Progress | Complete}
## Implemented
- {file or component}: {what was done}
## Decisions Made
- {decision}: {rationale}
## Known Issues
- {issue}: {planned resolution}
During implementation:
sdd/03_build/current.md as work progressesDisplay:
[SDD Build] Implementing changes...
[SDD Build] Updated sdd/03_build/current.md
└── Status: {In Progress | Complete}
Run verification and update sdd/04_verify/ with evidence.
Artifact to produce or update: sdd/04_verify/current.md
# Verification Evidence
## Acceptance Criteria Results
- [x] {criterion 1}: {evidence}
- [x] {criterion 2}: {evidence}
- [ ] {criterion N}: {reason if not passing}
## Tests Run
- {test command or suite}: {result}
## Residual Risks
- {risk}: {severity} — {mitigation plan}
## Verdict
{Pass | Fail | Conditional Pass}
Actions:
sdd/02_plan/current.mdGate: If verdict is Fail, return to Step 3 (Build). Do NOT declare done with a Fail verdict.
Display:
[SDD Verify] Running verification...
[SDD Verify] Updated sdd/04_verify/current.md
├── Criteria: {N}/{total} passing
├── Residual risks: {count}
└── Verdict: {Pass | Fail | Conditional Pass}
Only execute if deployment is in scope for this task.
Artifact to produce or update: sdd/05_operate/current.md
# Operate State
## Deployment
- Environment: {target}
- Method: {how deployed}
- Timestamp: {when}
## Runbook
{steps to operate, restart, rollback}
## Monitoring
{what to watch, alerts, logs}
Skip this step if:
Before declaring [Done], verify:
[SDD Done?] Checking completion gates...
├── sdd/02_plan/current.md — exists? {Y/N}
├── sdd/03_build/current.md — exists and current? {Y/N}
├── sdd/04_verify/current.md — exists and verdict Pass? {Y/N}
└── sdd/05_operate/current.md — exists (if deploy in scope)? {Y/N}
If any gate fails, complete the missing artifact before declaring done.
Final display:
[SDD Done] Task complete
├── Plan: sdd/02_plan/current.md
├── Build: sdd/03_build/current.md
├── Verify: sdd/04_verify/current.md (Verdict: Pass)
└── Artifacts are current-state — ready for next iteration
current.md is the canonical artifact. Supplementary files are allowed but the main doc is always current.md.| Skill | When to Use Together |
|-------|---------------------|
| /deep-plan | Before /sdd-dev when requirements are ambiguous — use deep-plan to research, then sdd-dev to execute |
| /structured-dev-cycle | Alternative workflow without sdd/ folder — use sdd-dev when project uses sdd/ hierarchy |
| /dev-review | After Step 4 — use dev-review for additional code quality check |
| /adversarial-review | After Step 4 — use adversarial-review for security-sensitive changes |
/sdd-dev add user authentication to the API
/sdd-dev implement pagination for the product list screen
/sdd-dev 화면명세서 기반으로 대시보드 UI 구현
/sdd-dev refactor the payment module
/sdd-dev # (no argument — guided workflow)
When no argument is provided, ask: "어떤 작업을 진행할까요? sdd/01_planning/ 의 요구사항을 기반으로 계획을 수립합니다."
development
Generate and maintain a persistent codebase wiki — LLM-built interlinked markdown knowledge base (Karpathy LLM Wiki pattern)
development
Use the project wiki as RAG knowledge source — search wiki pages to answer codebase questions before exploring raw files
tools
Analyze task trajectories to propose reusable SKILL.md candidates from successful patterns
data-ai
hada.io RSS feed monitoring for AI agent/harness articles with automated /scout analysis