Edit an output-port ODCS file under models/outputports/v<N/, run the contract test against the live data, and classify any failures as breaking or non-breaking changes — with suggested fixes.

Apache-2.0Auto-check passedData & Analytics

Install Datacontract Edit

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill datacontract-edit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins datacontract-edit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/entropy-data/dataproduct-builder-dbt/skills/datacontract-edit .claude/skills/datacontract-edit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
datacontract-edit
GitHub stars
1.2k
Token cost
~2k tokens
SKILL.md length
1,086 words
Files
1
Skills in repo
686
Repo updated
First seen
Licence
Apache-2.0

At a glance

Edit an output-port ODCS file under models/outputports/v<N/, run the contract test against the live data, and classify any failures as breaking or non-breaking changes — with suggested fixes.

  • Works in 5 steps: Locate the contract → Apply the edit → Run the contract test → …
  • The user asks to add/remove/change a column in the data contract
  • SKILL.md covers How to run this skill and Constraints
  • Calls uv; needs DATACONTRACT_DATABRICKS_TOKEN

What it does

Datacontract Edit is an agent skill from hashgraph-online/awesome-codex-plugins. Edit an output-port ODCS file under models/outputports/v<N/, run the contract test against the live data, and classify any failures as breaking or non-breaking changes — with suggested fixes. Only edits output-port contracts (the spec this data product commits to); input-port contracts under models/inputports/ are upstream's responsibility and refreshed by dataproduct-implement. Trigger when the user asks to "add/remove/change a column in the data contract", "update the data contract", or "test contract changes".

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Data & Analytics, covering Data governance and Integration testing. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.

When your agent uses it

  • The user asks to add/remove/change a column in the data contract
  • Update the data contract
  • Test contract changes

Example prompts

  • “add/remove/change a column in the data contract”
  • “update the data contract”
  • “test contract changes”
  • “/datacontract-edit”

Requirements

  • A credential in DATACONTRACT_DATABRICKS_TOKEN

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Locate the contract
  2. Apply the edit
  3. Run the contract test
  4. Classify the outcome
  5. Report and suggest fixes

What it can do on your machine

Read from SKILL.md and the folder at commit 78497e5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • DATACONTRACT_DATABRICKS_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Datacontract Edit loads about 2k tokens when it runs. Until then it costs about 135 tokens; SKILL.md has 1,086 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~135
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from hashgraph-online/awesome-codex-plugins at commit 78497e5, republished under its Apache-2.0 licence (© hashgraph-online). 1,086 words, ~2,045 tokens.

