---
name: AC Criteria Validator
slug: ac-criteria-validator
category: Quality
description: AC Criteria Validator checks implemented features against acceptance criteria and reports whether they pass. Use it to verify test results, code completeness, and other feature completion checks.
github: "https://github.com/majiayu000/claude-skill-registry/tree/main/skills/agent/ac-criteria-validator"
language: HTML
stars: 575
forks: 88
install: "npx degit https://github.com/majiayu000/claude-skill-registry/tree/main/skills/agent/ac-criteria-validator ~/.claude/skills/ac-criteria-validator"
installs_to: ~/.claude/skills/ac-criteria-validator
source_path: skills/agent/ac-criteria-validator/SKILL.md
collection_size: 23
category_size: 1354
collection_url: "https://dirskills.com/collections/majiayu000/claude-skill-registry"
added: 2026-08-25T05:14:11.254Z
last_synced: 2026-08-25T05:14:11.254Z
canonical_url: "https://dirskills.com/skills/ac-criteria-validator"
---

# AC Criteria Validator

AC Criteria Validator checks implemented features against acceptance criteria and reports whether they pass. Use it to verify test results, code completeness, and other feature completion checks.

**Install:**

```bash
npx degit https://github.com/majiayu000/claude-skill-registry/tree/main/skills/agent/ac-criteria-validator ~/.claude/skills/ac-criteria-validator
```

## README

# 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

```python
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

```json
{
  "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

```yaml
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.
