
Qe Requirements Validation
- 32 installs
- 433 repo stars
- Updated August 4, 2026
- proffesor-for-testing/agentic-qe
qe requirements validation is a Claude Code skill for ai & agent building.
About
qe requirements validation is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- qe requirements validation
- AI & Agent Building
- AI-coding skill
Qe Requirements Validation by the numbers
- 32 all-time installs (skills.sh)
- Ranked #9,101 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill qe-requirements-validationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 32 |
|---|---|
| repo stars | ★ 433 |
| Last updated | August 4, 2026 |
| Repository | proffesor-for-testing/agentic-qe ↗ |
How do I helps with ai & agent building tasks.?
Helps with ai & agent building tasks.
Who is it for?
Best when you're working on ai & agent building and need structured help with qe requirements validation.
Skip if: Teams with no ai & agent building needs, or anyone wanting a generic chat assistant without this specific workflow.
When should I use this skill?
When you need to helps with ai & agent building tasks., or when qe requirements validation is a claude code skill for ai & agent building.
What you get
Structured output aligned to qe requirements validation: qe requirements validation, AI & Agent Building.
Files
QE Requirements Validation
Purpose
Guide the use of v3's requirements validation capabilities including acceptance criteria parsing, requirements traceability, BDD scenario generation, and coverage gap identification.
Activation
- When validating requirements
- When tracing requirements to tests
- When generating BDD scenarios
- When assessing requirements coverage
- When reviewing acceptance criteria
Quick Start
# Parse acceptance criteria
aqe requirements parse --source jira --project MYAPP
# Build traceability matrix
aqe requirements trace --requirements reqs/ --tests tests/
# Generate BDD scenarios
aqe requirements bdd --story US-123 --output features/
# Check requirements coverage
aqe requirements coverage --sprint currentAgent Workflow
// Requirements validation
Task("Validate acceptance criteria", `
Review acceptance criteria for sprint stories:
- Check SMART criteria (Specific, Measurable, Achievable, Relevant, Testable)
- Identify ambiguous requirements
- Flag missing edge cases
- Suggest improvements
`, "qe-acceptance-criteria")
// Traceability matrix
Task("Build traceability", `
Create requirements traceability matrix:
- Map user stories to test cases
- Identify untested requirements
- Find orphan tests (no linked requirement)
- Calculate coverage metrics
`, "qe-traceability-builder")Requirements Operations
1. Acceptance Criteria Validation
await acceptanceCriteria.validate({
source: {
type: 'jira',
project: 'MYAPP',
stories: 'sprint=current'
},
validation: {
specific: true,
measurable: true,
achievable: true,
relevant: true,
testable: true
},
output: {
score: true,
issues: true,
suggestions: true
}
});2. Traceability Matrix
await traceabilityBuilder.build({
requirements: {
source: 'jira',
types: ['story', 'task', 'bug']
},
artifacts: {
tests: 'tests/**/*.test.ts',
code: 'src/**/*.ts',
documentation: 'docs/**/*.md'
},
output: {
matrix: true,
coverage: true,
gaps: true,
orphans: true
}
});3. BDD Scenario Generation
await bddGenerator.generate({
requirements: userStory,
format: 'gherkin',
scenarios: {
happyPath: true,
edgeCases: true,
errorCases: true,
dataVariations: true
},
output: {
featureFile: true,
stepDefinitions: 'skeleton'
}
});4. Coverage Analysis
await requirementsCoverage.analyze({
scope: 'sprint-23',
metrics: {
requirementsCovered: true,
testCasesCoverage: true,
automationCoverage: true,
riskAssessment: true
},
report: {
summary: true,
details: true,
recommendations: true
}
});Traceability Matrix
interface TraceabilityMatrix {
requirements: {
id: string;
title: string;
type: string;
priority: string;
status: string;
linkedTests: string[];
linkedCode: string[];
coverage: 'full' | 'partial' | 'none';
}[];
tests: {
id: string;
name: string;
type: 'unit' | 'integration' | 'e2e';
linkedRequirements: string[];
automated: boolean;
}[];
coverage: {
requirementsCovered: number;
requirementsPartial: number;
requirementsUncovered: number;
orphanTests: number;
};
gaps: {
requirement: string;
missingCoverage: string[];
risk: 'high' | 'medium' | 'low';
}[];
}BDD Integration
# Generated feature file
Feature: User Registration
As a new user
I want to create an account
So that I can access the platform
@happy-path
Scenario: Successful registration with valid details
Given I am on the registration page
When I enter valid email "user@example.com"
And I enter valid password "SecurePass123!"
And I click the register button
Then I should see a success message
And I should receive a confirmation email
@edge-case
Scenario: Registration with existing email
Given a user exists with email "existing@example.com"
When I try to register with email "existing@example.com"
Then I should see an error "Email already registered"Requirements Quality
quality_checks:
acceptance_criteria:
has_given_when_then: preferred
is_testable: required
is_measurable: required
no_ambiguity: required
user_story:
follows_template: "As a <role>, I want <feature>, so that <benefit>"
has_acceptance_criteria: required
estimated: preferred
completeness:
edge_cases_identified: required
error_scenarios_covered: required
non_functional_considered: preferredSprint Integration
await requirementsValidator.sprintReview({
sprint: 'current',
checks: {
storiesComplete: true,
criteriaValidated: true,
testsLinked: true,
coverageAdequate: true
},
gates: {
minCoverage: 80,
maxUntested: 2,
requireDemo: true
}
});Coordination
Primary Agents: qe-acceptance-criteria, qe-traceability-builder, qe-bdd-specialist Coordinator: qe-requirements-coordinator Related Skills: qe-test-generation, qe-quality-assessment
# =============================================================================
# AQE Skill Evaluation Test Suite: QE Requirements Validation v1.0.0
# =============================================================================
#
# Comprehensive evaluation suite for the qe-requirements-validation skill.
# Tests requirements traceability, acceptance criteria validation, BDD
# scenario generation, and coverage gap identification.
#
# Schema: .claude/skills/.validation/schemas/skill-eval.schema.json
# Validator: .claude/skills/qe-requirements-validation/scripts/validate-config.json
#
# Coverage:
# - Acceptance criteria validation (SMART criteria)
# - Requirements traceability matrix
# - BDD scenario generation (Gherkin)
# - Requirements coverage analysis
# - Gap identification and risk assessment
#
# =============================================================================
skill: qe-requirements-validation
version: 1.0.0
description: >
Comprehensive evaluation suite for the qe-requirements-validation skill.
Tests acceptance criteria validation with SMART principles, requirements
traceability matrix construction, BDD scenario generation, requirements
coverage analysis, and comprehensive gap identification.
# =============================================================================
# Multi-Model Configuration
# =============================================================================
models_to_test:
- claude-sonnet-4-6 # Primary (high accuracy expected)
- claude-haiku-4-5 # Fast model (minimum quality floor)
# =============================================================================
# MCP Integration Configuration
# =============================================================================
mcp_integration:
enabled: true
namespace: skill-validation
query_patterns: true
track_outcomes: true
store_patterns: true
share_learning: true
update_quality_gate: true
target_agents:
- qe-learning-coordinator
- qe-queen-coordinator
- qe-acceptance-criteria
- qe-bdd-specialist
# =============================================================================
# ReasoningBank Learning Configuration
# =============================================================================
learning:
store_success_patterns: true
store_failure_patterns: true
pattern_ttl_days: 90
min_confidence_to_store: 0.7
cross_model_comparison: true
# =============================================================================
# Result Format Configuration
# =============================================================================
result_format:
json_output: true
markdown_report: true
include_raw_output: false
include_timing: true
include_token_usage: true
# =============================================================================
# Environment Setup
# =============================================================================
setup:
required_tools:
- jq
environment_variables:
REQUIREMENTS_SOURCE: "jira"
BDD_FORMAT: "gherkin"
MIN_COVERAGE_THRESHOLD: "80"
fixtures: []
# =============================================================================
# TEST CASES
# =============================================================================
test_cases:
# ---------------------------------------------------------------------------
# CATEGORY: Acceptance Criteria Validation
# ---------------------------------------------------------------------------
- id: tc001_smart_criteria_validation
description: "Validate acceptance criteria against SMART principles"
category: acceptance_criteria
priority: critical
input:
prompt: |
Validate these acceptance criteria for "User Registration":
CRITERIA 1: "User should be able to register"
- Specific? NO (vague)
- Measurable? NO
- Achievable? UNCLEAR
- Relevant? YES
- Testable? NO
VERDICT: REJECT - too vague, rewrite
CRITERIA 2: "User can register with valid email and password matching requirements (8+ chars, 1 uppercase, 1 number)"
- Specific? YES (exactly what's needed)
- Measurable? YES (8 chars, regex)
- Achievable? YES (standard requirements)
- Relevant? YES (security requirement)
- Testable? YES (can automate)
VERDICT: ACCEPT
For each criteria, validate SMART and provide feedback.
context:
story_id: "US-123"
validation_type: "SMART"
expected_output:
must_contain:
- "SMART"
- "specific"
- "measurable"
- "testable"
- "criteria"
must_not_contain:
- "error"
- "unable"
severity_classification: critical
finding_count:
min: 1
validation:
schema_check: true
keyword_match_threshold: 0.8
reasoning_quality_min: 0.75
- id: tc002_ambiguity_detection
description: "Detect ambiguous or untestable requirements"
category: acceptance_criteria
priority: critical
input:
prompt: |
Identify ambiguities in these acceptance criteria:
1. "System should respond quickly to user actions"
AMBIGUITIES: What's "quickly"? < 1s? < 500ms? User-dependent?
2. "User should be able to search for products"
AMBIGUITIES: What fields? Exact match or fuzzy? Case-sensitive?
Include out-of-stock items? How many results max?
3. "Checkout process should be user-friendly"
AMBIGUITIES: What's "user-friendly"? Can't be tested directly.
For each, suggest improved, unambiguous criteria.
context:
detect_ambiguities: true
suggest_improvements: true
expected_output:
must_contain:
- "ambiguity"
- "ambiguous"
- "clarify"
- "improve"
- "criteria"
finding_count:
min: 1
validation:
schema_check: true
keyword_match_threshold: 0.8
- id: tc003_edge_case_identification
description: "Identify missing edge cases in acceptance criteria"
category: acceptance_criteria
priority: high
input:
prompt: |
For user registration criteria, identify missing edge cases:
COVERED: Happy path (valid email/password)
MISSING:
1. Existing email -> should show error
2. Invalid email format -> reject
3. Password too weak -> reject
4. Concurrent registration attempts -> handle gracefully
5. Email verification link expires -> reissue
6. Database unavailable -> show error message
7. Spam registration -> rate limit
8. GDPR compliance -> data retention
What's critical vs nice-to-have?
context:
identify_edge_cases: true
prioritize: true
expected_output:
must_contain:
- "edge case"
- "missing"
- "error"
- "critical"
- "edge"
severity_classification: high
validation:
schema_check: true
keyword_match_threshold: 0.75
# ---------------------------------------------------------------------------
# CATEGORY: Traceability Matrix
# ---------------------------------------------------------------------------
- id: tc004_requirements_traceability_matrix
description: "Build traceability matrix linking requirements to tests"
category: traceability
priority: critical
input:
prompt: |
Build traceability matrix for User Management sprint:
REQUIREMENT: US-100 "User Registration"
TEST CASES:
- TC-001: Valid email/password registration
- TC-002: Reject existing email
- TC-003: Reject weak password
- TC-004: Email verification
COVERAGE: FULL
REQUIREMENT: US-101 "Password Reset"
TEST CASES:
- TC-010: Request password reset
- TC-011: Reset with valid token
TEST CASES MISSING:
- Invalid/expired token handling
COVERAGE: PARTIAL
REQUIREMENT: US-102 "User Profile"
TEST CASES: NONE
COVERAGE: NONE -> HIGH RISK
OUTPUT: Matrix with coverage summary
context:
include_gaps: true
risk_assessment: true
expected_output:
must_contain:
- "traceability"
- "matrix"
- "coverage"
- "test"
- "requirement"
must_not_contain:
- "error"
- "fail"
severity_classification: critical
validation:
schema_check: true
keyword_match_threshold: 0.8
reasoning_quality_min: 0.75
- id: tc005_coverage_gap_analysis
description: "Identify untested requirements and orphan tests"
category: traceability
priority: critical
input:
prompt: |
Analyze requirements coverage:
GAPS:
1. Untested requirements: US-104, US-107 (3 requirements)
2. Orphan tests: TC-050, TC-051 (2 tests with no linked requirement)
3. Partial coverage: 5 requirements with < 100% test coverage
RISK ASSESSMENT:
- US-104 "Billing Integration" - CRITICAL path, untested
- US-107 "Admin Dashboard" - INTERNAL USE, lower risk
RECOMMENDATIONS:
1. Prioritize tests for US-104 immediately
2. Review US-107 requirements carefully
3. Investigate orphan tests for removal or link
How would you prevent this in future?
context:
gap_analysis: true
risk_assessment: true
prevention: true
expected_output:
must_contain:
- "gap"
- "untested"
- "orphan"
- "critical"
- "coverage"
finding_count:
min: 1
validation:
schema_check: true
keyword_match_threshold: 0.75
# ---------------------------------------------------------------------------
# CATEGORY: BDD Scenario Generation
# ---------------------------------------------------------------------------
- id: tc006_bdd_scenario_generation
description: "Generate BDD scenarios from user stories"
category: bdd
priority: critical
input:
prompt: |
Generate BDD scenarios for:
"As a user, I want to reset my password so that I can regain access if forgotten"
HAPPY PATH:
Scenario: Successful password reset
Given I am on the login page
And I have forgotten my password
When I click "Forgot Password"
And I enter my email "user@example.com"
And I submit the form
Then I should see "Check your email"
And I should receive a reset email
And the reset link should be valid for 24 hours
EDGE CASES:
Scenario: Reset with non-existent email
Given I am on the password reset page
When I enter email "nonexistent@example.com"
And I submit the form
Then I should see confirmation message (for security, don't reveal if email exists)
Scenario: Reset link expired
Given I have a password reset email
And the reset link is older than 24 hours
When I click the reset link
Then I should see "Link expired"
And I should be offered to request a new one
Generate all scenarios in Gherkin format.
context:
story: "Password Reset"
format: "gherkin"
include_edge_cases: true
expected_output:
must_contain:
- "Scenario"
- "Given"
- "When"
- "Then"
- "Feature"
must_not_contain:
- "error"
- "unable"
severity_classification: critical
validation:
schema_check: true
keyword_match_threshold: 0.8
reasoning_quality_min: 0.75
- id: tc007_step_definition_generation
description: "Generate Gherkin step definitions and skeleton code"
category: bdd
priority: high
input:
prompt: |
For BDD scenario, generate step definitions:
GHERKIN:
Given I am on the password reset page
When I enter email "user@example.com"
And I submit the form
Then I should see "Check your email"
STEP DEFINITIONS (skeleton):
```javascript
Given('I am on the password reset page', async () => {
// Implementation: navigate to /forgot-password
});
When('I enter email {string}', async (email) => {
// Implementation: fill email field and submit
});
Then('I should see {string}', async (message) => {
// Implementation: assert message is visible
});
```
How would you generate these from scenarios?
context:
generate_skeleton: true
include_comments: true
expected_output:
must_contain:
- "Given"
- "When"
- "Then"
- "step"
- "definition"
finding_count:
min: 1
validation:
schema_check: true
keyword_match_threshold: 0.75
# ---------------------------------------------------------------------------
# CATEGORY: Requirements Quality
# ---------------------------------------------------------------------------
- id: tc008_requirement_quality_scoring
description: "Score requirement quality using criteria"
category: quality
priority: high
input:
prompt: |
Score requirement quality for "Payment Processing":
CRITERIA:
1. Clear acceptance criteria (Y/N)
2. Is testable (Y/N)
3. Is measurable (Y/N)
4. No ambiguity (Y/N)
5. Covers edge cases (Y/N)
6. Is estimated (Y/N)
7. Has clear priority (Y/N)
8. Dependencies identified (Y/N)
SCORE: 6/8 = 75% (GOOD)
GAPS:
- Missing edge cases for network failures
- Dependency on payment provider API not clear
RECOMMENDATION: 75% quality, acceptable but could improve
context:
requirement_id: "US-200"
scoring_criteria: "all"
expected_output:
must_contain:
- "score"
- "quality"
- "criteria"
- "gap"
- "recommend"
severity_classification: high
validation:
schema_check: true
keyword_match_threshold: 0.75
# ---------------------------------------------------------------------------
# CATEGORY: Sprint Integration
# ---------------------------------------------------------------------------
- id: tc009_sprint_requirements_review
description: "Review requirements before sprint execution"
category: sprint
priority: high
input:
prompt: |
Sprint planning for Sprint 23 - Pre-execution checklist:
CHECKLIST:
1. All user stories have acceptance criteria? YES (12/12)
2. Criteria are SMART? PARTIAL (10/12 full, 2/12 partial)
3. Tests defined? PARTIAL (8/12 test cases defined)
4. Dependencies clear? YES
5. Estimates reasonable? MOSTLY (1 story seems underestimated)
6. Team capacity ok? YES
7. Blockers identified? NO (none expected)
8. Acceptance ready? MOSTLY (2 stories need clarification)
READINESS: 85% (GOOD - proceed with minor clarifications)
What's the go/no-go decision?
context:
sprint_number: 23
readiness_check: true
expected_output:
must_contain:
- "readiness"
- "checklist"
- "go"
- "criteria"
- "sprint"
finding_count:
min: 1
validation:
schema_check: true
keyword_match_threshold: 0.75
# ---------------------------------------------------------------------------
# CATEGORY: Negative Tests
# ---------------------------------------------------------------------------
- id: tc010_requirements_quality_improvement
description: "Provide actionable improvements for poor requirements"
category: negative
priority: high
input:
prompt: |
This requirement needs improvement:
"As a user, I want to manage my data so I can control my information"
PROBLEMS:
1. Acceptance criteria missing completely
2. "manage my data" is too vague
3. Not testable as stated
4. No edge cases identified
5. Too broad for one story
IMPROVEMENTS:
Split into:
- "User can view their data" (specific)
- "User can update their data" (specific)
- "User can delete their data" (specific)
- "User can export their data" (specific)
For each, add SMART criteria and test cases.
context:
requirement: "data_management"
improvement_guidance: true
expected_output:
must_contain:
- "improvement"
- "specific"
- "testable"
- "criteria"
- "split"
finding_count:
min: 1
validation:
schema_check: true
allow_partial: true
# =============================================================================
# SUCCESS CRITERIA
# =============================================================================
success_criteria:
pass_rate: 0.8
critical_pass_rate: 1.0
avg_reasoning_quality: 0.75
max_execution_time_ms: 300000
cross_model_variance: 0.15
# =============================================================================
# METADATA
# =============================================================================
metadata:
author: "qe-acceptance-criteria"
created: "2026-02-02"
last_updated: "2026-02-02"
coverage_target: >
SMART criteria validation (Specific, Measurable, Achievable, Relevant,
Testable), ambiguity detection with improvement suggestions, edge case
identification, requirements traceability matrix construction with gap
analysis, BDD Gherkin scenario generation with step definitions, requirement
quality scoring, sprint readiness checklist, and comprehensive quality
improvement recommendations.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://agentic-qe.dev/schemas/qe-requirements-validation-output.json",
"title": "AQE Requirements Validation Skill Output Schema",
"description": "Schema for requirements validation skill output. Includes requirements analysis, traceability matrix, and coverage assessment.",
"type": "object",
"required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
"properties": {
"skillName": {
"type": "string",
"const": "qe-requirements-validation",
"description": "Must be 'qe-requirements-validation'"
},
"version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$",
"description": "Semantic version of the skill"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp of output generation"
},
"status": {
"type": "string",
"enum": ["success", "partial", "failed", "skipped"],
"description": "Overall execution status"
},
"trustTier": {
"type": "integer",
"const": 3,
"description": "Trust tier 3 indicates full validation with eval suite"
},
"output": {
"type": "object",
"required": ["summary", "requirements", "traceability"],
"properties": {
"summary": {
"type": "string",
"minLength": 50,
"maxLength": 2000,
"description": "Human-readable summary of requirements validation"
},
"requirements": {
"$ref": "#/$defs/requirementsAnalysis",
"description": "Requirements analysis results"
},
"traceability": {
"$ref": "#/$defs/traceabilityMatrix",
"description": "Requirements traceability matrix"
},
"coverage": {
"$ref": "#/$defs/requirementsCoverage",
"description": "Requirements coverage assessment"
},
"testability": {
"$ref": "#/$defs/testabilityAssessment",
"description": "Testability assessment"
},
"gaps": {
"type": "array",
"items": {
"$ref": "#/$defs/requirementGap"
},
"maxItems": 100,
"description": "Identified gaps in requirements"
},
"recommendations": {
"type": "array",
"items": {
"$ref": "#/$defs/recommendation"
},
"maxItems": 50
},
"bddScenarios": {
"type": "array",
"items": {
"$ref": "#/$defs/bddScenario"
},
"maxItems": 100,
"description": "Generated BDD scenarios"
},
"artifacts": {
"type": "array",
"items": {
"$ref": "#/$defs/artifact"
},
"maxItems": 20
}
}
},
"metadata": {
"$ref": "#/$defs/metadata"
},
"validation": {
"$ref": "#/$defs/validationResult"
},
"learning": {
"$ref": "#/$defs/learningData"
}
},
"$defs": {
"requirementsAnalysis": {
"type": "object",
"required": ["total", "analyzed"],
"properties": {
"total": {
"type": "integer",
"minimum": 0,
"description": "Total requirements found"
},
"analyzed": {
"type": "integer",
"minimum": 0,
"description": "Requirements analyzed"
},
"valid": {
"type": "integer",
"minimum": 0,
"description": "Valid requirements"
},
"incomplete": {
"type": "integer",
"minimum": 0,
"description": "Incomplete requirements"
},
"ambiguous": {
"type": "integer",
"minimum": 0,
"description": "Ambiguous requirements"
},
"untestable": {
"type": "integer",
"minimum": 0,
"description": "Untestable requirements"
},
"items": {
"type": "array",
"items": {
"$ref": "#/$defs/requirementItem"
},
"description": "Individual requirement analysis"
}
}
},
"requirementItem": {
"type": "object",
"required": ["id", "title", "status"],
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Z]{2,10}-\\d+$",
"description": "Requirement ID (e.g., REQ-001, US-123)"
},
"title": {
"type": "string",
"minLength": 5,
"maxLength": 500
},
"type": {
"type": "string",
"enum": ["story", "epic", "task", "bug", "requirement", "feature"],
"description": "Requirement type"
},
"priority": {
"type": "string",
"enum": ["critical", "high", "medium", "low"]
},
"status": {
"type": "string",
"enum": ["valid", "incomplete", "ambiguous", "untestable", "duplicate"]
},
"investScore": {
"$ref": "#/$defs/investScore",
"description": "INVEST criteria score"
},
"acceptanceCriteria": {
"type": "array",
"items": {
"$ref": "#/$defs/acceptanceCriterion"
}
},
"issues": {
"type": "array",
"items": {
"type": "string"
},
"description": "Issues found"
},
"linkedTests": {
"type": "array",
"items": {
"type": "string"
},
"description": "Linked test IDs"
}
}
},
"investScore": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 0,
"maximum": 6,
"description": "Total INVEST score (0-6)"
},
"independent": {
"type": "boolean",
"description": "Can be tested alone"
},
"negotiable": {
"type": "boolean",
"description": "Not over-specified"
},
"valuable": {
"type": "boolean",
"description": "Delivers value"
},
"estimable": {
"type": "boolean",
"description": "Can estimate effort"
},
"small": {
"type": "boolean",
"description": "Testable in one session"
},
"testable": {
"type": "boolean",
"description": "Clear pass/fail"
}
}
},
"acceptanceCriterion": {
"type": "object",
"required": ["id", "text", "testable"],
"properties": {
"id": {
"type": "string",
"description": "AC identifier"
},
"text": {
"type": "string",
"description": "Acceptance criterion text"
},
"format": {
"type": "string",
"enum": ["given-when-then", "free-form", "checklist"]
},
"testable": {
"type": "boolean",
"description": "Whether AC is testable"
},
"issues": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"traceabilityMatrix": {
"type": "object",
"required": ["completeness"],
"properties": {
"completeness": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Traceability completeness percentage"
},
"requirementToTest": {
"type": "array",
"items": {
"$ref": "#/$defs/traceLink"
},
"description": "Requirement to test mappings"
},
"requirementToCode": {
"type": "array",
"items": {
"$ref": "#/$defs/traceLink"
},
"description": "Requirement to code mappings"
},
"orphanTests": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tests without linked requirements"
},
"untracedRequirements": {
"type": "array",
"items": {
"type": "string"
},
"description": "Requirements without traces"
}
}
},
"traceLink": {
"type": "object",
"required": ["sourceId", "targetIds"],
"properties": {
"sourceId": {
"type": "string",
"description": "Source requirement ID"
},
"targetIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Target test/code IDs"
},
"coverage": {
"type": "string",
"enum": ["full", "partial", "none"],
"description": "Coverage level"
}
}
},
"requirementsCoverage": {
"type": "object",
"required": ["percentage"],
"properties": {
"percentage": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Overall coverage percentage"
},
"covered": {
"type": "integer",
"minimum": 0
},
"partiallyCovered": {
"type": "integer",
"minimum": 0
},
"uncovered": {
"type": "integer",
"minimum": 0
},
"byPriority": {
"type": "object",
"properties": {
"critical": { "type": "number", "minimum": 0, "maximum": 100 },
"high": { "type": "number", "minimum": 0, "maximum": 100 },
"medium": { "type": "number", "minimum": 0, "maximum": 100 },
"low": { "type": "number", "minimum": 0, "maximum": 100 }
}
},
"automationCoverage": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Percentage with automated tests"
}
}
},
"testabilityAssessment": {
"type": "object",
"required": ["score"],
"properties": {
"score": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Overall testability score"
},
"grade": {
"type": "string",
"pattern": "^[A-F][+-]?$"
},
"principles": {
"type": "array",
"items": {
"$ref": "#/$defs/testabilityPrinciple"
},
"description": "Individual principle scores"
},
"blockers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Testability blockers"
}
}
},
"testabilityPrinciple": {
"type": "object",
"required": ["name", "score"],
"properties": {
"name": {
"type": "string",
"enum": [
"controllability", "observability", "isolability",
"separation-of-concerns", "understandability", "automatability",
"heterogeneity", "simplicity", "stability", "information-availability"
]
},
"score": {
"type": "integer",
"minimum": 0,
"maximum": 10
},
"evidence": {
"type": "string"
}
}
},
"requirementGap": {
"type": "object",
"required": ["id", "type", "severity"],
"properties": {
"id": {
"type": "string",
"pattern": "^GAP-\\d{3,6}$"
},
"type": {
"type": "string",
"enum": ["missing", "incomplete", "ambiguous", "conflicting", "untestable"]
},
"severity": {
"type": "string",
"enum": ["critical", "high", "medium", "low"]
},
"description": {
"type": "string"
},
"affectedRequirements": {
"type": "array",
"items": {
"type": "string"
}
},
"recommendation": {
"type": "string"
}
}
},
"bddScenario": {
"type": "object",
"required": ["title", "requirement"],
"properties": {
"title": {
"type": "string"
},
"requirement": {
"type": "string",
"description": "Linked requirement ID"
},
"feature": {
"type": "string"
},
"given": {
"type": "array",
"items": { "type": "string" }
},
"when": {
"type": "array",
"items": { "type": "string" }
},
"then": {
"type": "array",
"items": { "type": "string" }
},
"tags": {
"type": "array",
"items": { "type": "string" }
}
}
},
"recommendation": {
"type": "object",
"required": ["id", "title", "priority"],
"properties": {
"id": {
"type": "string",
"pattern": "^REC-\\d{3,6}$"
},
"title": {
"type": "string",
"minLength": 10,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 2000
},
"priority": {
"type": "string",
"enum": ["critical", "high", "medium", "low"]
},
"effort": {
"type": "string",
"enum": ["trivial", "low", "medium", "high", "major"]
},
"affectedRequirements": {
"type": "array",
"items": { "type": "string" }
}
}
},
"artifact": {
"type": "object",
"required": ["type", "path"],
"properties": {
"type": {
"type": "string",
"enum": ["report", "matrix", "bdd-features", "data", "log"]
},
"path": {
"type": "string",
"maxLength": 500
},
"format": {
"type": "string",
"enum": ["json", "html", "md", "feature", "csv"]
},
"description": {
"type": "string"
}
}
},
"metadata": {
"type": "object",
"properties": {
"executionTimeMs": {
"type": "integer",
"minimum": 0
},
"toolsUsed": {
"type": "array",
"items": { "type": "string" }
},
"agentId": {
"type": "string",
"pattern": "^qe-[a-z][a-z0-9-]*$"
},
"source": {
"type": "string",
"description": "Requirements source (jira, confluence, etc.)"
},
"project": {
"type": "string"
}
}
},
"validationResult": {
"type": "object",
"properties": {
"schemaValid": { "type": "boolean" },
"contentValid": { "type": "boolean" },
"confidence": { "type": "number", "minimum": 0, "maximum": 1 },
"warnings": {
"type": "array",
"items": { "type": "string" },
"maxItems": 20
},
"errors": {
"type": "array",
"items": { "type": "string" },
"maxItems": 20
}
}
},
"learningData": {
"type": "object",
"properties": {
"patternsDetected": {
"type": "array",
"items": { "type": "string" },
"maxItems": 20
},
"reward": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
}
}
{
"skillName": "qe-requirements-validation",
"skillVersion": "1.0.0",
"requiredTools": [
"jq"
],
"optionalTools": [],
"schemaPath": "schemas/output.json",
"requiredFields": [
"skillName",
"status",
"output",
"output.summary",
"output.requirements",
"output.traceability"
],
"requiredNonEmptyFields": [
"output.summary"
],
"mustContainTerms": [
"requirement",
"traceability"
],
"mustNotContainTerms": [
"TODO",
"placeholder",
"FIXME"
],
"enumValidations": {
".status": [
"success",
"partial",
"failed",
"skipped"
]
}
}
Related skills
FAQ
What does qe requirements validation do?
qe requirements validation is a Claude Code skill for ai & agent building.
When should I use qe requirements validation?
When you need to helps with ai & agent building tasks., or when qe requirements validation is a claude code skill for ai & agent building.
What are the main capabilities?
qe requirements validation; AI & Agent Building; AI-coding skill.