A test cannot be reliable when its data needs are a guess. The missing piece may be a relationship, a state transition, a privacy rule, a cleanup plan, or an isolated source.

Why this Skill is needed

The Test Data Requirement Analysis Skill defines data prerequisites before test design or generation. It produces TDR-## requirements and blockers without generating records, reading production data, or copying a dataset plan.

What the Skill does

The output tells test design what data must exist and why, without pretending that the data already exists.

Use this Skill to map the entities, fields, relationships, states, roles, sources, masking, lifecycle, setup, cleanup, and isolation required by a scenario.

A good TDR finding links a scenario to its data requirement, constraint, source, evidence, owner, blocker, and validation method.

Use it when test design is blocked by unclear data prerequisites, a new workflow needs boundary and combination data, or privacy and cleanup requirements are not explicit.

What it does not do

The Test Data Requirement Analysis Skill can organize material, evidence, and next actions for Data requirement. 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:

FocusQuestion before analysisHandoff output
Data requirementEntity, field, relationship, state, role, and why neededTDR ID and source
Boundary conditionValid, invalid, boundary, or combination needScenario link
Privacy and lifecycleMasking, retention, setup, cleanup, and isolationConstraint and evidence
BlockerWhat prevents generation or executionOwner and validation action

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 Data requirement, classify the input into six evidence states. A gap is not automatically a failure, but it must not disappear inside the conclusion.

StateMeaningHow this Skill should handle it
knownDirectly supported by the supplied materialKeep the source, version, and time with the judgment
missingNeeded for this pass but not suppliedName the smallest evidence action and limit the conclusion
conflictingSources disagreeShow both sources and route the conflict to an owner
stalePresent but outside the relevant version or time windowMark freshness; old evidence is not current proof
out_of_scopeRelated but excluded from this passKeep the boundary explicit
assumptionsTemporarily adopted to continue analysisState 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 Data requirement, do not compress four different kinds of language into “recommended to pass”:

LayerHow to write itApplication here
FactWhat the supplied material directly showsCite the source, version, input, or run record for the focus
Evidence-backed InferenceWhat several facts support togetherShow the inference chain and retain uncertainty
RecommendationThe smallest next actionName the evidence, review, execution, or regression path
Human DecisionWhat an accountable person must decideLeave 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

MaterialWhat to provideWhat to do when it is missing
Scenario objectiveBusiness flow, test objective, valid/invalid/boundary/combination casesKeep unknown conditions open
Domain modelEntities, fields, relationships, states, and rolesDo not invent schema
Data constraintsSource, masking, privacy, retention, setup, cleanup, and isolationMark missing approvals
EnvironmentTest environment, seed mechanism, permissions, and dependenciesSeparate readiness from existence

Use a request like this:

Use the test-data-requirement-analysis Skill.

Task: Define data requirements for testing subscription cancellation with active invoices, refund eligibility, multiple users, and a pending payment.
Inputs: [workflow, domain schema, role rules, privacy policy, environment notes, cleanup process]
Scope: [staging, synthetic billing data]
Constraints: [do not generate records or read production data]

Produce TDR-## requirements and blockers covering entities, fields, relationships, states, roles, sources, masking, setup, isolation, and cleanup.

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: Prepare cancellation data without copying billing records

The cancellation flow needs an active subscription, an unpaid invoice, a user with refund eligibility, and a second user without permission. The Skill should specify these relationships and cleanup rules, then mark data generation blocked if staging cannot create synthetic invoices. It should not request a production export.

The output is a data-preparation requirement list. It does not prove records exist, are compliant, or passed a 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 Data requirement meets its contract, write the finding like this. It does not invent the missing rule or turn missing evidence into a failure.

FieldExample wording
Source and scopeRecord the requirement, version, environment, and the concrete object for Data requirement
FindingThe condition or result for Data requirement is not yet traceable to evidence
Evidence statemissing / assumptions; use conflicting when sources disagree
Impact and priorityName the affected user, journey, or delivery decision without inflating severity
Owner and Human decisionAsk the product, engineering, security, or test owner to confirm the rule and trade-off
Action and close conditionAdd the smallest missing evidence; close only when source, judgment, and owner can be reviewed
ValidationName 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 fieldWhy it existsExample status
Data requirementEntity, field, relationship, state, role, and why neededTDR ID and source
Boundary conditionValid, invalid, boundary, or combination needScenario link
Privacy and lifecycleMasking, retention, setup, cleanup, and isolationConstraint and evidence
BlockerWhat prevents generation or executionOwner and validation action

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 the workflow, domain schema, roles, states, privacy policy, source options, environment, seed approach, setup and cleanup ownership. When a field or relationship is unknown, record it as a blocker.

A useful handoff includes input versions, scope, time window, evidence index, assumptions, Human decision boundary, and the smallest validation action.

Working with other Skills

Common traps

  1. Listing values without explaining the relationship, state, or cleanup need.
  2. Treating schema presence as data availability or a masking statement as compliance evidence.
  3. Mixing prerequisite analysis with actual dataset generation.

Install and invoke

npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/test-data-requirement-analysis -g
Use the test-data-requirement-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

Can this Skill generate the records?

No. It describes requirements and blockers for a later generation workflow.

Is masked data automatically compliant?

No. Masking, privacy approval, retention, isolation, and cleanup need their own evidence and owner.

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 Test Data Requirement 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.

Share