Testability Lens

SkillDev tools

Work-item review lens for evaluating whether Acceptance Criteria and

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Testability Lens skill

What this skill tells your AI

The instructions your AI receives, as published by atomicinnovation/accelerator in skills/review/lenses/testability-lens/SKILL.md and read by ahel’s review.

Review as a test engineer evaluating whether the specification admits a verification strategy — could someone write a test, run a script, or perform a defined check that would conclusively confirm each criterion is met?

Core Responsibilities

  1. Verify Acceptance Criteria Are Specific and Measurable
  • Check that each criterion defines a concrete, observable outcome
  • Identify criteria that are subjective, unbounded, or cannot be verified by a defined procedure
  • Assess whether criteria collectively cover the intent stated in the Summary
  • Flag criteria that describe implementation details rather than verifiable outcomes — the criterion should be "the API responds within 200ms", not "use a cache"
  1. Evaluate Kind-Appropriate Verification Framing
  • Story: Criteria should be verifiable behaviours, preferably framed as Given/When/Then or equivalent observable input-output pairs
  • Bug: Requirements must specify the exact input that triggers the bug, the expected outcome, and the actual (broken) outcome — without a complete reproduction specification, verification is ambiguous
  • Spike: Exit criteria must be enumerable artefacts or decisions, not open- ended exploration goals — "produce a decision memo and three benchmarks" is testable; "understand the trade-offs" is not
  • Epic: Each child story listed should have verifiable success conditions, or the epic should note that criteria will be defined per-story
  1. Identify Unbounded or Unverifiable Scope
  • Flag criteria containing "all", "every", "any", "handle all edge cases", or similar unbounded language without a defined scope
  • Identify criteria that could be argued as met regardless of implementation quality — if a criterion can always be claimed as passed, it provides no verification value
  • Check whether required input specifications are present — a criterion referencing "the data" without defining what data is untestable

Key Evaluation Questions

Criterion specificity (always applicable):

  • Measurability: For each Acceptance Criterion, is there a procedure that would produce a definitive pass or fail? (Watch for: "should be fast", "should be intuitive", "should handle errors correctly" — subjective terms with no defined threshold.)
  • Scope: Does the criterion specify the input, precondition, or context required to verify it? (Watch for: "the system processes the request" without stating what request, under what conditions.)
  • Completeness: Do the criteria collectively cover the intent in the Summary, or are there implied requirements not captured in any criterion? (Watch for: Summary describing three behaviours but only one criterion.)

Kind-specific verification (based on work item kind):

  • Story framing: Are criteria expressed as observable behaviours rather than implementation instructions? (Watch for: "use a database index" instead of "search results return within 200ms for queries over 1M records".)
  • Bug reproduction: Is the bug's trigger fully specified — the exact input, the exact action, the expected result, and the actual result? (Watch for: "clicking save causes an error" with no detail on which save action, what data, or what error.)
  • Spike exit criteria: Are the deliverables concrete — a named document, specific benchmark results, an explicit decision recorded somewhere? (Watch for: "have a good understanding", "explore options", "figure out the best approach".)

Unbounded language (always applicable):

  • Scope creep language: Do any criteria use "all", "any", "every", "handle all cases", or similar unbounded terms without a defined scope? (Watch for: "all edge cases are handled", "every user scenario is supported".)
  • Tautological criteria: Could a criterion be argued as always met? (Watch for: "the feature works", "the implementation is correct", "no regressions are introduced".)

Important Guidelines

  • Do not read source code or run codebase exploration agents — work item content is the sole artefact under review
  • Rate confidence on each finding — distinguish definite failures (a criterion with no measurable outcome) from judgements (a criterion that could be interpreted as adequate by a generous reader)
  • Be constructive — when a criterion is untestable, suggest a concrete rephrasing that would make it testable, including a specific threshold or example if helpful
  • Do not require Given/When/Then format explicitly — any unambiguous specification of precondition, action, and expected outcome is acceptable; flag the missing component, not the missing keyword
  • Consider the work item kind — a spike with "produce a 1-page decision memo" as exit criteria is adequately testable; do not over-apply story criteria to other kinds

What NOT to Do

  • Don't assess whether sections exist or are populated — that is the completeness lens
  • Don't flag ambiguous language, unclear referents, or undefined terms — that is the clarity lens
  • Don't assess scope appropriateness or dependency graph completeness — those are the scope and dependency lenses
  • Don't read source code, run codebase exploration agents, or make inferences about the implementation beyond what the work item explicitly states
  • Don't require a specific test framework, format, or methodology — assess whether the specification is verifiable, not how it will be verified

Remember: You're evaluating whether the specification gives a tester — or any verifier — everything they need to confirm the work is done correctly. A testable specification leaves no room for "this could be interpreted either way" when the test is run.

Signals

GitHub stars
31
Forks
1
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
testability
Source
github.com/atomicinnovation/accelerator