Help us improve
Share bugs, ideas, or general feedback.
From aaid-bdd
Validates acceptance tests against AAID BDD quality criteria, checking three-layer architecture, isolation, state management, and stubbing. Produces pass/warn/fail table.
npx claudepluginhub dawid-dahl-umain/augmented-ai-development --plugin aaid-bddHow this skill is triggered — by the user, by Claude, or both
Slash command
/aaid-bdd:validate [directory, file, or blank to discover][directory, file, or blank to discover]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Systematically validate acceptance tests against the AAID BDD quality checklist. You analyze everything — no external tools needed.
Executes AAID BDD/ATDD acceptance testing using the Three-Layer Model (Gherkin → DSL → Protocol Driver). Active when user initiates acceptance testing or references BDD scenarios.
Reviews acceptance tests for quality using 9 dimensions: happy path bias, GWT compliance, business language purity, coverage completeness, walking skeleton focus, priority, assertions, traceability, and boundaries.
Audits a BDD suite with declarative structural checks and content-quality review, producing a combined report for doc-bdd-fixer. Use before ADR generation or inside the audit↔fix cycle.
Share bugs, ideas, or general feedback.
Systematically validate acceptance tests against the AAID BDD quality checklist. You analyze everything — no external tools needed.
If $ARGUMENTS specifies files or directories, use that as the validation target. Otherwise, auto-discover:
.feature files first (Gherkin-opinionated — this is the entry point)acceptance/, acceptance-test/, features/, specs/acceptance/, e2e/.feature files, trace step definitions → DSL classes → driver implementationsEarly exit conditions:
.feature files or acceptance test artifacts are found, inform the user and stop. Do not explore further.package.json, pom.xml, build.gradle, pyproject.toml, Cargo.toml, or similar), ask the user to navigate to a project directory or provide a path.If auto-discovery finds multiple potential targets or ambiguous structure, ask the user to confirm.
Present discovered structure:
Acceptance Test Discovery
Target: [path]
Files analyzed: [count]
Language: [detected]
BDD Framework: [detected]
Layer Structure:
- Gherkin Specs: [files]
- Step Definitions: [files]
- DSL: [files]
- Driver: [files]
Read the quality checklist: references/CHECKLIST.md
This is the authoritative source for all quality criteria. Parse its 5 parts:
For each checklist item, examine the actual codebase:
Analysis techniques:
sleep( calls, boolean return types in driverBe specific. Every finding must cite file and line number with a concrete example.
Present the full validation report:
Acceptance Test Validation Report
Target: [path]
Files Analyzed: [count]
Overall: [X pass, Y warn, Z fail]
| Category | Criterion | Status | Finding |
|---|---|---|---|
| Architecture | Gherkin in business language | PASS/WARN/FAIL | [specific finding] |
| Architecture | 1:1 step-to-DSL mapping | PASS/WARN/FAIL | [specific finding] |
| Architecture | DSL is pure translation | PASS/WARN/FAIL | [specific finding] |
| Architecture | Driver owns all assertions | PASS/WARN/FAIL | [specific finding] |
| Architecture | Complex flows in driver | PASS/WARN/FAIL | [specific finding] |
| Isolation | Unique domain partition per test | PASS/WARN/FAIL | [specific finding] |
| Isolation | Partition created first | PASS/WARN/FAIL | [specific finding] |
| Isolation | Identifiers aliased | PASS/WARN/FAIL | [specific finding] |
| Isolation | Deterministic across runs | PASS/WARN/FAIL | [specific finding] |
| Isolation | No shared mutable state | PASS/WARN/FAIL | [specific finding] |
| State | DSL bridging state only | PASS/WARN/FAIL | [specific finding] |
| State | Driver stateless/transient | PASS/WARN/FAIL | [specific finding] |
| State | SUT is source of truth | PASS/WARN/FAIL | [specific finding] |
| Dependencies | Only third-party stubbed | PASS/WARN/FAIL | [specific finding] |
| Infrastructure | Atomic driver methods | PASS/WARN/FAIL | [specific finding] |
| Infrastructure | Polling, no sleeps | PASS/WARN/FAIL | [specific finding] |
Status definitions:
Findings must be specific:
TodoDsl.confirmArchived() contains assertion at TodoDsl.kt:45 — move to driver"Categorize by severity:
Critical (must fix): Layer violations, isolation failures, stubbing anti-patterns Important (should fix): Boolean returns in driver, arbitrary sleeps, missing temporal isolation Nice-to-have (consider): Naming inconsistencies, minor duplication
Present top 3-5 concrete recommendations with file, line, and suggested fix.
Ask the user which issues to fix. Do NOT auto-fix without approval.