asyncapi
Skill1 starsChanged 31 days agoMITView on GitHub
AsyncAPI 3.1: describe event-driven and message-based APIs with servers, channels, operations, messages, protocol bindings and security schemes. Use when writing, reviewing or validating an asyncapi.yaml or asyncapi.json for Kafka, AMQP, MQTT, NATS, WebSockets, SNS/SQS, Pulsar, ROS 2 or other brokers, modeling send and receive operations, request-reply with reply addresses, channel address parameters, message headers and payloads in JSON Schema, Avro or Protobuf (Multi Format Schema Object), correlation IDs, traits, server and operation security (SASL, OAuth 2.0, API keys, X.509), migrating an AsyncAPI 2.x document (publish and subscribe) to 3.x, or validating against the official AsyncAPI JSON Schema. Triggers: AsyncAPI, asyncapi: 3.1.0, event-driven API, message broker, channel address, action send receive, bindings, schemaFormat.
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 51
Add bindings and security: Put broker-specific settings in bindings at the server, channel, operation or message level, and declare …
- Very specific: line 73
references/objects.md: every object and field of the 3.1.0 document model, runtime expressions and traits.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AsyncAPI Specification
The AsyncAPI Specification, published by the AsyncAPI Initiative, describes message-driven APIs in a machine-readable, protocol-agnostic format. A document describes one application: the servers it connects to, the channels messages flow through, the operations the application performs, and the messages themselves. With this skill the agent writes, reviews, migrates and validates AsyncAPI 3.x documents.
Follow the workflow below step by step. Every rule here comes from a source in Sources, with the object it cites. The AsyncAPI Specification has no numbered sections, so rules cite the object or section heading (for example "§ Operation Object"). 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 (describes an application), consumer (generates code or docs from a document), or reviewer.
- The application: which side it is. Every operation describes what this application does (
sendorreceive), not what others do. - Protocols and brokers in use, which decide the bindings.
- 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 the AsyncAPI releases page and the spec-json-schemas releases for a newer version, and update the pins.
Invariants
asyncapiandinfoare REQUIRED (§ AsyncAPI Object);infoneedstitleandversion(§ Info Object). Tooling ignores the patch version (§ AsyncAPI Version String).- Everything outside
componentsMUST be used by the application; components may or may not be (§ File Structure). - Root
operationsare operations the application MUST implement, each withaction: send | receiveand achannelreference (§ Operations Object, § Operation Object). - References between root objects stay at the root. A root operation's
channelpoints into rootchannels, and a root channel'sserverspoint into rootservers; both MUST be Reference Objects (§ Operation Object, § Channel Object). - Every message on a channel MUST be valid against exactly one of the channel's messages (§ Channel Object). An operation's
messagesMUST be a subset of its channel's messages (§ Operation Object). - A channel
addresshas no query or fragment, andparametersappear only when the address has{name}expressions, one per expression (§ Channel Object, § Parameters Object). - Message
headersMUST NOT define protocol headers (§ Message Object), and a binding MUST define only protocol-specific information (§ Definitions, Bindings). - Security lists are alternatives: one scheme in a server's or operation's
securitylist suffices, and operation security adds to server security (§ Server Object, § Operation Object). - Traits never override the target. They merge with JSON Merge Patch in order, and a trait property MUST NOT override the same property on the object (§ Traits Merge Mechanism).
- Component keys match
^[a-zA-Z0-9\.\-_]+$(§ Components Object), and extensions match^x-[\w\d\.\x2d_]+$(§ Specification Extensions).
Workflow
- Fix the point of view. Name the application the document describes and give it an
id, preferably a URN (§ Identifier). ✓ Every operation can be read as "this application sends" or "this application receives". - Describe servers. Give each
host,protocol, optionalpathname,protocolVersion, variables andsecurity. ->references/objects.md,references/bindings-and-security.md✓ No server has aurlfield; that was 2.x. - Describe channels and messages. Key each channel by an ID, put the topic or path in
address, list its messages, and add parameters for address expressions. ->references/objects.md✓ Invariants 5 and 6 hold. - Describe operations. One operation per thing the application does, with
action, achannelreference, optionalmessages, andreplyfor request-reply. ->references/objects.md,references/examples.md✓ Invariants 3 and 4 hold, and reply channels with a dynamic address useaddress: nullplus a replyaddresslocation. - Add bindings and security. Put broker-specific settings in bindings at the server, channel, operation or message level, and declare security schemes under
components.securitySchemes. ->references/bindings-and-security.md✓ Every binding key is one of the defined protocols, and every security entry is a scheme or a reference to one. - Migrate a 2.x document (only when asked). Use the converter, then review the result against the list of breaking changes.
->
references/migration-from-2.md✓ Nopublish,subscribe,oneOfmessage lists orurlserver fields remain. - Validate. Validate with the JSON Schema for the exact version declared, then check the rules the schema cannot express.
->
references/validation.md✓ Schema validation passes, and the manual checks pass.
Verify before done
- The document validates against the official JSON Schema for its exact
asyncapiversion, for example3.1.0.jsonfrom spec-json-schemas v6.11.1 (references/validation.md). - Every root operation's channel is a root channel, and every root channel's servers are root servers (§ Operation Object, § Channel Object).
- Every operation's
messagesis a subset of its channel's messages (§ Operation Object). - Every address expression has a parameter, and every parameter has an expression (§ Parameters Object).
- Every message has a
contentTypeor the document hasdefaultContentType(§ Message Object). - Non-default payload formats use a Multi Format Schema Object with a
schemaFormatfrom the formats table, and references inside it use the same format (§ Multi Format Schema Object). - The file is named
asyncapi.yamlorasyncapi.jsonby convention (§ File Structure).
Reference index
references/objects.md: every object and field of the 3.1.0 document model, runtime expressions and traits. Load for steps 2 to 4.references/bindings-and-security.md: binding keys per object and the security scheme types, OAuth flows and their semantics. Load for steps 2 and 5.references/migration-from-2.md: the breaking changes from 2.x to 3.x, with before and after YAML. Load for step 6.references/validation.md: the official JSON Schemas and what they cannot check. Load for step 7.references/examples.md: complete 3.1 documents (event notification and request-reply). Load for step 4.
Related skills
openapifor request-response HTTP APIs described with OpenAPI:npx skills add ScaleDockHQ/scaledock-skills --skill openapi.openapi-arazzofor workflows that combine AsyncAPI send and receive steps with OpenAPI calls:npx skills add ScaleDockHQ/scaledock-skills --skill openapi-arazzo.
Sources
Status uses the publishing body's own maturity term. Checked is the date the source was last read.
- AsyncAPI Specification 3.1.0: Released, 3.1.0 (2026-01-31), checked 2026-10-02.
- AsyncAPI Specification 3.1.0 source text: Released, tag v3.1.0, checked 2026-10-02.
- AsyncAPI 3.1.0 release: Released, v3.1.0 (2026-01-31), checked 2026-10-02.
- Migrating to v3: AsyncAPI guide (non-normative), page as published, checked 2026-10-02.
- AsyncAPI 3.1.0 JSON Schema: Official schema, spec-json-schemas v6.11.1 (2026-01-30), checked 2026-10-02.
- AsyncAPI 3.0.0 JSON Schema: Official schema, spec-json-schemas v6.11.1 (2026-01-30), checked 2026-10-02.
- spec-json-schemas README: Repository guide, v6.11.1, checked 2026-10-02.
In this repository40 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- find-skillsSkill
- a2aSkill
- ag-uiSkill
- ap2Skill
- authzenSkill
- cedarSkill
- cloudeventsSkill
- eu-ai-actSkill
- fapiSkill
- gnapSkill
- jwtSkill
- mcp-authorizationSkill
- oauthSkill
- ocsfSkill
- openapi-arazzoSkill
- openapi-overlaySkill
- openapiSkill
- 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.

