Sdd-mcp sdd-requirements
Generate EARS-formatted requirements for SDD workflow. Use when starting a new feature specification, creating requirements documents, or defining acceptance criteria. Invoked via /sdd-requirements <feature-name>.
install
source · Clone the upstream repo
git clone https://github.com/yi-john-huang/sdd-mcp
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/yi-john-huang/sdd-mcp "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/sdd-requirements" ~/.claude/skills/yi-john-huang-sdd-mcp-sdd-requirements-0b4369 && rm -rf "$T"
manifest:
skills/sdd-requirements/SKILL.mdsource content
SDD Requirements Generation
Generate comprehensive, EARS-formatted requirements documents that integrate with the SDD (Spec-Driven Development) workflow.
Prerequisites
Before generating requirements:
- Feature must be initialized with
MCP toolsdd-init - Check current phase with
MCP toolsdd-status - Review project steering documents in
.spec/steering/
Workflow
Step 1: Gather Context
- Use
MCP tool to verify feature exists and check current phasesdd-status - Read project context from
if available.spec/steering/product.md - Review the feature description from
.spec/specs/{feature}/spec.json
Step 2: Analyze Requirements
Identify and document:
- Primary user goal: What problem are we solving?
- Target users: Who will use this feature?
- Core functionality: What must the system do?
- Success criteria: How do we know it works?
Step 3: Generate EARS-Formatted Requirements
Use the EARS (Easy Approach to Requirements Syntax) format for all requirements.
EARS Patterns
| Pattern | Syntax | Use When |
|---|---|---|
| Ubiquitous | | Always true requirement |
| Event-Driven | | Response to event |
| State-Driven | | During specific state |
| Optional | | Configurable feature |
| Unwanted Behavior | | Exception handling |
Examples
## FR-1: User Authentication WHEN a user submits valid credentials THEN the system SHALL authenticate the user and return a session token ## FR-2: Session Management WHILE a user session is active THE system SHALL maintain the session for up to 24 hours of inactivity ## NFR-1: Performance The system SHALL respond to authentication requests within 200ms
Step 4: Structure the Document
Generate requirements.md with this structure:
# Requirements: {Feature Name} ## Overview Brief description of the feature and its purpose. ## Functional Requirements ### FR-1: {Requirement Name} **Objective:** As a {user type}, I want {goal}, so that {benefit} **EARS Specification:** WHEN {trigger} THEN the system SHALL {action} **Acceptance Criteria:** 1. {Specific, testable criterion} 2. {Specific, testable criterion} ### FR-2: {Next Requirement} ... ## Non-Functional Requirements ### NFR-1: Performance {Performance requirements with specific metrics} ### NFR-2: Security {Security requirements aligned with OWASP guidelines} ### NFR-3: Scalability {Scalability requirements if applicable} ## Constraints {Technical or business constraints} ## Assumptions {Assumptions made during requirements gathering}
Step 5: Validate and Save
After generating requirements:
- Ensure all requirements are testable
- Verify EARS format is correctly applied
- Save to
.spec/specs/{feature}/requirements.md - Use
MCP tool to mark phase complete when readysdd-approve
MCP Tool Integration
This skill works with these MCP tools:
| Tool | When to Use |
|---|---|
| Check current workflow phase before starting |
| Validate requirements against existing codebase |
| Mark requirements phase as approved |
Quality Checklist
Before completing requirements:
- All requirements use EARS format
- Each requirement is independently testable
- Acceptance criteria are specific and measurable
- Security requirements align with OWASP Top 10
- Performance requirements have specific metrics
- Requirements are traceable to user stories
- No ambiguous terms (avoid "should", "may", "might")
- Each FR has clear acceptance criteria
Steering Document References
Apply these steering documents during requirements generation:
| Document | Purpose | Key Application |
|---|---|---|
| SOLID, DRY, KISS, YAGNI | Ensure requirements follow KISS (simple, unambiguous) and YAGNI (only what's needed now) |
Key Principles for Requirements:
- KISS: Keep requirements simple and unambiguous
- YAGNI: Only specify what's actually needed now
- Single Responsibility: Each requirement addresses one concern