Agentic engineering lab

EARS Requirement Playground

A small deterministic validator for the prose you are about to hand to a coding agent. It checks EARS structure, weak modality, and common vague terms.

Requirement

Result

Pattern:

Findings

    Accepted EARS shapes
    The <system> SHALL <response> While <state>, the <system> SHALL <response> When <trigger>, the <system> SHALL <response> Where <feature>, the <system> SHALL <response> If <trigger>, then the <system> SHALL <response> While <state>, when <trigger>, the <system> SHALL <response>
    Use it with Vale

    The browser playground explains the grammar. The Vale rules are aimed at OpenSpec: the EARS rule checks the first requirement statement after each ### Requirement: heading, while modality and vague-language checks remain separate.

    EARS.yml Open raw
    Loading rule…

    This is intentionally a constrained validator, not a claim that every English requirement can or should be expressed as EARS. The useful boundary here is narrower: catch known ambiguity before a coding agent starts implementation.

    Reference

    EARS was created by Alistair Mavin to gently constrain natural-language requirements through a small set of ordered clauses. Vale provides a script extension point using Tengo for rules that need logic beyond simple token matching.