Awesome-Agent-Skills-for-Empirical-Research sdd
install
source · Clone the upstream repo
git clone https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/09-meleantonio-awesome-econ-ai-stuff/_skills/engineering/sdd" ~/.claude/skills/brycewang-stanford-awesome-agent-skills-for-empirical-research-sdd && rm -rf "$T"
manifest:
skills/09-meleantonio-awesome-econ-ai-stuff/_skills/engineering/sdd/SKILL.mdsource content
Spec-Driven Development (SDD)
Core Philosophy
- Clarity before Code: Never generate code until requirements and design are approved.
- Iterative Refinement: Loop through Req → Design → Tasks until solid.
- Code via Docs: The truth is in the markdown files, not the chat.
Commands
Execute in the project root (where
spec/ and steering/ live).
init
initScaffold the SDD folder structure and template files.
- If
already exists, skip or ask before overwriting.spec/ - Create
andspec/
.steering/ - Create
(blank or minimal placeholder).spec/intent.md - Copy templates from this skill’s
directory (in the same folder astemplates/
, or from your install path underSKILL.md
after copying the skill there) into the project:~/.cursor/skills/sdd/
→templates/spec/requirements.mdspec/requirements.md
→templates/spec/design.mdspec/design.md
→templates/spec/tasks.mdspec/tasks.md
→templates/steering/coding-standards.mdsteering/coding-standards.md
reqs
reqsGenerate EARS requirements from intent.
- Read
andspec/intent.md
.steering/*.md - Convert the intent into EARS requirements (see EARS Quick Reference below). Add a Properties (invariants) section.
- Write to
.spec/requirements.md - Ask for user approval before proceeding.
design
designGenerate technical design from requirements.
- Read
andspec/requirements.md
.steering/*.md - Create a technical design: architecture, data models, component interfaces, error handling, security. Apply the Design Checklist below.
- Write to
.spec/design.md - Ask for user approval before proceeding.
tasks
tasksGenerate implementation tasks from design.
- Read
andspec/design.md
.spec/requirements.md - Create a sequential task list: max two levels (Task > Subtask). Link each task to requirement IDs (e.g.
). Follow Task Rules below.REQ-001 - Write to
.spec/tasks.md - Ask for user approval before proceeding.
status
statusReport current state of the spec.
- List files in
(and optionallyspec/
).steering/ - If
exists, count uncheckedspec/tasks.md
vs checked[ ]
and summarize.[x]
EARS Quick Reference
- Ubiquitous:
<system> shall <response> - Event-Driven:
WHEN <trigger> [precondition] the <system> shall <response> - Unwanted:
IF <unwanted condition> THEN the <system> shall <response> - State-Driven:
WHILE <system state>, the <system> shall <response> - Optional:
WHERE <feature is included>, the <system> shall <response>
Use IDs like
[REQ-001]; add a Properties (Invariants) section for universal correctness statements.
Design Checklist
- Edit ruthlessly (remove over-engineering).
- Check for circular dependencies; fix via interface extraction, layering, or events.
- Ensure alignment with steering documents.
Task Rules
- Two-level hierarchy maximum (Task > Subtask).
- Sequential order (each task builds on previous).
- Traceability: each task or subtask links back to requirement IDs (e.g. Traceability: Implements
).REQ-001
Additional Resources
- For full framework detail (workflow, refinement, iteration triggers), see reference.md.