CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

openapi-contract-diff

Use when a pull request or release changes an OpenAPI spec and breaking changes must be caught: removed endpoints, deleted schemas, narrowed enums, changed responses. Runs oasdiff breaking, grades findings ERR, WARN or INFO and gates CI with --fail-on.

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is testland/openapi-contract-diff

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-crafted, highly actionable reference: every command is executable, the CI gate example is complete and production-realistic, and all content is tool-specific rather than filler. It falls short of top marks only on trimmable repetition (citation parentheticals, redundant format examples) and the absence of an explicit remediation loop and split-out reference material.

Suggestions

Trim the repeated "(Per [oasdiff-breaking][breaking].)" / "(Per [oasdiff-readme][readme].)" parentheticals — a single note in the References section that command syntax follows those docs would reclaim several lines (conciseness).

Collapse the four --format invocations into one JSON example plus the existing prose list of available formats (conciseness).

Add a short "When the gate fails" step: regenerate with --format markdown, triage with the jq filter, and either revert the breaking change or explicitly accept it with x-extensible-enum / versioning — this closes the validation/remediation loop (workflow_clarity).

Move the full GitHub Actions workflow into a references/ci-gate.yml file (or similar) and keep a two-line invocation inline, so the SKILL.md body stays an overview (progressive_disclosure).

DimensionReasoningScore

Conciseness

Nearly all content is non-obvious tool specificity (severity tiers, --fail-on semantics, level mapping, the fetch-depth merge-base trick) with no explanation of concepts Claude already knows, but the "(Per [oasdiff-breaking][breaking].)" citation parentheticals repeat five times, four separate --format invocations could collapse into one example plus the existing format list, and the Authoring section mostly states what the skill does not do. These are minor trimmable instances matching the 4 anchor rather than the lean 5 anchor.

4 / 5

Actionability

Fully executable throughout: Go and Docker install commands, local/remote/Docker diff invocations, all three --fail-on variants, a copy-paste jq triage one-liner, and a complete GitHub Actions workflow including merge-base spec extraction with the required fetch-depth setting. Specific examples cover the common cases, matching the 5 anchor.

5 / 5

Workflow Clarity

Sections follow a clear Install → Running → Reading the report → CI integration sequence, and the exit-code gate plus jq triage act as checkpoints, but the workflow is section-implied rather than explicitly sequenced and there is no remediation guidance (what to do when ERR fires beyond failing the build). This matches the 4 anchor with minor validation gaps; the operation is non-destructive so the cap of 3 does not apply.

4 / 5

Progressive Disclosure

No bundle files exist; the single-file skill is well-sectioned with a one-level-deep, clearly labeled References section (external docs and two sibling skills, no nesting). The ~35-line GitHub Actions YAML inlined in the body is content that could live in a reference file, keeping this at the 4 anchor rather than the fully split 5 anchor.

4 / 5

Total

17

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: it names the tool and its niche, gives concrete triggers in an explicit "Use when" clause, and enumerates both the actions performed and the finding types caught in third-person voice. The only gap is missing common synonyms such as "Swagger" or "API contract" that users might naturally say.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "Runs oasdiff breaking", "grades findings ERR, WARN or INFO", "gates CI with --fail-on" — plus enumerated finding types (removed endpoints, deleted schemas, narrowed enums, changed responses), giving comprehensive coverage of detection, classification, and gating.

5 / 5

Completeness

Explicitly answers both: an explicit "Use when a pull request or release changes an OpenAPI spec and breaking changes must be caught" trigger clause with concrete conditions, and a clear third-person statement of what the skill does (runs oasdiff, grades severities, gates CI).

5 / 5

Trigger Term Quality

Natural phrases like "pull request", "release", "OpenAPI spec", and "breaking changes" are present, but common synonyms users would say — "Swagger", "API contract", "spec diff" — are missing. Good coverage with a few natural terms absent, matching the 4 anchor rather than the comprehensive 5 anchor.

4 / 5

Distinctiveness Conflict Risk

Clear niche — schema-driven OpenAPI breaking-change gating with the oasdiff tool named — with distinct triggers; the sibling pact-contract-testing skill covers a different scenario (consumer-driven contracts), so conflict risk is minimal.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

testland/qa

Path

plugins/qa-contract-testing/skills/openapi-contract-diff/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.