openapi

v2026.09.24

OpenAPI 3.1 specification, schema design, and code generation. Use when designing REST APIs, generating TypeScript clients, or creating API documentation. Use for openapi, swagger, api-spec, schema, code-generation, api-docs, openapi-typescript, zod-openapi.

GitHub
安装命令
npx skhub add oakoss/openapi
Markdown
SKILL.md

OpenAPI

Overview

OpenAPI Specification (OAS) 3.1 is the industry standard for describing HTTP APIs. It defines a machine-readable contract covering endpoints, request/response schemas, authentication, and error formats. OpenAPI 3.1 is a strict superset of JSON Schema Draft 2020-12, enabling full JSON Schema compatibility for data validation and type generation.

When to use: Designing REST APIs, generating typed clients (TypeScript, Python, Go), producing interactive documentation, validating request/response payloads, contract-first API development, API gateway configuration.

When NOT to use: GraphQL APIs (use the GraphQL schema), gRPC services (use Protocol Buffers), WebSocket-only protocols, internal function calls that never cross a network boundary.

Quick Reference

PatternElementKey Points
Document rootopenapi, info, pathsopenapi: '3.1.0' required at top level
Path item/resources/{id}Curly braces for path parameters
Operationget, post, put, delete, patchEach operation needs operationId and responses
Parametersin: path|query|header|cookiePath params are always required: true
Request bodyrequestBody.contentKeyed by media type (application/json)
Responseresponses.200.contentAt least one response required per operation
Component ref$ref: '#/components/schemas/Name'Reuse schemas, parameters, responses
Schema typestype: string|number|integer|boolean|array|objectArrays support type: ["string", "null"] in 3.1
CompositiononeOf, anyOf, allOfModel polymorphism and intersection types
Discriminatordiscriminator.propertyNameHint for code generators with oneOf/anyOf
SecuritysecuritySchemes + top-level securityBearer, API key, OAuth2, OpenID Connect
Tagstags on operationsGroup operations for documentation
Type generationopenapi-typescriptZero-runtime TypeScript types from spec
Typed fetchopenapi-fetchType-safe HTTP client using generated types
React Queryopenapi-react-queryType-safe React Query hooks from spec
Schema-firstzod-openapiGenerate OpenAPI documents from Zod schemas

Common Mistakes

MistakeCorrect Pattern
Using nullable: true in 3.1Use type: ["string", "null"] (3.0 syntax removed)
Missing operationId on operationsAlways set unique operationId for code generation
Path parameter not in requiredPath parameters are always required (required: true)
Inline schemas everywhereExtract to components/schemas and use $ref
allOf with conflicting required fieldsMerge required arrays; allOf unions them
Discriminator without shared propertyAll schemas in oneOf/anyOf must include the discriminator property
Empty description on responsesEvery response needs a meaningful description
Using type: object without propertiesAlways define properties or use additionalProperties
Circular $ref chainsBreak cycles with lazy resolution or restructure schemas
Mixing 3.0 and 3.1 syntaxChoose one version; 3.1 drops nullable, changes exclusiveMinimum to number

Delegation

  • API design review: Use Task agent to audit spec completeness and consistency
  • Type generation: Use Explore agent to find project-specific OpenAPI tooling config
  • Code review: Delegate to code-reviewer agent for generated client usage patterns

If the typescript-patterns skill is available, delegate advanced TypeScript typing questions to it.

References

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

Sep 24, 2026

分类

未分类

许可证

未指定

源路径

skills/openapi

默认分支

main

最新提交

85e3a39

Tree SHA

a4c9e7b