Skip to content
Agentmart
Submit a tool

contract-compat

Classify the differences between two OpenAPI 3.x JSON documents (or two JSON Schemas, with local $ref resolved) as BREAKING or compatible, and fail on any…

Skill by ALTEN-group

IndexedMIT★ 5
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/alten-group-contract-compat

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Classify the differences between two OpenAPI 3.x JSON documents (or two JSON Schemas, with local $ref resolved) as BREAKING or compatible, and fail on any breaking change unless an Accepted, human-signed decision record is supplied. Use when the agent loop or CI (Prove stage) must guarantee that public interfaces and consumer contracts never break silently.

Use cases: documents, devops, agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/contract-compat

What's inside

Skill name
contract-compat
Description
Classify the differences between two OpenAPI 3.x JSON documents (or two JSON Schemas, with local $ref resolved) as BREAKING or compatible, and fail on any breaking change unless an Accepted, human-signed decision record is supplied. Use when the agent loop or CI (Prove stage) must guarantee that public interfaces and consumer contracts never break silently.
License
MIT
Instructions
42 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (5)

  • SKILL.md
  • contract-compat-contract.md · references/
  • contract-compat.mjs · scripts/
  • contract-compat.test.mjs · scripts/
  • contract-fixture.mjs · scripts/

SKILL.md (first lines)

# Contract Compat

Deterministic Contract & Schema Compatibility gate. It compares the released contract (base) with the changed contract (head) and prints every change as `BREAKING` or `compatible`. A breaking public contract is a Critical blast radius, so it only passes with a signed decision record.

## When to Use This Skill

- A change touches an OpenAPI document or a JSON Schema that other systems consume.
- CI (Prove) must block a pull request that removes an operation or response, removes or retypes a response property, adds a required request input, or adds security to an operation.
- A breaking change is intended and must be released through an Architect-signed decision record.

## Path resolution

Resolve `references/` and `scripts/` relative to **this skill's install directory** (the folder that contains this `SKILL.md`), not the consumer repository root or the current shell cwd. If the skill was installed under `.agents/skills/contract-compat/` or `.claude/skills/contract-compat/`, use that base path. Run the script from the repository root and write `<skill-dir>` as that install path.

## Workflow

1. **Read `references/contract-compat-contract.md` now.** It is the authoritative source for what counts as breaking, supported documents, output format, and the decision-record rule.
2. Produce JSON for both sides. YAML, Swagger 2.0, external `$ref`, and Pact are not supported: convert or bundle first.

```bash
git show origin/main:openapi.json > base.json
```

3. Run the gate from the repository root:

```bash
node <skill-dir>/scripts/contract-compat.mjs --base base.json --head openapi.json

# Intended breaking change, released by an Accepted decision record signed by the Architect
node <skill-dir>/scripts/contract-compat.mjs --base base.json --head openapi.json \
  --allow-breaking docs/decisions/0007-remove-legacy-role.md
```

4. Treat a nonzero exit as a failed gate. Restore compatibility (keep the old field, make the new one optional, add a new version). If the break is intended, ask the Architect for a decision record. The AI may draft it, but only a person signs it.

## Done When

- The script exits 0 with no `BREAKING` line, or every `BREAKING` line is covered by an `Accepted` decision record signed by a named Architect.
- The base contract was not edited to hide a difference.
- No decision record was signed or marked `Accepted` by the AI.

From ALTEN-group/coding-pal, MIT.

More from ALTEN-group/coding-pal

Signals

Stars
5
Forks
0
Open issues
0
Last commit (this folder)
Oct 13, 2026 (15 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ALTEN-group

Cite this page

contract-compat skill. Agent Mart. https://agentmart.dev/skills/alten-group-contract-compat (last updated 2026-10-24)