Interactive EARS pattern authoring assistant. Guides through pattern selection and requirement construction.
Guides through creating requirements using EARS pattern syntax with interactive pattern selection.
/plugin marketplace add melodic-software/claude-code-plugins/plugin install spec-driven-development@melodic-software[requirement description or --interactive]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
ears-author 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