Author and validate AsyncAPI 3.0 specifications for event-driven API design, message brokers, and async communication patterns
View on GitHubmelodic-software/claude-code-plugins
spec-driven-development
plugins/spec-driven-development/skills/asyncapi-authoring/SKILL.md
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/melodic-software/claude-code-plugins/blob/main/plugins/spec-driven-development/skills/asyncapi-authoring/SKILL.md -a claude-code --skill asyncapi-authoringInstallation paths:
.claude/skills/asyncapi-authoring/# AsyncAPI Authoring Skill
## When to Use This Skill
Use this skill when:
- **Asyncapi Authoring tasks** - Working on author and validate asyncapi 3.0 specifications for event-driven api design, message brokers, and async communication patterns
- **Planning or design** - Need guidance on Asyncapi Authoring approaches
- **Best practices** - Want to follow established patterns and standards
## Overview
Author AsyncAPI 3.0 specifications for event-driven architectures and async communication patterns.
## AsyncAPI 3.0 Structure
### Root Document
```yaml
asyncapi: "3.0.0"
info:
title: "{Service Name} Events API"
version: "1.0.0"
description: |
Event-driven API for {service} domain events and commands.
contact:
name: "{Team Name}"
email: "{team@company.com}"
license:
name: "MIT"
servers:
production:
host: "kafka.example.com:9092"
protocol: "kafka"
description: "Production Kafka cluster"
security:
- $ref: "#/components/securitySchemes/sasl"
development:
host: "localhost:9092"
protocol: "kafka"
description: "Local development"
defaultContentType: "application/json"
channels:
# Channel definitions
operations:
# Operation definitions
components:
# Reusable components
```
### Channels (AsyncAPI 3.0)
```yaml
channels:
orderEvents:
address: "orders.events.{orderId}"
description: "Channel for order lifecycle events"
parameters:
orderId:
description: "Order unique identifier"
schema:
type: string
format: uuid
messages:
orderCreated:
$ref: "#/components/messages/OrderCreated"
orderShipped:
$ref: "#/components/messages/OrderShipped"
orderDelivered:
$ref: "#/components/messages/OrderDelivered"
orderCancelled:
$ref: "#/components/messages/OrderCancelled"
orderCommands:
address: "orders.commands"
description: "Channel for order command messages"
messages:
createOrde