Download SKILL.mdSave it as .claude/skills/datacontract-edit/SKILL.md (or your agent's skills folder).
name
datacontract-edit
description
Edit an output-port ODCS file under models/output_ports/v<N>/, run the contract test against the live data, and classify any failures as breaking or non-breaking changes — with suggested fixes. Only edits output-port contracts (the spec this data product commits to); input-port contracts under models/input_ports/ are upstream's responsibility and refreshed by dataproduct-implement. Trigger when the user asks to "add/remove/change a column in the data contract", "update the data contract", or "test contract changes".

Edit a data contract and test the impact

Change an output-port models/output_ports/v<N>/*.odcs.yaml file, run the contract test, and tell the user whether the change breaks consumers.

This skill operates only on output-port contracts — the spec this data product commits to. Input-port contracts under models/input_ports/ are cached snapshots of upstream's spec and are not editable here; if you want to refresh one (because upstream changed it), run dataproduct-implement instead.

How to run this skill

${PLUGIN_ROOT} below refers to the root of this plugin — the directory that contains skills/. On Claude Code it is set automatically as ${CLAUDE_PLUGIN_ROOT} — use that. On any other agent (Codex, Copilot CLI, etc.) it is unset; resolve it as ../.. relative to this SKILL.md file's directory (i.e. the grandparent of skills/<this-skill>/).

Plan announcement (before Step 0)

Before running Step 0, print this plan to the user verbatim:

Running datacontract-edit. I'll:

  1. Locate the output-port contract file under models/output_ports/v<N>/ that matches your request.
  2. Apply the edit in place and show you a unified diff.
  3. Run datacontract test against the live server to check the change.
  4. Classify each failure as breaking-schema, breaking-quality, additive, or unrelated.
  5. Report and suggest concrete fixes (no version bump, no v2 directory, no dbt model changes).

Then proceed.

Step 0 — Locate the contract
  • Search only models/output_ports/**/*.odcs.yaml — never models/input_ports/. If the user names an input-port contract, stop and explain it can't be edited here (refresh via dataproduct-implement instead).
  • If the user named a contract file or column, find the matching file under models/output_ports/.
  • If multiple contracts exist and it's ambiguous, list them and ask which one.
  • Read the file and remember the current models block as BEFORE.
Step 1 — Apply the edit

Edit the ODCS YAML in place using the user's instruction. Keep the change minimal — do not reformat unrelated fields.

Common edits and the right shape:

User saysWhat to change
"add column X"Append a field under the relevant model with at least type; set required: false by default unless the user says it's required
"remove column X"Delete the field; this is breaking — flag in Step 4
"rename X to Y"Rename the field; this is breaking — flag
"make X required"Add required: true; breaking if existing rows can be null
"change X type from int to string"Update type; breaking unless the new type is a strict superset (e.g. int → bigint)
"add a unique/not_null/enum check"Add to the field's quality rules; breaking iff existing data violates the new rule — only Step 2 can tell

After editing, remember the new models block as AFTER and show the user a unified diff before continuing.

Step 2 — Run the contract test

Run the test with the datacontract CLI against the local contract file:

datacontract test models/output_ports/v<N>/<file>.odcs.yaml --server <server> --logs
  • If the contract has more than one server, ask which one (typically production). Default to all only if the user explicitly asks.
  • Use --logs so failure detail is in the output you read; otherwise the CLI only prints a summary.
  • If the user wants the report persisted, add --output ./test-results/junit.xml --output-format junit.
  • Capture stdout + exit code as TEST_RESULT. Non-zero exit means at least one rule failed; the log section names the failing field/rule.

Pre-reqs the CLI needs (verify before running, fail fast with a clear message if missing):

  • uv run --quiet datacontract --version succeeds from the project root. If it fails, run uv sync and retry. Invoke as uv run datacontract test … for every CLI invocation in this skill.
  • The chosen server's credentials available as env vars per the ODCS server block (e.g. DATACONTRACT_SNOWFLAKE_USERNAME / ..._PASSWORD, or DATACONTRACT_DATABRICKS_TOKEN). Tell the user which env vars are missing — do not try to source them yourself.

Do not use the platform's server-side contract-test endpoint from this skill. The local datacontract CLI runs against the edited file and gives line-level failure detail; testing the published version on the server would test the previous contract, which defeats the point of testing the edit.

Show full SKILL.md (438 more words)Show less
Step 3 — Classify the outcome

Group every failure into one of these buckets:

BucketExamplesSeverity
Breaking — schemacolumn removed, type narrowed, column renamedHigh — bump major version, deprecate old port
Breaking — qualitynew not_null/unique/enum rule violated by existing dataHigh — clean data first, then re-test
Non-breaking — additivenew optional column, widened type, loosened ruleLow — minor version bump
Test failure unrelated to the editflaky source, infra error, unchanged rule failingInvestigate separately

For each failure, name the exact field/rule and which bucket it falls into. Don't lump them together.

Step 4 — Report and suggest fixes

End with this two-part recap. The Status column uses the shared enum (created, updated, already present, deferred, skipped), and below it a classification table covers any test failures.

Part 1 — outcome table.

ArtifactStatusDetails
Contract fileupdatedmodels/output_ports/v<N>/<file>.odcs.yaml — show the unified diff inline
Contract test…pass, fail (<N> failures), or not run (missing creds) — name the server
Breaking — schema…count of failures in this bucket, or "—"
Breaking — quality…count of failures in this bucket, or "—"
Non-breaking — additive…count of changes in this bucket, or "—"
Test failures unrelated to the edit…count, or "—"
Recommended version bump…patch / minor / major based on the edit

For the four "bucket" rows, leave Status = — and put the failure count + a one-line bucket description in Details.

Part 2 — next steps. Per failure, give a concrete fix suggestion:

  • Schema breaking: bump to a new output port version (models/output_ports/v2/), keep v1 alive, add a deprecation note in <id>.odps.yaml.
  • Quality breaking: SQL snippet to find the offending rows so the user can decide whether to clean, accept, or relax the rule.
  • Additive: bump the contract's version minor, no consumer impact.
  • If no failures, recommend the version bump (patch for cosmetic, minor for additive, major for breaking even when the test happened to pass).

Do not auto-bump the contract version, do not create v2/ directories, and do not modify dbt models. Surface the recommendation; let the user decide.

Constraints

  • Always run the test after every edit. A passing edit looks the same as a breaking edit until you run it.
  • Don't edit the dbt models in this skill. Changing the contract is a separate decision from changing the implementation. If the user wants both, run dataproduct-implement after this skill.
  • Don't fetch a remote version of the contract — operate on the local file. If the user wants to pull the published version, ask them to do that explicitly first (it can be a one-line entropy-data datacontracts get <id> -o yaml redirected to the file).
  • Idempotent: re-running with the same edit should be a no-op (same diff = empty, same test = same result).

© hashgraph-online, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/entropy-data/dataproduct-builder-dbt/skills/datacontract-edit of hashgraph-online/awesome-codex-plugins.

Open the folder on GitHubat commit 78497e5

Compare with similar skills

Datacontract Edit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Datacontract Edit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Datacontract Edit this skillhashgraph-online/awesome-codex-plugins1.2k—~2kAutomated safety check: PassApache-2.0
Data Quality Frameworkswshobson/agents40k11 repos~1.1kAutomated safety check: PassMIT
Polar Testingchmonitor/chmonitor299—~2.8kAutomated safety check: WarnGPL-3.0
Veomni New ModelByteDance-Seed/VeOmni2.2k—~2kAutomated safety check: PassApache-2.0
Jeecg Systemjeecgboot/skills239—~3.2kAutomated safety check: PassApache-2.0
Openalgo Chart Indicatormarketcalls/openalgo-charts140—~3.4kAutomated safety check: NotesApache-2.0

Similar skills

  • Sets up data quality checks with Great Expectations, dbt tests and data contracts, with checkpoints and pass-fail reports for pipelines.

    40k GitHub starsUsed in 11 repos~1.1k tokens
    Data & AnalyticsAuto-check passed
  • Polar Testing

    chmonitor/chmonitor

    Guide for testing Polar payment integrations using the sandbox environment.

    299 GitHub stars~2.8k tokensUpdated 2 days ago
    Data & AnalyticsAuto-check: warnings
  • Veomni New Model

    ByteDance-Seed/VeOmni

    A skill your agent uses when adding support for a new model to VeOmni.

    2.2k GitHub stars~2k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Jeecg System

    jeecgboot/skills

    JeecgBoot 系统主数据查询与管理。Use when user asks to query/create/manage system master data, or says "查询角色", "查询用户", "查询部门", "查询字典", "创建字典", "创建角色", "查岗位", "查职务", "查租户", "查数据源", "查定时任务", "系统主数据", "query…

    239 GitHub stars~3.2k tokensUpdated 21 days ago
    Data & AnalyticsAuto-check passed
  • Openalgo Chart Indicator

    marketcalls/openalgo-charts

    Add a built-in openalgo-charts indicator, restyle it, build a settings UI from its descriptor, or author a custom indicator with registerIndicator or the Tier-2 external-data contract.

    140 GitHub stars~3.4k tokensUpdated 7 days ago
    Data & AnalyticsAuto-check: notes
  • Trace downstream data lineage and impact analysis. An agent skill from astronomer/agents.

    451 GitHub starsUsed in 1 repo~1.2k tokens
    Data & AnalyticsAuto-check passed

More from hashgraph-online/awesome-codex-plugins

All 686 skills in this repo
  • Anime Reaction Gif

    hashgraph-online/awesome-codex-plugins

    Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.

    1.2k GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.2k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Rust API Test Harness

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…

    1.2k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Art

    hashgraph-online/awesome-codex-plugins

    Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…

    1.2k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.2k GitHub stars~618 tokensUpdated today
    Auto-check passed
  • Manuscript Engagement Analytics

    hashgraph-online/awesome-codex-plugins

    Analyze nonfiction manuscripts for reader engagement signals, including heading-level word counts, slow starts, long slogs, weak takeaway titles, value pacing, beta-reader comment dropoff, and…

    1.2k GitHub stars~875 tokensUpdated today
    Auto-check passed

Questions about Datacontract Edit

What does Datacontract Edit do?

Edit an output-port ODCS file under models/outputports/v<N/, run the contract test against the live data, and classify any failures as breaking or non-breaking changes — with suggested fixes. Datacontract Edit is an agent skill from hashgraph-online/awesome-codex-plugins. Edit an output-port ODCS file under models/outputports/v<N/, run the contract test against the live data, and classify any failures as breaking or non-breaking changes — with suggested fixes.

When should I use Datacontract Edit?

Datacontract Edit fits situations like: the user asks to add/remove/change a column in the data contract; update the data contract; test contract changes.

How do I install Datacontract Edit in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill datacontract-edit -a claude-code`. Or copy the skill folder (plugins/entropy-data/dataproduct-builder-dbt/skills/datacontract-edit in hashgraph-online/awesome-codex-plugins) into .claude/skills/datacontract-edit in your project. Claude Code loads it when a task matches its description.

How do I install Datacontract Edit in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill datacontract-edit -a codex`. Or copy the skill folder (plugins/entropy-data/dataproduct-builder-dbt/skills/datacontract-edit in hashgraph-online/awesome-codex-plugins) into .agents/skills/datacontract-edit in your project. Codex loads it when a task matches its description.

Can I use Datacontract Edit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hashgraph-online/awesome-codex-plugins --skill datacontract-edit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/datacontract-edit, .gemini/skills/datacontract-edit, .github/skills/datacontract-edit and .opencode/skills/datacontract-edit in your project.

What does Datacontract Edit need to run?

Going by SKILL.md and its folder, Datacontract Edit needs the command-line tools its instructions call (uv) and credentials named DATACONTRACT_DATABRICKS_TOKEN. Our summary lists: A credential in DATACONTRACT_DATABRICKS_TOKEN.

Does Datacontract Edit access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Datacontract Edit safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Datacontract Edit use?

Datacontract Edit is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Datacontract Edit use?

About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Datacontract Edit?

Skills that share tags, products or a category with Datacontract Edit: Data Quality Frameworks (wshobson/agents, 40k stars), Polar Testing (chmonitor/chmonitor, 299 stars), Veomni New Model (ByteDance-Seed/VeOmni, 2.2k stars) and Jeecg System (jeecgboot/skills, 239 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Datacontract Edit?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,242 GitHub stars. The repository holds 686 skills in this directory. The repository was last updated on October 8, 2026.

Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.