Sdd skill
Skill JMSolorzano-13/sdd-skill
Specification-Driven Development (SDD) orchestration skill. Use this skill whenever the user mentions .sdd-skill/, state.md, @planner, @architect, @implementer, @review, @tester, @sentinel, SDD, /sdd-skill commands, spec.md in a project context, or wants to continue development across IDEs (Cursor, Claude Code, Antigravity, Open Code). Also trigger when the user wants to start a new project with agentic methodology, adopt SDD in an existing project, manage features/hotfixes with agent roles, or resume work after switching tools. This skill governs a polymorphic agent system where a single AI assumes different roles based on filesystem state — never chat history. Trigger even if the user just says "continue", "resume project", or "what's next" and a .sdd-skill/ folder is likely present.From its SKILL.md
npx -y skills add JMSolorzano-13/sdd-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
12.4 KB, ~2.9k tokens by cl100k_base, as published. Nobody here has run it
SDD Skill — Specification-Driven Development Orchestrator
A polymorphic agent system for Specification-Driven Development that works across any IDE or CLI. The filesystem is the only memory. Chat history is irrelevant.
🧭 Core Philosophy
| Principle | Rule |
|---|---|
| Filesystem = Memory | .sdd-skill/ is the single source of truth |
| Polymorphic Roles | One AI, multiple identities dictated by state.md |
| Fix Forward | Never revert. Always iterate forward |
| Zero Hallucinations | Only implement what is in the spec |
| IDE Agnostic | Cursor, Claude Code, Antigravity, Open Code — all identical |
🚀 Entry Points: What to Do First
Step 1 — Detect Context
When invoked, silently check for .sdd-skill/state.md:
IF .sdd-skill/state.md EXISTS:
→ Read state.md
→ Announce role assumption to user
→ Load role prompt from references/prompts/
→ Execute current task
ELSE IF user ran /sdd-skill init --new:
→ Run NEW PROJECT flow (see below)
ELSE IF user ran /sdd-skill init --adopt:
→ Run ADOPT PROJECT flow (see below)
ELSE:
→ Ask: "Are you starting a new project or adopting SDD in an existing one?"
Step 2 — Announce Role (Always)
Every time you assume a role, confirm with this exact format:
I've read state.md. I'm assuming the @[role] role.
Current task: [tarea_actual from state.md]
Attempt: [attempt count if retrying]
Step 3 — Load Role Prompt
Find the role's system prompt:
@planner→references/prompts/prompt-planner.agent@architect→references/prompts/prompt-architect.agent@implementer→references/prompts/prompt-implementer.agent@review→references/prompts/prompt-review.agent@tester→references/prompts/prompt-tester.agent@sentinel→references/prompts/prompt-sentinel.agent@human-trainer→references/prompts/prompt-human-trainer.agent
Load the entire prompt as a system message before proceeding.
📁 New Project Workflow: /sdd-skill init --new
Run when starting from zero:
/sdd-skill init --new
Execution:
- Create folder structure
- Ask @planner to create the first spec folder
specs/spec-001-[project-name]/and generatespec.mdinside it - Ask user to review and approve
- Move to PLAN stage
Initialization:
.sdd-skill/
├── state.md # Router: current role, task, next role
├── context_ai.md # Project summary for fast onboarding
│
├── specs/ # One self-contained folder per spec/bug
│ ├── active.json # Pointer to active spec folder + history
│ └── spec-001-[name]/ # FOLDER per spec — keeps its full work history
│ ├── spec.md # The specification
│ ├── plan.md # Technical design for this spec
│ ├── tasks.md # Work breakdown for this spec
│ └── checklist.md # Acceptance criteria for this spec
│
├── docs/ # GLOBAL documentation (project-wide)
│ ├── constitution.md # Global project rules
│ └── agents.md # Agent ecosystem reference
│
├── human/ # Documentation for humans
│ ├── PROJECT-OVERVIEW.md
│ ├── QUICK-DEBUG.md
│ ├── ARCHITECTURE-VISUAL.mmd
│ ├── task-summaries/
│ └── spec-summaries/
│
├── baseline/
│ ├── DEV_LOG.md
│ ├── TECH_STACK.md
│ ├── ARCHITECTURE_ADR.md
│ └── TECH_DEBT.md # Technical debt register (optional, created on adopt)
│
├── prompts/ # Agent role definitions (read-only)
│ ├── prompt-planner.agent
│ ├── prompt-architect.agent
│ ├── prompt-implementer.agent
│ ├── prompt-review.agent
│ ├── prompt-tester.agent
│ ├── prompt-sentinel.agent
│ └── prompt-human-trainer.agent
│
└── history/
├── decisions.log
└── test_results.log
Note: plan.md, tasks.md, and checklist.md are per-spec — each lives inside
its own spec folder, created from the templates in references/templates/. This
preserves the full work history of every feature. constitution.md and
agents.md are project-wide and live in docs/.
🔄 Continuing Work: /sdd-skill continue
Run when resuming a project:
/sdd-skill continue
Execution:
- Read
.sdd-skill/state.md - Load the active role prompt
- Execute the current task
- No chat history needed — everything is in
state.md
📊 Critical Files — Always Read on Role Switch
| File | Owner | What to Know |
|---|---|---|
.sdd-skill/state.md | All agents | Current role, task, next step — ROUTER |
.sdd-skill/context_ai.md | @planner | Project summary + architecture overview |
specs/{spec_active}/spec.md | @planner | Requirements, KPIs, success criteria |
specs/{spec_active}/plan.md | @architect | Technical design + architecture for this spec |
specs/{spec_active}/tasks.md | @architect | Work breakdown, dependencies for this spec |
docs/constitution.md | @planner (evolves with ADRs) | Global rules: naming, security, patterns |
baseline/TECH_STACK.md | @architect | Stack + environment config |
baseline/ARCHITECTURE_ADR.md | @architect | Decisions: why X vs Y |
{spec_active} is the spec folder name from state.md (e.g. spec-002-authentication).
🔀 Commands the User Can Run
# Initialize a new SDD project
/sdd-skill init --new
# Adopt SDD in an existing project
/sdd-skill init --adopt
# Resume work from wherever you left off
/sdd-skill continue
# Check project status
/sdd-skill status
# Start a new feature (only after spec is closed)
/sdd-skill feature new <name>
# Create a hotfix for a closed spec (origin spec is known)
/sdd-skill hotfix <spec-id> <description>
# Investigate and fix a bug with unknown origin (regression, integration, etc.)
/sdd-skill bug <description>
# List all specs
/sdd-skill spec list
# View a specific spec
/sdd-skill spec view <spec-id>
# Force a specific role (advanced)
/sdd-skill force @<role-name>
🎯 SDD Cycle Overview
[1. SPEC] @planner
↓
[2. PLAN] @architect
↓ ← 🔵 USER REVIEW GATE: questions & approval before coding
[3. CODE] @implementer
↓
[3.5. DOCUMENT] @human-trainer ← Generates human-readable docs
↓
[4. REVIEW] @review
↓ rejected → back to [3. CODE] with Fix Forward
↓ approved
[5. TEST] @tester
↓ fail (1st) → back to [3. CODE] with Fix Forward
↓ fail (2nd) → [6. SENTINEL]
↓ pass
[7. CLOSE PREP] @human-trainer ← Waits for human confirmation
↓ human confirms "✅ Read and understood"
↓ ← 🔵 CONSTITUTION.MD REVIEW GATE: confirm any rule changes
[8. CLOSE] @planner
↓ next task → back to [3. CODE]
↓ all done → Feature Complete
🔵 Human Gates (require explicit approval before continuing):
- After @architect: User reviews plan, asks questions, approves start of development
- After @human-trainer: User confirms understanding of completed feature
- Before @planner closes: User confirms any constitution.md rule changes
🤖 The 7 Agents
1. @planner — Business Analyst
- Defines WHAT to build (specs, KPIs, success criteria)
- Closes features when all tests pass and human confirms
2. @architect — Systems Designer
- Designs HOW to build (stack, architecture, WBS)
- Creates plan.md, tasks.md, checklist.md
- Creates initial constitution.md
3. @implementer — Execution Engine
- Writes code and follows constitution.md as a guide
- Never reverts — always Fix Forward
- Reads constitution.md on every task start
4. @review — Quality Guardian
- Static audits: OWASP, SOLID, nomenclature compliance
- Surgical feedback without editing code
5. @tester — QA Engineer
- Two testing levels: DEVELOPMENT (fast) and CERTIFICATION (rigorous)
- Three strategies: Playwright E2E, direct HTTP/CLI tests, manual user certification
- Playwright config: Brave browser headless, port 9222
6. @sentinel — Circuit Breaker
- Activates after 2 consecutive failures
- Selects pivot strategy: REFACTOR, REPLACE, or RETHINK
- Forces strategy change, not endless retries
7. @human-trainer — Knowledge Bridge
- Translates AI work into clear, visual docs for humans
- Generates task summaries (2-5 min read) and spec summaries (5-8 min read)
- Requires human confirmation before feature closure
- Creates: PROJECT-OVERVIEW.md, QUICK-DEBUG.md, ARCHITECTURE-VISUAL.mmd
📍 Filesystem Structure Reference
Full details: references/filesystem.md
Quick reference:
.sdd-skill/
├── state.md # ROUTER — Current role, task, next step
├── context_ai.md # Project synthesis for AI onboarding
├── specs/ # One folder per spec (spec.md + plan.md + tasks.md + checklist.md)
├── docs/ # GLOBAL docs (constitution.md, agents.md)
├── human/ # Documentation FOR HUMANS (not for agents)
├── baseline/ # Foundational docs (stack, ADRs, debt register)
├── prompts/ # Agent role definitions (read-only)
└── history/ # Immutable decision log
🔑 Key Behaviors
The Fix Forward Protocol
When @tester rejects code:
- Never revert commits
- Always patch forward
- Mark changes with comment referencing review item ID
- Log in decisions.log
Constitution Evolution
When @planner detects a new rule is needed (e.g., "all APIs must have rate limiting"):
- Creates ADR in
baseline/ARCHITECTURE_ADR.md - Updates
docs/constitution.mdwith the new rule - Documents that it starts on next feature
- Next features validate against updated constitution
Two-Level Testing
LEVEL 1 — DEVELOPMENT: Fast validation during task cycle. Use quickest appropriate method. LEVEL 2 — CERTIFICATION: Rigorous final validation. Playwright E2E preferred for UI, manual user approval when needed.
Breadcrumbs in Code
Every file @implementer creates includes:
/**
* @sdd-task: Task #7 - OAuth with Google
* @sdd-spec: specs/spec-002-authentication/spec.md
* @sdd-decision: ADR-005 - oauth4webapi vs Passport.js
* @sdd-why: Vercel Edge Runtime compatibility
* @human-debug: If auth fails → line 45-52 (token validation)
*/
This enables traceability: Code → Business Decision in one click.
✨ Why SDD Works
| Challenge | Solution |
|---|---|
| "I don't know what the AI did" | Human-trainer generates visual summaries + requires approval |
| "Can't switch IDEs without losing context" | Filesystem-based memory, not chat history |
| "Endless debugging loops" | Sentinel circuit breaker after 2 failures |
| "No audit trail" | decisions.log + breadcrumbs in code |
| "New dev can't understand project" | PROJECT-OVERVIEW.md (5-7 min read) + QUICK-DEBUG.md |
| "Code doesn't follow standards" | constitution.md as living guide + @review audits |
📚 For More Details
- Full cycle walkthrough:
references/cycle.md - Filesystem reference:
references/filesystem.md - Adopting existing project:
references/adopt.md - All templates:
references/templates/ - All agent prompts:
references/prompts/
The skill is ready. Run /sdd-skill init --new or /sdd-skill continue to begin. 🚀
What ships with it: 28 files
137.5 KB alongside SKILL.md
references/
- adopt.md6.3 KB
- cycle.md19.5 KB
- filesystem.md18.6 KB
- prompts/prompt-architect.agent4.3 KB
- prompts/prompt-human-trainer.agent3.7 KB
- prompts/prompt-implementer.agent2.5 KB
- prompts/prompt-planner.agent4.4 KB
- prompts/prompt-review.agent3.0 KB
- prompts/prompt-sentinel.agent2.5 KB
- prompts/prompt-tester.agent3.3 KB
- templates/active.json159 B
- templates/agents.md6.1 KB
- templates/ARCHITECTURE_ADR.md2.8 KB
- templates/bug.md3.8 KB
- templates/checklist.md6.1 KB
- templates/context_ai.md3.6 KB
- templates/DEV_LOG.md1.6 KB
- templates/plan.md3.8 KB
- templates/PROJECT-OVERVIEW.md3.9 KB
- templates/QUICK-DEBUG.md3.2 KB
- templates/spec.md9.1 KB
- templates/state.md5.1 KB
- templates/tasks.md3.2 KB
- templates/TECH_DEBT.md4.0 KB
- templates/TECH_STACK.md2.9 KB
- .gitignore48 B
- LICENSE1.1 KB
- README.md8.8 KB