openapi
Skill1 starsChanged 31 days agoMITView on GitHub
OpenAPI 3.2: write, validate and upgrade API descriptions (OpenAPI Specification 3.2.1, compatible with 3.1). Use when creating or reviewing an openapi.yaml or openapi.json, upgrading from OpenAPI 3.1 to 3.2, describing security (securitySchemes, OAuth 2.0 flows including the device authorization flow, oauth2MetadataUrl, deprecated schemes, security requirements), adding nested tags, the QUERY method, additionalOperations, querystring parameters, server-sent events and other streaming media types with itemSchema, or $self, naming x- specification extensions and namespaces from the OpenAPI Initiative Extension and Namespace registries, validating against the official OAS JSON Schemas, or tracking the OpenAPI 3.3 development line and the Security Profiles proposal. Triggers: OpenAPI, OAS, Swagger, openapi: 3.2.0, operationId, securitySchemes, x-oai-, spec.openapis.org.
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 39
Pick the target version and schema: Default to 3.2 at the latest patch.
- Very specific: line 42
Lay out the document: Write info, servers, paths with one Operation Object per method, components for reuse, and tags.
- Distinctive: line 54
Validate: Run the document through the official JSON Schema for its minor version, and fix what it reports.
- Very specific: line 57
Track 3.3, do not emit it: Read what the v3.3-dev branch and the Security Profiles proposal contain today.
- Very specific: line 74
references/objects.md: document structure, paths, operations, parameters, tags, references and schema dialects, with a minimal 3.2 …
“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
OpenAPI Specification
The OpenAPI Specification (OAS), published by the OpenAPI Initiative (OAI), defines a language-agnostic description of HTTP APIs (§ 2). With this skill the agent writes, reviews, upgrades and validates OpenAPI Descriptions (OADs) for 3.2, keeps them readable by 3.1 tooling when needed, and names extensions without colliding with anyone else.
Follow the workflow below step by step. Every rule here comes from a source in Sources, with the section it cites. Section numbers are those of OAS 3.2.1 unless a rule says otherwise. When a rule and the pinned source disagree, the source wins; when the source has a newer revision than the pin, follow the refresh steps.
Inputs (fill in, or ask before starting)
- Role: author (writes or generates the OAD), consumer (reads it: client generator, gateway, docs, agent), or reviewer.
- Target version: 3.2 (default) or 3.1, when a consumer cannot read 3.2 yet. Never 3.3: it is not released.
- Revision: the pinned revision in Sources, unless the user names another.
- Sources: when refreshing this skill or when a rule looks out of date, re-read every URL in Sources first, check spec.openapis.org/oas for a newer version or schema iteration, check the
v3.3-devbranch and the Security Profiles discussion for movement, and update the pins.
Invariants
openapinames the specification version. It is REQUIRED and tooling interprets the document by it (§ 4.1.1). Tooling SHOULD NOT distinguish patch versions, so 3.2.0 and 3.2.1 mean the same feature set (§ 2.1).- A document has
infoand at least one ofpaths,webhooksorcomponents(§ 4.1.1). operationIdis unique among all operations in the API and case-sensitive (§ 4.10.1).- Every path template expression has a matching path parameter, defined on the Path Item or on each of its operations (§ 4.8.2), and templated paths that differ only in parameter names MUST NOT both exist (§ 4.8.1).
- A parameter has either
schemaorcontent, never both (§ 4.12.2), is unique bynameplusin(§ 4.10.1), and anin: querystringparameter never sits next toin: queryparameters (§ 4.12.1). - Component keys match
^[a-zA-Z0-9\.\-_]+$(§ 4.7.1). - Security requirements mean OR across the array and AND within one object. Each name is a declared scheme or a scheme URI;
{}allows anonymous access; an operation'ssecurity: []removes the top-level requirement (§ 4.30, § 4.10.1). - Extensions start with
x-, andx-oai-andx-oas-are reserved for the OAI (§ 5). - A Reference Object carries only
$ref,summaryanddescription; other properties are ignored (§ 4.23.1). - When a document sets
$self, references to it use that URI (§ 4.1.1).
Workflow
- Pick the target version and schema. Default to 3.2 at the latest patch; drop to 3.1 only for a named consumer that cannot read 3.2.
->
references/versions.md✓openapiis set, and you know which official schema validates the document. - Lay out the document. Write
info,servers,pathswith one Operation Object per method,componentsfor reuse, andtags. Give every operation anoperationId, because Arazzo steps and Overlay targets join on it. ->references/objects.md✓ Invariants 2 to 6 and 9 hold. - Describe security. Declare schemes under
components.securitySchemes, set the rootsecuritydefault, and override per operation. Use the 3.2 fields for device authorization, server metadata and deprecation; on a 3.1 target use the registeredx-oai-*fallbacks. ->references/security.md✓ Every requirement name resolves, every OAuth scope used is declared on its flow, and public operations say so explicitly. - Name extensions. Reuse a registered extension when one fits its documented purpose; otherwise use your own registered or registrable namespace prefix.
->
references/registries.md✓ No inventedx-oai-orx-oas-names, and no writes into another party's namespace. - Upgrade an existing description (only when asked). Change the version, then replace extensions with native 3.2 fields one at a time.
->
references/versions.md✓ The upgraded document validates against the 3.2 schema and still describes the same API. - Validate. Run the document through the official JSON Schema for its minor version, and fix what it reports. Then check the rules a schema cannot see (invariants 3, 4 and 7).
->
references/validation.md✓ Schema validation passes with the latest iteration for the minor version. - Track 3.3, do not emit it. Read what the
v3.3-devbranch and the Security Profiles proposal contain today; record anything you plan around. ->references/drafts.md✓ Noopenapi: 3.3.xdocument,type: profilescheme or Path Itemsecurityfield is produced.
Verify before done
- The document validates against the official schema for its minor version, latest iteration (
references/validation.md); useschema-basewhen Schema Objects must be checked too. - Every
operationIdis unique (§ 4.10.1) and every path template has its parameter (§ 4.8.2). - Every Security Requirement name resolves to a declared scheme or a scheme URI (§ 4.30), and the OAuth scopes listed are among the available scopes of that scheme's flows (§ 4.29.1, § 4.30.1).
- Operations that need no authentication say so with
security: []or an{}entry, rather than by omission (§ 4.10.1). - Every extension is registered for the object it sits on, or lives under your own namespace (§ 5, Extension Registry).
- A 3.1 target uses no 3.2-only field; the
x-oai-*fallback is used where the registry defines one (references/security.md). - Nothing from the 3.3 development line is emitted.
Reference index
references/versions.md: 3.2.0 and 3.2.1 changes, 3.1 compatibility, the 3.1 to 3.2 upgrade path, and the registered fallbacks for 3.2 fields. Load for steps 1 and 5.references/objects.md: document structure, paths, operations, parameters, tags, references and schema dialects, with a minimal 3.2 example. Load for step 2.references/security.md: Security Scheme, OAuth Flows, OAuth Flow and Security Requirement Objects, 3.1 fallbacks, and the security considerations. Load for step 3.references/registries.md: the OAI Extension and Namespace registries, the reserved prefixes, and how to register. Load for step 4.references/validation.md: the official JSON Schemas,schemaversusschema-base, iteration rules, and what a schema cannot check. Load for step 6.references/drafts.md: the 3.3 development line and the Security Profiles proposal, with draft posture. Load for step 7.
Related skills
openapi-overlayto change an OAD repeatably without editing it:npx skills add ScaleDockHQ/scaledock-skills --skill openapi-overlay.openapi-arazzoto describe multi-step workflows over OpenAPI operations:npx skills add ScaleDockHQ/scaledock-skills --skill openapi-arazzo.typespecto design an API in TypeSpec and emit the OAD from it:npx skills add ScaleDockHQ/scaledock-skills --skill typespec.asyncapifor event-driven and message-based APIs:npx skills add ScaleDockHQ/scaledock-skills --skill asyncapi.
Sources
Status uses the publishing body's own maturity term. Checked is the date the source was last read.
- OpenAPI Specification v3.2.1: Released, 3.2.1 (2026-09-10), checked 2026-10-02.
- OAS 3.2.0 release notes: Released, 3.2.0 (2025-09-19), checked 2026-10-02.
- OpenAPI Specification v3.1.2: Released, 3.1.2 (2025-09-19), checked 2026-10-02.
- Upgrading from OpenAPI 3.1 to 3.2: OAI guide (non-normative), page as published, checked 2026-10-02.
- OpenAPI Specification versions and schema iterations: OAI index, latest v3.2.1, checked 2026-10-02.
- OAS 3.2 JSON Schema: Published schema, iteration 2026-08-30, checked 2026-10-02.
- OAS 3.2 JSON Schema with Schema Object validation: Published schema, iteration 2026-08-30, checked 2026-10-02.
- OAS 3.1 JSON Schema: Published schema, iteration 2026-08-03, checked 2026-10-02.
- OAS 3.1 JSON Schema with Schema Object validation: Published schema, iteration 2026-08-03, checked 2026-10-02.
- OAS
v3.3-devbranch text: In development, commit aa2f6c0 (2026-09-24), checked 2026-10-02. Draft posture: track. - Proposal: Supporting Loose-Coupling in Security Schemes and Security Requirements Objects (Security Profiles): Proposal under discussion (moved from OpenAPI-Specification discussion #5304), expanded design notes 2026-05-05, checked 2026-10-02. Draft posture: track.
- OpenAPI Initiative newsletter, June 2026: OAI announcement, 2026-06-09, checked 2026-10-02.
- OAI registries: Living registries, as published, checked 2026-10-02.
- Extension Registry: Living registry, as published, checked 2026-10-02.
- Namespace Registry: Living registry, as published, checked 2026-10-02.
- Registry contribution guide: OAI repository guide, main branch, checked 2026-10-02.
Other versions11 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 11
- PyGithub/PyGithub★ 7.8ksame name
- flexprice/flexprice★ 6.9ksame name
- Resgrid/Core★ 229same name
- jkaninda/okapi-skills★ 3same name
- DeepSpaceCartel/skills★ 2same name
- ffsshhttiikk/opencode-agents-skills★ 2same name
- batur/ts-baseline-docs★ 1same name
- mgoericke/claude-skills-devcontainer★ 1same name
- evgyur/hermes-openapi-skill★ 0same name
- ftcalvinwang-ai/claude_skills★ 0same name
1 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository40 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- find-skillsSkill
- a2aSkill
- ag-uiSkill
- ap2Skill
- asyncapiSkill
- authzenSkill
- cedarSkill
- cloudeventsSkill
- eu-ai-actSkill
- fapiSkill
- gnapSkill
- jwtSkill
- mcp-authorizationSkill
- oauthSkill
- ocsfSkill
- openapi-arazzoSkill
- openapi-overlaySkill
- openfeatureSkill
- openid4vcSkill
- openid-connectSkill
- openid-federationSkill
- openidSkill
- opentelemetry-genaiSkill
- owasp-agenticSkill
- problem-detailsSkill
- ratelimit-headersSkill
- scaledock-agent-permissionsSkill
- scaledock-enterprise-identitySkill
- scaledock-http-apiSkill
- scaledock-mcp-serverSkill
- scaledock-repo-standardSkill
- scimSkill
- shared-signalsSkill
- spiffeSkill
- standard-schemaSkill
- typespecSkill
- web-bot-authSkill
- webmcpSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

