← ClaudeAtlas

api-difflisted

Diff an OpenAPI spec across commits and classify each change as major/minor/patch per SemVer-for-APIs
bakw00ds/yakos · ★ 2 · Code & Development · score 81
Install: claude install-skill bakw00ds/yakos
# API Diff ## Purpose Given two refs of the same OpenAPI spec, produce a classified diff where every change is tagged `major` (breaking), `minor` (additive), or `patch` (doc-only). Used by the `api-designer` agent to decide the next API version and to populate the PR description so reviewers can see compatibility impact at a glance. ## Scope - Reads the spec at `--spec` (default `api/openapi.yaml`) at two refs (`--base`, default `origin/main`; `--head`, default `HEAD`). - Walks paths, operations, parameters, request bodies, responses, and component schemas. Classifies each delta. - Emits a markdown report grouped by severity. - Read-only — produces a report, makes no spec changes. ## When to use - Before opening a PR that touches `api/openapi.yaml` (or whatever the spec path is in the project). - During release planning, to confirm the next bump matches the highest-severity change in the diff. - For PR description generation — paste the report into the "API impact" section. ## When NOT to use - For runtime contract testing — that's `contract-handoff` + consumer-driven contract suites. - For non-OpenAPI specs (gRPC `.proto`, GraphQL SDL). The classifier only understands OpenAPI 3.x. For protobuf, use `buf breaking`; for GraphQL, use `graphql-inspector diff`. - As the sole gate. A human still reads the report — the classifier catches structural changes, not semantic ones (e.g., a field whose meaning changed but type didn't). ## Automated pass 1. Re