New to Claude Skills? Learn how to install them →

jeremylongshore on GitHub

Validating API Schemas

Free

Ensure your API specifications meet industry standards.

Get this skill

Free · Opens the source repo

What Validating API Schemas does

Validating API Schemas is a skill designed for developers and teams who need to ensure their API specifications adhere to established standards such as OpenAPI, JSON Schema, and GraphQL. This skill employs various linting rules and structural validation techniques to identify issues within API schemas, including incomplete documentation, inconsistent naming conventions, and potential breaking changes. By integrating this skill into your workflow, you can catch errors before they impact consumers, thereby improving the quality and reliability of your API offerings.

The skill requires specific prerequisites, including OpenAPI specification files or GraphQL SDL schema files, and a schema linting tool such as Spectral or graphql-schema-linter. It operates by first locating all relevant API specification files within your project, then performing structural validation to ensure compliance with the specified standards. The skill also applies linting rules to enforce best practices, such as requiring descriptions for all operations and ensuring that all response status codes are documented.

One of the key features of this skill is its ability to detect breaking changes by comparing the current schema with previous versions. This is crucial for teams practicing version control, as it helps maintain backward compatibility and informs users of any significant changes. Additionally, the skill generates comprehensive validation reports that provide insights into the schema's completeness and consistency, helping teams address issues proactively.

This skill is particularly beneficial for teams working in environments where APIs are frequently updated or where multiple developers contribute to API design. By automating schema validation and integrating it into CI pipelines, you can ensure that every change is vetted for compliance and quality, reducing the risk of errors in production environments.

When to use it

Use this skill when developing or maintaining APIs to ensure compliance with OpenAPI, JSON Schema, or GraphQL standards, especially in collaborative environments.

When not to use it

This skill may not be necessary for small projects or APIs that are not intended for external use, where schema validation is less critical.

What you can build with it

Pre-commit Schema Linting

Set up a Git pre-commit hook to run Spectral against modified OpenAPI files, preventing commits that introduce undocumented endpoints or inconsistencies.

CI Integration for Breaking Changes

Implement a CI gate that uses oasdiff to compare API specs on pull requests, failing builds if breaking changes are detected without a version bump.

Schema Completeness Audit

Run a validation audit to generate a matrix showing the documentation status of each endpoint, highlighting gaps and coverage percentages.

How to install Validating API Schemas

View source

1. Install with the skills CLI

npx skills add jeremylongshore/claude-code-plugins-plus-skills/validating-api-schemas --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by jeremylongshore

Validating API Schemas

Overview

Validate API specifications against OpenAPI 3.0/3.1, JSON Schema Draft 2020-12, and GraphQL SDL standards using linting rules, structural analysis, and best-practice enforcement. Detect incomplete schemas, undocumented endpoints, inconsistent naming conventions, and breaking changes before they reach consumers.

Prerequisites

  • OpenAPI specification files (YAML or JSON) or GraphQL SDL schema files
  • Schema linting tool: Spectral (OpenAPI), graphql-schema-linter (GraphQL), or ajv-cli (JSON Schema)
  • Version control for schema files to enable diff-based breaking change detection
  • CI pipeline for automated schema validation on every pull request
  • oasdiff or openapi-diff for breaking change detection between versions

Instructions

  1. Locate all API specification files using Glob, identifying OpenAPI specs, JSON Schema definitions, and GraphQL SDL files across the project.
  2. Run structural validation to verify the specification conforms to the declared standard (OpenAPI 3.0, 3.1, or JSON Schema Draft 2020-12) and is syntactically valid.
  3. Apply Spectral linting rules to enforce naming conventions (camelCase properties, kebab-case paths), required descriptions on all operations, and example values for request/response schemas.
  4. Verify schema completeness: every endpoint has documented request schemas, all response status codes have schemas (including 400, 401, 404, 500), and all $ref references resolve.
  5. Check for security scheme coverage: every endpoint either declares a security requirement or is explicitly marked as public with rationale.
  6. Detect breaking changes by comparing the current schema against the previous released version: removed endpoints, removed required fields, type changes, and narrowed enum values.
  7. Validate consistency across endpoints: pagination parameters use the same naming (page/limit vs offset/count), error response envelopes follow a single standard, and date formats are consistent.
  8. Generate a validation report with severity levels (error, warning, info) and specific file:line references for each finding.

See ${CLAUDE_SKILL_DIR}/references/implementation.md for the full implementation guide.

Output

  • ${CLAUDE_SKILL_DIR}/reports/schema-validation.json - Machine-readable validation findings with severity
  • ${CLAUDE_SKILL_DIR}/reports/schema-validation.md - Human-readable report with fix recommendations
  • ${CLAUDE_SKILL_DIR}/reports/breaking-changes.md - Breaking change analysis between schema versions
  • ${CLAUDE_SKILL_DIR}/.spectral.yaml - Custom Spectral linting rule configuration
  • ${CLAUDE_SKILL_DIR}/scripts/validate-schema.sh - CI-ready schema validation script
  • ${CLAUDE_SKILL_DIR}/reports/schema-coverage.md - Endpoint documentation completeness matrix

Error Handling

ErrorCauseSolution
Unresolved $refSchema references a component that does not exist or has a typoList all $ref targets and verify each resolves; check for circular references
Missing response schemaEndpoint returns undocumented status codesAdd schemas for all observed response codes; use default response as fallback
Inconsistent namingMix of camelCase and snake_case property names across endpointsDefine naming convention in Spectral ruleset; apply auto-fix where possible
Breaking change detectedRequired field added to existing request schemaMake new field optional with default value; or create new API version for breaking changes
Schema too permissiveUse of additionalProperties: true or missing type constraintsSet additionalProperties: false by default; require explicit type and format on all properties

Refer to ${CLAUDE_SKILL_DIR}/references/errors.md for comprehensive error patterns.

Examples

Pre-commit schema lint: Git pre-commit hook runs Spectral against all modified OpenAPI files, blocking commits that introduce undocumented endpoints, missing descriptions, or inconsistent naming.

Breaking change CI gate: On pull requests modifying API specs, oasdiff compares against the main branch version, failing the build if backward-incompatible changes are detected without a version bump.

Schema completeness audit: Generate a matrix showing every endpoint vs. documentation status (description, request schema, response schemas for 200/400/401/404/500, examples), highlighting gaps with coverage percentage.

See ${CLAUDE_SKILL_DIR}/references/examples.md for additional examples.

Resources

Frequently asked questions about Validating API Schemas

Similar skills