Requirement Consistency Analysis Skill: Compare Terms, States, and Rules Across Artifacts
A product can fail before code is written when one document calls a state “paid,” another calls it “captured,” and a third treats both as terminal.
Why this Skill is needed
The Requirement Consistency Analysis Skill compares artifacts using stable keys while preserving source and version boundaries. It distinguishes aligned, inconsistent, and conflict relations from assessed, missing, stale, and unassessed evidence states.
What the Skill does
Similar words are not automatically synonyms; the comparison must establish that the artifacts refer to the same object and scope.
Use this Skill when PRDs, stories, API contracts, prototypes, technical notes, or acceptance criteria describe the same flow with different terms, identifiers, formats, states, rules, or behavior.
A good comparison gives each RC finding a source pair, comparison key, relation, evidence status, scope or version, impact, owner, action, and validation method.
Use it when multiple artifacts should describe one actor, field, state transition, or outcome before implementation or integration testing.
What it does not do
The Requirement Consistency Analysis Skill can organize material, evidence, and next actions for Comparison key. It does not replace:
- Confirmation of rules, scope, and risk by the accountable domain owner.
- A real environment, account, dataset, log, or run record; static analysis does not become runtime evidence by itself.
- Authorization for release, compliance, production actions, or residual-risk acceptance.
- A Human decision when supplied sources conflict.
What it checks
The value of this Skill is not another keyword list. It connects each focus area to an observable input, a judgment, and a way to close the loop. Start with a small matrix based on the source Skill’s output contract:
| Focus | Question before analysis | Handoff output |
|---|---|---|
| Comparison key | The field, state, rule, or behavior being compared | Stable identifier |
| Relation | Aligned, inconsistent, or conflict | Separate from evidence status |
| Evidence state | Assessed, missing, stale, or unassessed | Source and version |
| Action | Owner question, close condition, and validation | No silent merge |
If a row has only a conventional expectation and no source or validation method, keep it open instead of turning it into a pass.
Audit inputs before you start
Before analyzing Comparison key, classify the input into six evidence states. A gap is not automatically a failure, but it must not disappear inside the conclusion.
| State | Meaning | How this Skill should handle it |
|---|---|---|
| known | Directly supported by the supplied material | Keep the source, version, and time with the judgment |
| missing | Needed for this pass but not supplied | Name the smallest evidence action and limit the conclusion |
| conflicting | Sources disagree | Show both sources and route the conflict to an owner |
| stale | Present but outside the relevant version or time window | Mark freshness; old evidence is not current proof |
| out_of_scope | Related but excluded from this pass | Keep the boundary explicit |
| assumptions | Temporarily adopted to continue analysis | State how and when the assumption will be checked |
Keep the input version, scope, environment, evidence locations, and accountable owner together. Without a run record, deliver analysis, design, or a validation plan—not an execution pass.
From problem to structured Finding
Connect the source, scope, evidence state, analysis, owner, action, close condition, and validation before writing the conclusion. The case below keeps this Skill’s identifier and domain context.
Keep the decision layers separate
For Comparison key, do not compress four different kinds of language into “recommended to pass”:
| Layer | How to write it | Application here |
|---|---|---|
| Fact | What the supplied material directly shows | Cite the source, version, input, or run record for the focus |
| Evidence-backed Inference | What several facts support together | Show the inference chain and retain uncertainty |
| Recommendation | The smallest next action | Name the evidence, review, execution, or regression path |
| Human Decision | What an accountable person must decide | Leave scope, risk acceptance, resources, and release meaning to the owner |
A complete case
This case follows Input, Analysis, Finding, Decision, and Validation. When material is incomplete, keep missing, conflicting, or assumptions visible instead of turning them into a pass.
Input
| Material | What to provide | What to do when it is missing |
|---|---|---|
| Artifact set | PRD, API contract, prototype, acceptance criteria, and technical note | State which artifact is missing |
| Comparison scope | Flow, actor, field, state, platform, tenant, version, and effective time | Do not compare across unknown boundaries |
| Stable keys | Field, transition, business rule, identifier, or observable outcome | Create a key before comparing wording |
| Evidence | Source locations, decisions, implementation notes, and examples | Keep absent evidence distinct from inconsistency |
Use a request like this:
Use the requirement-consistency-analysis Skill.
Task: Compare the checkout PRD, payment API contract, and acceptance criteria for address fields, payment states, and refund behavior.
Inputs: [artifact versions, source locations, platform scope, examples, implementation notes]
Scope: [web checkout, card payments, release R25.1]
Constraints: [do not invent state meanings or merge conflicts]
Produce RC-## findings with source pair, stable key, relation, evidence status, impact, owner, open question, close condition, and validation method. Route explicit mutually exclusive rules to conflict detection by Skill name only.
Analysis
Use the input, matrix, and evidence state to form the judgment before writing the Finding; keep missing material as a gap.
Finding
Focused example: Compare payment states without treating names as synonyms
The PRD says an order is paid after authorization, the API returns authorized, and acceptance criteria expect captured before confirmation. The Skill should preserve all sources, compare the state transition and timing, and classify the relation only after scope and implementation meaning are checked. It should not choose the most familiar label as canonical.
The result shows relationships among supplied artifacts. It cannot prove runtime state behavior, and static agreement does not replace an API or integration test.
Example finding: turn one problem into a handoff
The field example below shows the recording pattern; it is not an execution result.
If the supplied material cannot prove that Comparison key meets its contract, write the finding like this. It does not invent the missing rule or turn missing evidence into a failure.
| Field | Example wording |
|---|---|
| Source and scope | Record the requirement, version, environment, and the concrete object for Comparison key |
| Finding | The condition or result for Comparison key is not yet traceable to evidence |
| Evidence state | missing / assumptions; use conflicting when sources disagree |
| Impact and priority | Name the affected user, journey, or delivery decision without inflating severity |
| Owner and Human decision | Ask the product, engineering, security, or test owner to confirm the rule and trade-off |
| Action and close condition | Add the smallest missing evidence; close only when source, judgment, and owner can be reviewed |
| Validation | Name one repeatable check, query, or run and retain the raw artifact |
The point is to let the next person walk from the finding back to the source and run an action that can change the decision.
Decision
The accountable owner confirms the decision question and risk trade-off; the Skill does not make that choice.
Validation
Before closing the finding, run the stated validation and retain the raw artifact. Without an execution record, the status remains unverified.
How a Finding enters the next stage
Handoff output
| Output field | Why it exists | Example status |
|---|---|---|
| Comparison key | The field, state, rule, or behavior being compared | Stable identifier |
| Relation | Aligned, inconsistent, or conflict | Separate from evidence status |
| Evidence state | Assessed, missing, stale, or unassessed | Source and version |
| Action | Owner question, close condition, and validation | No silent merge |
Every conclusion should point to a source, evidence state, and next action. If evidence is missing, use pending, blocked, unassessed, or NOT_SCORED instead of filling the gap with confidence.
Next-stage route
At minimum, hand off the source, evidence state, owner, close condition, and validation action; the next-stage conclusion remains bounded by the evidence state.
How to prepare better input
Provide all artifacts with versions and locations, comparison scope, stable keys, examples, and known decisions. When only one source exists, mark missing comparison evidence instead of calling it consistent.
A useful handoff includes input versions, scope, time window, evidence index, assumptions, Human decision boundary, and the smallest validation action.
Working with other Skills
- Requirement Conflict Detection:routes mutually exclusive rules without choosing precedence.
- Requirement Traceability Analysis:links requirements to downstream evidence.
- Requirement Quality Review:provides the broader readiness view.
Common traps
- Treating similar labels as the same object without checking state, timing, or actor.
- Calling a missing second artifact consistent because no difference was found.
- Downgrading a true conflict into an inconsistency to make the report cleaner.
Install and invoke
npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/requirement-consistency-analysis -g
Use the requirement-consistency-analysis Skill.
Include objective, scope, versions, evidence paths, constraints, and decision boundary.
Audit inputs first, preserve evidence states, and finish with owner, close condition, and validation method.
FAQ
What is the difference between relation and evidence status?
Relation describes how two statements relate. Evidence status describes whether the comparison is sufficiently supported, fresh, or missing.
Should the Skill create a canonical glossary?
It can propose a question or candidate mapping, but approved terminology and state meaning remain a Human or product decision.
The Skill is most useful when attached to one real project artifact and kept with its source evidence. Start narrow, validate the uncertain part, and expand only when evidence supports it.
References
Source Skill and execution contract
The complete execution contract lives in Requirement Consistency Analysis prompt. The source directory may also contain evaluation cases and supporting material.
Static plans, file presence, and dry runs keep their evidence state. They do not become runtime proof, an all-passed claim, or release approval.
Reference links
- Requirement Consistency Analysis prompt:https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/requirement-consistency-analysis/prompts/requirement-consistency-analysis.md
- Requirement Consistency Analysis Skill source:https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/requirement-consistency-analysis
- Requirement Consistency Analysis details:https://inaodeng.com/en/qaskills/requirement-consistency-analysis/
- Awesome QA Skills on GitHub:https://github.com/naodeng/awesome-qa-skills