ears-validate

Validates software requirements against EARS notation patterns and legacy traceability rules.

Updated Sep 10, 2026
One-click install
npx skills add https://github.com/serpro-workshop-fortaleza/datacorp-sifap-modernization-team-kit --skill ears-validate-serpro-workshop-fortaleza
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ears-validate
Source: https://github.com/serpro-workshop-fortaleza/datacorp-sifap-modernization-team-kit/tree/main/.github/skills/ears-validate
Command: npx skills add https://github.com/serpro-workshop-fortaleza/datacorp-sifap-modernization-team-kit --skill ears-validate-serpro-workshop-fortaleza

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing requirements that are ambiguous, untestable, or disconnected from legacy source code leads to rework and lost traceability. This Skill reviews requirement statements against the EARS (Easy Approach to Requirements Syntax) notation so each one follows a single, testable pattern with a verifiable link back to its origin. ## Core Features & Use Cases - EARS Pattern Classification: Classifies each requirement into exactly one of six patterns (ubiquitous, event-driven, state-driven, optional, unwanted behavior, complex) using the standard "shall" (DEVE) templates. - Quality Checklist Enforcement: Detects common defects such as ambiguity, compound requirements, passive voice, hidden implementation details, and missing acceptance criteria. - Legacy Traceability: Requires every requirement to carry a REQ-ID and a non-empty source_legacy pointer to Natural programs (.NSN), Adabas DDMs (.ddm), or a justified [GREENFIELD] token, validated by the legacy-traceability CI task. - Use Case: During a legacy modernization sprint, paste a draft requirement like "the system must be fast" and receive a corrected EARS statement such as "QUANDO uma pessoa enviar um formulário, o sistema DEVE responder em até 500 ms" with a REQ-ID, acceptance criteria, and a source_legacy line pointing to the original Natural program. ## Quick Start Ask the assistant to review your draft requirements for EARS compliance and classify each one by pattern with a REQ-ID and legacy source trace.

Frequently Asked Questions about ears-validate

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

FAQPage Schema
How do I validate requirements against the EARS notation?▼

Submit your requirement statements for review and each one is classified into exactly one EARS pattern: ubiquitous, event-driven, state-driven, optional, unwanted, or complex. The validation checklist flags ambiguity, compound statements, passive voice, and missing acceptance criteria.

What are the six EARS requirement patterns?▼

The patterns are ubiquitous (O sistema DEVE...), event-driven (QUANDO gatilho), state-driven (ENQUANTO estado), optional (ONDE funcionalidade), unwanted behavior (SE condição, ENTÃO mitigação), and complex (ENQUANTO estado, QUANDO gatilho). Each uses the keyword DEVE (shall).

How do I make an ambiguous requirement testable with EARS?▼

Replace vague terms with observable, measurable responses. For example, "the system must be fast" becomes "QUANDO a user submits a form, the system DEVE respond within 500 ms." Every requirement needs at least one testable acceptance criterion.

What is the source_legacy field in an EARS requirement?▼

The source_legacy line links each requirement to its origin, pointing to a Natural program (*.NSN) or Adabas DDM (*.ddm) file with line ranges. When no legacy equivalent exists, use the [GREENFIELD] token with a justification for the new implementation.

Why does the legacy-traceability CI check fail on my pull request?▼

The legacy-traceability task in the spec-quality workflow fails when a requirement lacks a REQ-ID in REQ-NNN format, has an empty source_legacy line, or references a legacy file path that does not exist. Fix the traceability metadata and re-run the check.