All skills
Skillintermediate
EARS Format
Easy Approach to Requirements Syntax for clear, unambiguous requirements.
Claude Code Knowledge Pack7/10/2026
Overview
EARS Format
EARS Syntax
Easy Approach to Requirements Syntax for clear, unambiguous requirements.
Basic Patterns
Ubiquitous (Always)
The system shall [action].
Event-Driven
When [trigger], the system shall [action].
State-Driven
While [state], the system shall [action].
Conditional
While [state], when [trigger], the system shall [action].
Optional
Where [feature enabled], the system shall [action].
Example Observations
Authentication
OBS-AUTH-001: Login Flow
While credentials are valid, when POST /auth/login is called,
the system shall return JWT access token (15m) and refresh token (7d).
OBS-AUTH-002: Token Refresh
While refresh token is valid, when POST /auth/refresh is called,
the system shall issue new access token.
OBS-AUTH-003: Invalid Token
When expired or invalid token is provided,
the system shall return 401 Unauthorized.
User Management
OBS-USER-001: User Creation
While email is unique, when POST /users is called with valid data,
the system shall create user with bcrypt-hashed password (rounds=12).
OBS-USER-002: Email Validation
When email format is invalid,
the system shall return 400 with error message "Invalid email format".
Input Validation
OBS-INPUT-001: Required Fields
When required fields are missing,
the system shall return 400 with field-specific error messages.
Quick Reference
| Type | Pattern | Example Trigger |
|---|---|---|
| Ubiquitous | shall [action] | Always true |
| Event | When [X], shall | On button click |
| State | While [X], shall | While logged in |
| Conditional | While [X], when [Y], shall | While admin, when delete |
| Optional | Where [X], shall | If feature enabled |