sdd-spec
Skill36 starsChanged 6 months agoMITView on GitHub
Core cognitive SDD skill for creating design.md technical specifications from approved requirements. Use when the conversation calls for HOW decisions: architecture, components, data/state, APIs, flows, edge cases, technical decisions, risks, and implementation FAQ, even without an explicit command. Do not use for requirements creation, task breakdown, or coding.
We split this skill into the rules it gives an agent
19 rules. 0 are common, 7 are distinctive, and 12 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
12
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
Read ../_shared/references/templates.md when drafting the artifact.
- Very specific: line 20
Use package-level templates/design.md as the user-facing template when available.
- Very specific: line 27
If .status is missing or invalid, stop and ask the user to repair it.
- Very specific: line 29
If blocked, report the current status and recommend /skill:sdd-prd approval as the next safe action.
- Distinctive: line 34
Prefer existing patterns over new abstractions.
- Distinctive: line 38
Ask one question at a time when decisions require user input.
- Very specific: line 43
Use the Design Template from ../_shared/references/templates.md.
- Very specific: line 51
Add or update decisions.md only when a decision should survive beyond this feature or has significant trade-offs.
- Distinctive: line 55
Ask for explicit approval or requested changes.
- Very specific: line 62
Keep .status as design:draft until explicit approval.
- Very specific: line 63
After explicit approval, update the artifact status header to approved and set .status to design:approved.
- Very specific: line 64
Update .ai/sdd/INDEX.md with the current status when practical.
- Distinctive: line 74
Every Must Have requirement maps to a technical approach in the Requirements Mapping table.
- Distinctive: line 78
Do not over-design: avoid new layers, services, or abstractions unless justified.
- Very specific: line 82
Do not create tasks.md in this skill.
- Distinctive: line 83
Do not write implementation code in this skill.
- Very specific: line 84
Do not silently change requirements.
- Distinctive: line 85
Do not mark design approved without explicit user approval.
- Very specific: line 87
Do not infer requirements approval from file existence.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SDD Spec / Design
Translate approved requirements into a practical technical design.
Purpose
Design defines how the approved requirements will be implemented. It should be detailed enough for an implementer to work without guessing, but lightweight enough for small and medium projects.
Workflow
- Load the SDD reference.
- Read
../_shared/references/sdd-practical.md. - Apply the Language Policy: respond and write artifacts in the user's initial chat language while keeping skill instructions and templates in EN-US.
- Read
../_shared/references/templates.mdwhen drafting the artifact. - Use package-level
templates/design.mdas the user-facing template when available. - Load relevant
.ai/steering/*.mdfiles when present, especiallyproduct.md,tech-stack.md,conventions.md, andprinciples.md.
- Read
- Locate the feature and validate the gate.
- Use
.ai/sdd/specs/NNN-feature-name/. - Read
.status. - Validate
.statusagainst the official status values fromsdd-practical.md. - If
.statusis missing or invalid, stop and ask the user to repair it; do not infer approval fromrequirements.mdexisting. - Block if status is not
requirements:approved, unless the user explicitly asks for a non-binding draft spike. - If blocked, report the current status and recommend
/skill:sdd-prdapproval as the next safe action. - Read
requirements.mdcompletely.
- Use
- Explore project context.
- Inspect existing code, conventions, routing, components, services, tests, and build tooling relevant to the feature.
- Prefer existing patterns over new abstractions.
- Identify likely files and integration points, but do not generate tasks yet.
- Clarify technical choices.
- Ask one question at a time when decisions require user input.
- Present 2-3 approaches for meaningful trade-offs.
- Cover component/module boundaries, state/data ownership, API/integration boundaries, testing approach, and operational risks where relevant.
- Draft design.
- Use the Design Template from
../_shared/references/templates.md. - Scale detail to project size:
- small frontend feature: component structure, data/state, user flows, edge cases, decisions, tests
- medium project: include API, persistence, auth, concurrency, observability, migration, or deployment only when relevant
- Include a Requirements Mapping table linking each Must Have requirement to design sections or decisions.
- Include technical decisions with trade-offs and alternatives.
- Include rich technical sections when relevant: data model, API/integration contract, security/permissions/privacy, accessibility, observability, migration/rollout, and verification strategy.
- Include an Implementation FAQ for ambiguity-prone points.
- Add or update
decisions.mdonly when a decision should survive beyond this feature or has significant trade-offs.
- Use the Design Template from
- Review with the user.
- Present the complete draft.
- Ask for explicit approval or requested changes.
- Revise until approved.
- Save draft and gate.
- Save draft design to
.ai/sdd/specs/NNN-feature-name/design.mdwith> Status: Draftwhen useful for collaboration. - Set
.statustodesign:draftonly after a binding design draft is created fromrequirements:approved. - For non-binding draft spikes, do not advance
.status; clearly label the draft as non-binding. - Keep
.statusasdesign:draftuntil explicit approval. - After explicit approval, update the artifact status header to approved and set
.statustodesign:approved. - Update
.ai/sdd/INDEX.mdwith the current status when practical; if not updated, tell the user the index may be stale.
- Save draft design to
Output
.ai/sdd/specs/NNN-feature-name/design.md- Optional
.ai/sdd/specs/NNN-feature-name/decisions.md - Updated
.status
Quality Bar
- Every Must Have requirement maps to a technical approach in the Requirements Mapping table.
- Design must prefer existing project patterns.
- Technical decisions must name trade-offs.
- Edge cases from requirements must have expected behavior.
- Do not over-design: avoid new layers, services, or abstractions unless justified.
Critical Rules
- Do not create
tasks.mdin this skill. - Do not write implementation code in this skill.
- Do not silently change requirements; if the design reveals a requirements problem, stop and ask whether to update
requirements.md. - Do not mark design approved without explicit user approval.
- Draft designs may be saved, but they do not authorize task execution or implementation.
- Do not infer requirements approval from file existence; require valid
.status.
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- khangpqvn/SDDADD★ 12same name
- PedroMosquera/squadai★ 10same name
- ad1code/sdd-harness★ 4same name
- Maicololiveras/praxisgenai-agent-orchestrator★ 1same name
- svg153/skills★ 1same name
- callingcard1973/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- sdd-execSkill
- sdd-ideaSkill
- sdd-initSkill
- sdd-planSkill
- sdd-prdSkill
- sdd-reviewSkill
- sdd-statusSkill
- sdd-steeringSkill
- sdd-tasksSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

