data-contracts

Author and validate versioned data contracts with schema, quality checks, and SLAs.

14|1|Updated May 5, 2026
One-click install
npx skills add https://github.com/ivanshamaev/de-agent-skills --skill data-contracts-ivanshamaev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: data-contracts
Source: https://github.com/ivanshamaev/de-agent-skills/tree/main/skills/data_contracts
Command: npx skills add https://github.com/ivanshamaev/de-agent-skills --skill data-contracts-ivanshamaev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Data contracts prevent schema drift and quality/SLA surprises by giving producers and consumers a single versioned specification for data structure, validation rules, and operational guarantees.

Core Features & Use Cases

  • Author and validate datacontract.yaml with a full spec including identity/ownership, servers, models, quality checks, terms, and service levels.
  • Embed data quality checks using SodaCL-style assertions (including freshness, completeness, uniqueness, and SQL-based checks).
  • Detect breaking changes in CI/CD using semver rules and automated comparison via diff/breaking commands to guard pull requests and deployments.
  • Integrate with governance catalogs by exporting and publishing contract assertions to DataHub and OpenMetadata.

Quick Start

Use the AI agent to generate a datacontract.yaml for your dataset, then run datacontract lint and datacontract breaking against the previous contract version in your CI pipeline.

Frequently Asked Questions about data-contracts

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

FAQPage Schema
How do I prevent schema drift and enforce data quality in CI/CD pipelines?

Data contracts prevent schema drift by versioning a datacontract.yaml that specifies schema, SodaCL quality assertions, and SLAs. You enforce these contracts in CI/CD pipelines using automated lint, test, diff, and breaking commands to guard pull requests against unexpected changes.

What is a data contract and how does it define producer and consumer expectations?

A data contract is a single versioned specification that prevents quality and SLA surprises by giving producers and consumers a shared agreement. It defines data structure, validation rules, and operational guarantees for datasets across Kafka, S3, and databases.

How do I detect breaking changes in data schemas before deployment?

You detect breaking changes in data schemas by running the breaking command in your CI pipeline against previous data contract versions. This automated comparison uses semver changelog-driven rules to block deployments when incompatible structural modifications are introduced.

Can I integrate data contracts with DataHub or OpenMetadata for catalog governance?

Yes, you can integrate data contracts with DataHub and OpenMetadata. The workflow supports exporting and publishing your contract assertions directly to these governance catalogs to maintain centralized schema and quality documentation.

Does the data contract specification support custom SQL checks and SodaCL assertions?

Yes, the data contract specification fully supports embedding SodaCL-style assertions for freshness, completeness, and uniqueness, alongside custom SQL-based quality checks directly within your datacontract.yaml file.

What is the best way to author a data contract for a Kafka or S3 dataset?

The best way to author a data contract for Kafka or S3 datasets is to use an AI agent to generate a datacontract.yaml conforming to datacontract.com. This file defines identity, servers, models, quality checks, terms, and service levels in one specification.