.claude/skills/sdd-requirements/SKILL.md
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>.
npx skillsauth add yi-john-huang/sdd-mcp sdd-requirementsInstall 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.
Generate comprehensive, EARS-formatted requirements documents that integrate with the SDD (Spec-Driven Development) workflow.
Before generating requirements:
sdd-init MCP toolsdd-status MCP tool.spec/steering/sdd-status MCP tool to verify feature exists and check current phase.spec/steering/product.md if available.spec/specs/{feature}/spec.jsonIdentify and document:
Use the EARS (Easy Approach to Requirements Syntax) format for all requirements.
| Pattern | Syntax | Use When |
|---------|--------|----------|
| Ubiquitous | The <system> SHALL <action> | Always true requirement |
| Event-Driven | WHEN <trigger> THEN the <system> SHALL <action> | Response to event |
| State-Driven | WHILE <state> THE <system> SHALL <action> | During specific state |
| Optional | WHERE <feature enabled> THE <system> SHALL <action> | Configurable feature |
| Unwanted Behavior | IF <condition> THEN the <system> SHALL <action> | Exception handling |
## 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
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}
After generating requirements:
.spec/specs/{feature}/requirements.mdsdd-approve MCP tool to mark phase complete when readyThis skill works with these MCP tools:
| Tool | When to Use |
|------|-------------|
| sdd-status | Check current workflow phase before starting |
| sdd-validate-gap | Validate requirements against existing codebase |
| sdd-approve | Mark requirements phase as approved |
Before completing requirements:
Apply these steering documents during requirements generation:
| Document | Purpose | Key Application |
|----------|---------|-----------------|
| .spec/steering/principles.md | SOLID, DRY, KISS, YAGNI | Ensure requirements follow KISS (simple, unambiguous) and YAGNI (only what's needed now) |
Key Principles for Requirements:
tools
Implement simple features with best practices. Use when adding small features, bug fixes, or quick enhancements without the full SDD workflow. Invoked via /simple-task <description>.
development
Generate comprehensive tests following TDD methodology. Creates unit tests, integration tests, and edge case coverage. Works with existing test frameworks in the project. Invoked via /sdd-test-gen [file-path or function-name].
testing
Generate TDD task breakdown for SDD workflow. Use when breaking down design into implementable tasks with test-first approach. Invoked via /sdd-tasks <feature-name>.
testing
Create project-specific steering documents for SDD workflow. Use when setting up project context, documenting technology stack, or establishing project conventions. Invoked via /sdd-steering.