data-contracts

Define and enforce YAML data contracts for dbt models in CI.

1|1|Updated Feb 27, 2026
One-click install
npx skills add https://github.com/nrakow/ae-skills-dev --skill data-contracts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: data-contracts
Source: https://github.com/nrakow/ae-skills-dev/tree/main/skills/data-contracts
Command: npx skills add https://github.com/nrakow/ae-skills-dev --skill data-contracts

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Data contracts formalize agreements between data producers and consumers to prevent breaking changes and establish quality expectations, safeguarding downstream dependencies.

Core Features & Use Cases

  • Define, implement, and enforce schema contracts for dbt models and data products.
  • Specify ownership, SLAs, consumers, and versioning to manage changes.
  • Integrate with CI to automatically validate contracts and catch breaking changes before deployment.

Quick Start

Define a data contract for your models and run the contract checks in CI to enforce it.

Frequently Asked Questions about data-contracts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce data contracts in dbt to prevent breaking schema changes?

You can enforce data contracts in dbt by defining YAML contract definitions for your models and running validation checks in CI. This catches breaking schema changes before deployment and protects downstream consumers.

What are data contracts and when do I need them for data products?

Data contracts are formal agreements between data producers and consumers that establish quality expectations and prevent breaking changes. You need them when managing dbt models or data products across warehouses to safeguard downstream dependencies.

Does dbt 1.5 support data contract validation in CI pipelines?

Yes, dbt 1.5 and later versions support data contract validation. You can define contracts in YAML and integrate checks directly into your CI pipelines to automatically validate schemas and catch breaking changes before deployment.

How do I define ownership and SLAs for dbt models using data contracts?

You define ownership, SLAs, consumers, and versioning for dbt models by specifying them within YAML data contract definitions. This formalizes agreements between data producers and consumers to manage schema changes effectively.

What is the best way to validate schema contracts before deploying dbt models?

The best way to validate schema contracts is by integrating contract checks into your CI pipelines. This automatically validates YAML data contract definitions against your dbt models to catch breaking changes prior to deployment.

Can I use YAML to specify data contracts for models across different warehouses?

Yes, you can use YAML to specify data contracts for dbt models and data products across warehouses. These definitions include SLAs, ownership, and versioning, which are then validated during CI checks.