Learn-skills.dev ac-criteria-validator

Validate acceptance criteria and feature completion. Use when checking if features pass, validating test results, verifying acceptance criteria, or determining feature completion status.

install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/adaptationio/skrillz/ac-criteria-validator" ~/.claude/skills/neversight-learn-skills-dev-ac-criteria-validator && rm -rf "$T"
manifest: data/skills-md/adaptationio/skrillz/ac-criteria-validator/SKILL.md
source content

AC Criteria Validator

Validate acceptance criteria and determine feature completion.

Purpose

Validates that implemented features meet their acceptance criteria, determining when

passes
can transition from
false
to
true
.

Quick Start

from scripts.criteria_validator import CriteriaValidator

validator = CriteriaValidator(project_dir)
result = await validator.validate_feature("auth-001")
print(result.passes)  # True/False
print(result.criteria_results)

Validation Result

{
  "feature_id": "auth-001",
  "passes": true,
  "criteria_results": [
    {
      "criterion": "Valid registration creates user",
      "passed": true,
      "evidence": "test_valid_registration passed",
      "method": "test_execution"
    },
    {
      "criterion": "Invalid email shows error",
      "passed": true,
      "evidence": "test_invalid_email passed",
      "method": "test_execution"
    }
  ],
  "test_summary": {
    "total": 5,
    "passed": 5,
    "failed": 0,
    "coverage": 87.5
  },
  "validated_at": "2024-01-15T10:30:00Z"
}

Validation Methods

Test Execution

  • Run associated test files
  • Check all tests pass
  • Verify coverage threshold
  • Capture test output

Code Analysis

  • Check implementation exists
  • Verify function signatures
  • Validate error handling
  • Check documentation

Manual Criteria

  • UI/UX requirements
  • Performance benchmarks
  • Security requirements
  • Accessibility standards

Validation Rules

validation:
  require_all_tests_pass: true
  minimum_coverage: 80
  require_no_lint_errors: true
  require_type_checks: true

  custom_rules:
    - name: "no_console_logs"
      pattern: "console\\.log"
      severity: "warning"

Workflow

  1. Load: Get feature and criteria
  2. Discover: Find related tests
  3. Execute: Run test suite
  4. Analyze: Check each criterion
  5. Report: Return validation result

State Transition

CRITICAL: passes can ONLY transition false → true

Before validation:
  {"passes": false, "status": "in_progress"}

After successful validation:
  {"passes": true, "status": "completed"}

NEVER:
  {"passes": true} → {"passes": false}

Integration

  • Input: Feature from
    ac-state-tracker
  • Uses:
    ac-test-generator
    test files
  • Output: Validation for state update

API Reference

See

scripts/criteria_validator.py
for full implementation.