Guides interactive EARS pattern selection and requirement construction for specs. Validates syntax, generates Given/When/Then acceptance criteria, and appends to markdown files.
npx claudepluginhub melodic-software/claude-code-plugins --plugin spec-driven-developmentThis skill is limited to using the following tools:
Interactive assistant for creating requirements using EARS (Easy Approach to Requirements Syntax) patterns.
Authors and validates requirements using EARS patterns (Ubiquitous, State-Driven, Event-Driven, Unwanted, Optional, Complex). Provides templates, examples, decision tree, and syntax checks.
Transforms vague feature ideas into clear, testable requirements using EARS format. Captures user stories, acceptance criteria, edge cases before design phase.
Generates EARS-formatted requirements documents for Spec-Driven Development (SDD) workflows. Use for new feature specifications, requirements docs, or acceptance criteria via /sdd-requirements <feature-name>.
Share bugs, ideas, or general feedback.
Interactive assistant for creating requirements using EARS (Easy Approach to Requirements Syntax) patterns.
| Pattern | Use When | Template |
|---|---|---|
| Ubiquitous | Always true | The system SHALL [action] |
| Event-Driven | Triggered by event | WHEN [event], the system SHALL [action] |
| State-Driven | Depends on state | WHILE [state], the system SHALL [action] |
| Unwanted | Handle failures | IF [condition], THEN the system SHALL [action] |
| Optional | Feature-dependent | WHERE [feature], the system SHALL [action] |
| Complex | Multiple conditions | Combination of above |
Gather Context
--interactive, prompt for requirement detailsPattern Selection
spec-author ears agentConstruct Requirement
Generate Acceptance Criteria
Output
$ARGUMENTS - Requirement description to convert to EARS--interactive - Step-by-step guided authoring--append - Append to specification file--pattern - Force specific pattern (ubiquitous, event, state, unwanted, optional, complex)# From description
/spec-driven-development:ears-author "User can log in with email and password"
# Interactive mode
/spec-driven-development:ears-author --interactive
# Force pattern
/spec-driven-development:ears-author "Handle timeout errors" --pattern unwanted
# Append to spec
/spec-driven-development:ears-author "Session expires after 30 minutes" --append .specs/auth/spec.md
┌─────────────────────┐
│ What triggers this? │
└─────────┬───────────┘
│
┌──────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Nothing │ │ An event │ │ A state │
│(always) │ │ │ │ │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
▼ ▼ ▼
Ubiquitous Event-Driven State-Driven
┌─────────────────────────────────────────────┐
│ Is this handling an error or failure case? │
└─────────────────────┬───────────────────────┘
│
┌─────┴─────┐
│ Yes │
└─────┬─────┘
│
▼
Unwanted
## FR-X: [Generated Title]
WHEN the user submits valid login credentials,
the system SHALL authenticate the user
AND create a session token.
### Acceptance Criteria
- [ ] AC-X.1: Given valid email and password, when submitted, then user is authenticated
- [ ] AC-X.2: Given valid credentials, when authenticated, then session token is returned
- [ ] AC-X.3: Given invalid password, when submitted, then authentication fails with error
/spec-driven-development:ears-convert - Convert between EARS and other formats/spec-driven-development:gherkin-author - Create Gherkin scenarios/spec-driven-development:specify - Generate full specification