breaking-changes

Understand what counts as a breaking API change in api-diff-checker, and how to interpret breaking change results. Use when you need to know if a specific API change will break existing clients, understand the classification rules used by the diff engine, or explain to a reviewer why an API change is flagged as breaking. Triggers include "is this breaking", "breaking change rules", "why is this change breaking", "explain API breaking changes", "what breaks API clients", or any task involving understanding API backward compatibility.

7 stars

Best use case

breaking-changes is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Understand what counts as a breaking API change in api-diff-checker, and how to interpret breaking change results. Use when you need to know if a specific API change will break existing clients, understand the classification rules used by the diff engine, or explain to a reviewer why an API change is flagged as breaking. Triggers include "is this breaking", "breaking change rules", "why is this change breaking", "explain API breaking changes", "what breaks API clients", or any task involving understanding API backward compatibility.

Teams using breaking-changes should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/breaking-changes/SKILL.md --create-dirs "https://raw.githubusercontent.com/heldernoid/agentic-build-templates/main/projects/developer-tools/api-diff-checker/skills/breaking-changes/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/breaking-changes/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How breaking-changes Compares

Feature / Agentbreaking-changesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Understand what counts as a breaking API change in api-diff-checker, and how to interpret breaking change results. Use when you need to know if a specific API change will break existing clients, understand the classification rules used by the diff engine, or explain to a reviewer why an API change is flagged as breaking. Triggers include "is this breaking", "breaking change rules", "why is this change breaking", "explain API breaking changes", "what breaks API clients", or any task involving understanding API backward compatibility.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# breaking-changes

Reference guide for how api-diff-checker classifies changes as breaking or non-breaking.

## Breaking change rules

A change is classified as **breaking** if it can cause existing clients to fail without modification:

| Change | Why it breaks |
|--------|---------------|
| Endpoint removed | Existing clients calling it will get 404 |
| Required parameter added | Existing calls without that parameter will fail with 400 |
| Parameter type narrowed (e.g. string -> integer) | Existing values may not match new type |
| Request body made required | Existing calls without a body will fail |
| Response status code removed | Clients handling that status will be confused |
| Response schema field removed | Clients reading that field will get undefined |
| Response schema field type changed | Clients parsing that type will fail |
| Security scheme added | Unauthenticated clients will get 401 |

## Non-breaking changes

A change is **non-breaking** if existing clients continue to work unchanged:

| Change | Why it is safe |
|--------|----------------|
| Endpoint added | New surface, no existing client uses it |
| Optional parameter added | Existing calls still work without it |
| Required parameter made optional | Relaxing a constraint |
| Optional response field added | Existing clients ignore unknown fields |
| Security scheme removed | Auth relaxed, existing clients still work |

## Informational (no impact)

These changes do not affect behavior:

| Change | Notes |
|--------|-------|
| Description changed | Documentation only |
| Title changed | Documentation only |
| Example values changed | Not part of runtime behavior |

## Checking a specific change

```bash
# Diff two specs and filter to breaking only
adc diff api-v1.yaml api-v2.yaml --only-breaking --format json | jq '.changes[]'

# Check if a particular endpoint changed
adc diff api-v1.yaml api-v2.yaml --format json | \
  jq '[.changes[] | select(.path | contains("users"))]'
```

## API response - checking programmatically

```javascript
const result = await fetch('/api/diff', { method: 'POST', body: form });
const diff = await result.json();

if (diff.summary.breaking > 0) {
  console.error('Breaking changes detected:', diff.summary.breaking);
  process.exit(1);
}
```

## Common questions

**Q: Is changing a response field from required to optional breaking?**
No. Clients that always check for the field will still work. Non-breaking.

**Q: Is changing an enum to add a new value breaking?**
Clients that use exhaustive enum matching may break. Classified as breaking.

**Q: Is renaming an endpoint breaking?**
Yes - the old endpoint is removed and a new one is added. The removal is breaking.

**Q: Is adding a new security scheme breaking?**
Yes - existing clients that do not send auth credentials will receive 401.

Related Skills

Skill: Uptime Monitoring

7
from heldernoid/agentic-build-templates

## Overview

Skill: Status Page

7
from heldernoid/agentic-build-templates

## Overview

Skill: unit-conversion

7
from heldernoid/agentic-build-templates

## Overview

Skill: recipe-scaler

7
from heldernoid/agentic-build-templates

## Overview

reading-list

7
from heldernoid/agentic-build-templates

Operate the reading-list API to save, manage, tag, search, and export articles.

email-digest

7
from heldernoid/agentic-build-templates

Configure, test, and troubleshoot the reading-list daily email digest delivered via nodemailer.

websocket-realtime

7
from heldernoid/agentic-build-templates

Use the WebSocket connection in poll-builder to receive live vote updates. Use when you need to stream real-time poll results, monitor a poll for new votes, or build a live dashboard. Triggers include "live results", "real-time updates", "stream votes", "watch poll", or "WebSocket".

poll-builder

7
from heldernoid/agentic-build-templates

Self-hosted poll creation tool with real-time results. Use when you need to create a poll, check vote counts, close a poll, export results, or get the shareable link for a poll. Triggers include "create poll", "vote", "poll results", "survey", "collect votes", "share poll", or any task involving polling or voting.

Skill: personal-finance

7
from heldernoid/agentic-build-templates

## Overview

Skill: csv-import

7
from heldernoid/agentic-build-templates

## Overview

Skill: Syntax Highlighting

7
from heldernoid/agentic-build-templates

## Purpose

Skill: Pastebin Core

7
from heldernoid/agentic-build-templates

## Purpose