ears-acceptance-criteria

Convert user-friendly requirements into testable EARS acceptance criteria.

1|Updated Jun 23, 2026
One-click install
npx skills add https://github.com/phuonghx/aim-cli --skill ears-acceptance-criteria
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ears-acceptance-criteria
Source: https://github.com/phuonghx/aim-cli/tree/main/aim/templates/aim-agents/skills/ears-acceptance-criteria
Command: npx skills add https://github.com/phuonghx/aim-cli --skill ears-acceptance-criteria

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill simplifies the process of writing clear, testable acceptance criteria using EARS notation, helping developers define the exact behaviors a system should exhibit.

Core Features & Use Cases

  • EARS Syntax Support: Utilizes EARS (Easy Approach to Requirements Syntax) for creating unambiguous, testable requirements.
  • Atomic Behaviors: Ensures each criterion states a single, observable behavior.
  • Pattern Recognition: Identifies five key patterns: ubiquitous, event-driven, state-driven, unwanted-behavior, and optional feature.
  • Use Case: Ideal for authoring requirements documents, turning vague requests into actionable criteria, or defining task completion standards.

Quick Start

Create an acceptance criterion for the "Login" feature with the command: aim task create --ac "WHEN valid credentials are submitted THE SYSTEM SHALL authenticate the user."

Frequently Asked Questions about ears-acceptance-criteria

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is EARS notation for writing acceptance criteria?

EARS (Easy Approach to Requirements Syntax) is a structured syntax for writing unambiguous, testable acceptance criteria. It converts vague user requests into concise statements using specific patterns like ubiquitous, event-driven, and state-driven behaviors.

How do I write testable requirements using EARS syntax?

To write testable requirements with EARS syntax, frame each criterion as a single observable behavior using predefined patterns. For example, use an event-driven structure like "WHEN valid credentials are submitted THE SYSTEM SHALL authenticate the user" to ensure atomic, verifiable specifications.

What are the five EARS patterns for specification writing?

The five EARS patterns for specification writing are ubiquitous, event-driven, state-driven, unwanted-behavior, and optional feature. Each pattern structures acceptance criteria differently to precisely define exact system behaviors and task completion standards.

Do I need any external dependencies to use EARS notation for requirements engineering?

No, you do not need any external dependencies to use EARS notation for requirements engineering. The syntax operates independently to convert user-friendly requirements into testable statements without requiring additional frameworks or libraries.

When should I use EARS notation for task definition?

You should use EARS notation for task definition when authoring requirements documents or defining task completion standards. It is ideal for turning vague feature requests into actionable, atomic behaviors that developers can easily verify and test.

Best way to create acceptance criteria for a login feature?

The best way to create acceptance criteria for a login feature is applying EARS event-driven syntax, such as "WHEN valid credentials are submitted THE SYSTEM SHALL authenticate the user," ensuring the requirement remains atomic and testable.