SKILL.md
Data Quality Checks Skill
Bad data quietly poisons dashboards and models until someone notices the number is wrong. The fix is checks that fail loudly before that — across the standard DQ dimensions. This skill designs them for a specific table/pipeline: the exact rule per dimension, its severity (block vs. warn), and where it runs (dbt test, Great Expectations, or a SQL assertion), so quality is enforced, not hoped for.
Required Inputs
Ask for these only if they aren't already provided:
- The table/pipeline and what it represents (grain, key columns).
- The columns that matter — keys, required fields, enums, ranges, dates.
- Freshness expectation — how current the data must be.
- Tooling — dbt tests, Great Expectations, Soda, or raw SQL assertions.
Output Format
Data Quality Checks: [table]
Checks organised by dimension — each with the rule, severity (🔴 block the pipeline / 🟡 warn), and where it runs:
| Dimension | Check | Rule | Severity | Implement as |
|---|---|---|---|---|
| Completeness | required fields non-null | not_null on [cols] | 🔴 | dbt test |
| Uniqueness | grain key unique | unique on [key] | 🔴 | dbt test |
| Validity | values in allowed set/range | accepted_values / range | 🟡 | GE / SQL |
| Freshness | data is current | max(loaded_at) within SLA | 🔴 | dbt source freshness |
| Consistency | cross-field / cross-table |
