skills/speakeasy-api/agent-skills/validate-openapi-spec

validate-openapi-spec

SKILL.md

validate-openapi-spec

Use speakeasy lint to check for errors and warnings in your OpenAPI spec.

When to Use

  • Checking if a spec is valid before generation
  • Identifying errors blocking SDK generation
  • User says: "validate spec", "lint spec", "is my spec valid"

Inputs

Input Required Description
OpenAPI spec Yes Path to spec file (-s)

Outputs

Output Description
Errors Issues that block SDK generation
Warnings Issues that may cause problems
Hints Best practice suggestions

Command

speakeasy lint openapi --non-interactive -s <path-to-spec>

Output Categories

Severity Meaning Action
Error Blocks SDK generation Must fix
Warning May cause issues Should fix
Hint Best practice suggestion Consider fixing

Common Validation Issues

Issue Solution
Missing operationId Add operationId or use speakeasy suggest operation-ids
Invalid $ref Fix the reference path
Missing response schema Add response schema definitions
Duplicate operationId Make operation IDs unique

AI-Friendly Output

For commands with large outputs, pipe to grep or tail to reduce context:

speakeasy lint openapi --non-interactive -s ./openapi.yaml 2>&1 | grep -E "(error|warning)"

What NOT to Do

  • Do NOT fix errors one-by-one without understanding root cause
  • Do NOT ignore warnings - they often indicate real problems
  • Do NOT modify the source spec without asking if it's externally managed

Troubleshooting

Error Cause Solution
"file not found" Invalid spec path Check the file path exists
Many duplicate errors Shared schema issues Fix the root schema, not each reference
"$ref not found" Broken reference Check the reference path matches actual location

Related Skills

  • diagnose-generation-failure - When lint errors cause generation to fail
  • fix-validation-errors-with-overlays - Fix issues without modifying source spec
  • get-ai-suggestions - Get AI-powered suggestions for improvements
Weekly Installs
9
GitHub Stars
6
First Seen
Jan 24, 2026
Installed on
claude-code8
antigravity7
codex7
opencode6
windsurf6
gemini-cli6