← ClaudeAtlas

ears-requirements-authoringlisted

Write acceptance criteria in EARS format correctly — the five templates, one assertion per criterion, non-goals, and clarification markers. Use when authoring acceptance criteria, drafting a spec's requirements, converting a feature idea into testable statements, or reviewing criteria for ambiguity. Backs the forge-spec-writer agent.
BenMacDeezy/Orns-Forge · ★ 0 · Code & Development · score 72
Install: claude install-skill BenMacDeezy/Orns-Forge
# EARS requirements authoring EARS (Easy Approach to Requirements Syntax) constrains each requirement to one of five sentence templates so criteria are unambiguous, atomic, and test-mappable. Every Forge acceptance criterion is one EARS clause. ## The five templates — pick by trigger shape Choose the template from what conditions the behavior, not by habit: 1. **Ubiquitous** — always true, no trigger. `THE SYSTEM SHALL <behavior>.` Use for invariants that hold at all times (e.g. "THE SYSTEM SHALL store passwords only as salted hashes."). 2. **Event-driven** — a discrete trigger occurs. `WHEN <trigger>, THE SYSTEM SHALL <behavior>.` Use for a response to an event/action (this is the Forge default form). 3. **State-driven** — true throughout a state. `WHILE <state>, THE SYSTEM SHALL <behavior>.` Use for behavior that persists as long as a condition holds (e.g. "WHILE offline, THE SYSTEM SHALL queue writes locally."). 4. **Unwanted-behavior** — an error/undesired condition. `IF <condition>, THEN THE SYSTEM SHALL <behavior>.` Use for handling failures, invalid input, abuse (e.g. "IF the token is expired, THEN THE SYSTEM SHALL reject the request with 401."). 5. **Optional-feature** — behavior gated on a feature's presence. `WHERE <feature>, THE SYSTEM SHALL <behavior>.` Use for behavior that exists only when a feature/config is included. Templates compose: a clause may combine keywords (e.g. `WHILE <state>, WHEN <trigger>, THE SYSTEM