Data quality and contract testing
Skill vaquarkhan/data-engineering-agent-skills/skills/data-quality-and-contract-testing
Drives data implementation with contracts, assertions, and validation evidence. Use when adding or changing ingestion logic, transformations, schemas, or published data products.From its SKILL.md
npx -y skills add vaquarkhan/data-engineering-agent-skills --skill data-quality-and-contract-testingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.4 KB, 446 tokens by cl100k_base, as published. Nobody here has run it
Data Quality And Contract Testing
Overview
Data work is not complete when code runs. It is complete when source assumptions, output contracts, and quality checks prove the behavior is correct.
When to Use
- new source ingestion
- schema changes
- transformation logic updates
- new or changed published tables
- bug fixes involving bad data or broken metrics
Do not use this only as a final cleanup step. It should guide implementation from the start.
Workflow
-
Define the contract before implementation. Capture:
- required fields
- key constraints
- expected types
- allowed null behavior
- freshness expectations
- reconciliation rules
-
Write the validation plan first. Common validations:
- uniqueness
- non-null thresholds
- referential integrity
- accepted values
- row count deltas
- source-to-target totals
-
Reproduce data bugs with a failing check. If an incident or defect exists, write the failing validation or test before changing the pipeline.
-
Implement the smallest change that satisfies the contract.
-
Run the relevant validations and capture evidence. Evidence may include:
- test output
- query results
- sample reconciliation output
- dry-run logs
Common Rationalizations
| Rationalization | Reality |
|---|---|
| "The warehouse query looks right." | Visual inspection does not scale and misses edge cases. |
| "We will add checks after the model stabilizes." | Unchecked pipelines create low-trust data and harder incident response. |
| "A successful job means the data is valid." | Jobs succeed while still producing incorrect or incomplete data. |
Red Flags
- no contract exists for a published dataset
- an incident fix ships without a failing reproduction check
- only happy-path sample data is validated
- freshness or completeness expectations are absent
Verification
- Contracts are written before or alongside implementation
- Relevant checks exist for correctness, completeness, and freshness
- Defects are reproduced with a failing validation before the fix
- Evidence from validation is captured and reviewable
What ships with it: 4 files
22.8 KB alongside SKILL.md, 4 of them executable
anti-patterns/
- no_quality_gate_before_publish.pyruns7.3 KB
checks/
- contract_completeness.pyruns4.3 KB
- freshness.pyruns6.3 KB
- null_rate.pyruns4.8 KB