Agent skill · data analytics · wshobson
data-quality-frameworks
Implement data quality validation with Great Expectations, dbt tests, and data contracts. Use when building data quality pipelines, implementing validation rules, or establishing data contracts.
Why this skill is useful
Provides specific implementation patterns and commands for data quality validation that the AI wouldn't reliably generate on its own.
What it needs
Requires great_expectations installed locally. About 2k tokens when loaded. Last updated 2026-08-05. 38,570 stars on the source repository.
What this skill does
Data Quality Frameworks Production patterns for implementing data quality with Great Expectations, dbt tests, and data contracts to ensure reliable data pipelines. When to Use This Skill Implementing data quality checks in pipelines Setting up Great Expectations validation Building comprehensive dbt test suites Establishing data contracts between teams Monitoring data quality metrics Automating data validation in CI/CD Core Concepts 1. Data Quality Dimensions Dimension Description Example Check ---------------- ------------------------ -------------------------------------------------- Completeness No missing values expectcolumnvaluestonotbenull Uniqueness No duplicates expectcolumnvaluestobeunique Validity Values in expected range expectcolumnvaluestobeinset Accuracy Data matches reality Cross-reference validation Consistency No contradictions expectcolumnpairvaluesAtobegreaterthanB Timeliness Data is recent expectcolumnmaxtobebetween 2. Testing Pyramid for Data Quick Start Great Expectations Setup Detailed patterns and worked examples Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient. Summary: {totalpassed}/{totaltables} tables passed") report.append("") for table, result in results.items(): status = "✅" if result.passed else "❌" report.append(f"### {status} {table}") report.append(f"- Expectations: {result.totalexpectations}") report.append(f"- Failed: {result.failedexpectations}") if not result.passed: report.append("- Failed checks:") for detail in result.details: if not detail["success"]: report.append(f" - {detail['expectation']}: {detail['observedvalue']}") report.append("") return "\n".join(report) Usage context = gx.getcontext() pipeline = DataQualityPipeline(context) tablestovalidate = { "orders": "orderssuite", "customers": "customerssuite", "products": "productssuite", } results = pipeline.runall(tablestovalidate) report = pipeline.generatereport(results) Fail pipeline if any tab …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills wshobson/data-quality-frameworks