ac-criteria-validator
SKILL.md
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
- Load: Get feature and criteria
- Discover: Find related tests
- Execute: Run test suite
- Analyze: Check each criterion
- 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-generatortest files - Output: Validation for state update
API Reference
See scripts/criteria_validator.py for full implementation.