asyncapi-design
Event-driven API specification with AsyncAPI 3.0 for message-based architectures
Best use case
asyncapi-design is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Event-driven API specification with AsyncAPI 3.0 for message-based architectures
Teams using asyncapi-design should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/asyncapi-design/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How asyncapi-design Compares
| Feature / Agent | asyncapi-design | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Event-driven API specification with AsyncAPI 3.0 for message-based architectures
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# AsyncAPI Design Skill
## When to Use This Skill
Use this skill when:
- **Designing event-driven APIs** - AsyncAPI 3.0 for message-based architectures
- **Configuring message brokers** - Kafka, RabbitMQ, MQTT, WebSocket bindings
- **Implementing in C#** - Event contracts, MassTransit, Confluent Kafka
- **Event versioning** - Schema evolution and backward compatibility
## MANDATORY: Documentation-First Approach
Before creating AsyncAPI specifications:
1. **Invoke `docs-management` skill** for event-driven patterns
2. **Verify AsyncAPI 3.0 syntax** via MCP servers (context7 for latest spec)
3. **Base all guidance on AsyncAPI 3.0 specification**
## AsyncAPI vs OpenAPI
| Aspect | OpenAPI | AsyncAPI |
|--------|---------|----------|
| Communication | Request/Response | Event-Driven |
| Protocol | HTTP/HTTPS | Kafka, RabbitMQ, MQTT, WebSocket |
| Initiator | Client requests | Publisher emits |
| Pattern | Synchronous | Asynchronous |
| Use Case | REST APIs | Message queues, streaming, IoT |
## AsyncAPI 3.0 Structure Overview
```yaml
asyncapi: 3.0.0
info:
title: API Title
version: 1.0.0
servers:
production:
host: kafka.example.com:9092
protocol: kafka
channels:
orderCreated:
address: orders.created
messages:
orderCreatedMessage:
$ref: '#/components/messages/OrderCreated'
operations:
publishOrderCreated:
action: send
channel:
$ref: '#/channels/orderCreated'
components:
messages: { }
schemas: { }
securitySchemes: { }
```
**For complete template**: See [basic-template.md](references/basic-template.md)
## Quick Reference
### Supported Protocols
| Protocol | Use Case | Binding Version |
|----------|----------|-----------------|
| Kafka | High-throughput streaming | 0.5.0 |
| AMQP (RabbitMQ) | Message queuing | 0.3.0 |
| MQTT | IoT, lightweight messaging | 0.2.0 |
| WebSocket | Real-time browser comms | - |
**For protocol-specific patterns**: See [protocol-patterns.md](references/protocol-patterns.md)
### Channel Naming Convention
```text
{domain}.{entity}.{action}.{version}
Example: orders.order.created.v1
```
## Workflow
1. **Identify events** - What significant occurrences need to be communicated?
2. **Define channels** - What topics/queues will carry these events?
3. **Design messages** - What data does each event contain?
4. **Choose protocol** - Kafka, RabbitMQ, MQTT, etc.?
5. **Add bindings** - Protocol-specific configuration
6. **Document security** - Authentication and authorization
7. **Version strategy** - How will events evolve?
8. **Generate code** - Use AsyncAPI generator for clients/handlers
## References
Load on-demand based on need:
| Reference | Load When |
|-----------|-----------|
| [basic-template.md](references/basic-template.md) | Creating a new AsyncAPI spec from scratch |
| [protocol-patterns.md](references/protocol-patterns.md) | Configuring Kafka, RabbitMQ, MQTT, WebSocket |
| [csharp-implementation.md](references/csharp-implementation.md) | Implementing in .NET/C# with MassTransit or Confluent |
| [event-design-patterns.md](references/event-design-patterns.md) | Event envelopes, versioning, best practices |
## Related Skills (Cross-Plugin)
| Phase | Skill | Plugin | Purpose |
| ----- | ----- | ------ | ------- |
| DESIGN | `asyncapi-design` (this skill) | formal-specification | Architecture research, pattern selection |
| AUTHORING | `asyncapi-authoring` | spec-driven-development | Concrete YAML file creation |
**Workflow:** Design (research event patterns) → Author (create YAML) → Implement (generate code)
## MCP Research
For current AsyncAPI patterns and tools:
```text
perplexity: "AsyncAPI 3.0 specification" "event-driven API design patterns"
context7: "asyncapi" (for official documentation)
ref: "AsyncAPI spec examples" "Kafka binding patterns"
```
## Version History
- **v2.0.0** (2026-01-17): Refactored to progressive disclosure pattern
- Extracted 4 reference files (~650 lines)
- Hub reduced from 789 to ~130 lines
- **v1.0.0** (2025-12-26): Initial release
---
**Last Updated:** 2026-01-17Related Skills
domain-driven-design
Plan and route Domain-Driven Design work from strategic modeling to tactical implementation and evented architecture patterns.
data-designer
Generate high-quality synthetic datasets using statistical samplers and Claude's native LLM capabilities. Use when users ask to create synthetic data, generate datasets, create fake/mock data, generate test data, training data, or any data generation task. Supports CSV, JSON, JSONL, Parquet output. Adapted from NVIDIA NeMo DataDesigner (Apache 2.0).
analytics-design
Design data analysis from purpose clarification to visualization. Use when analyzing data, exploring BigQuery schemas, building queries, or creating Looker Studio reports.
---name: aav-vector-design-agent
description: AI-powered adeno-associated virus (AAV) vector design for gene therapy including capsid engineering, promoter selection, and tropism optimization.
Schema Design
Migration-ready database schema design with normalization and indexing strategies
database-design
Database design principles and decision-making. Schema design, indexing strategy, ORM selection, serverless databases.
asyncapi-docs
AsyncAPI specification handling for event-driven API documentation. Parse, validate, and generate documentation for message-based APIs including Kafka, MQTT, WebSocket, and AMQP systems.
asyncapi-authoring
Author and validate AsyncAPI 3.0 specifications for event-driven API design, message brokers, and async communication patterns
API Test Design
Strategies for designing comprehensive API tests including contract testing, integration testing, and performance testing
api-rest-design
Apply when designing RESTful APIs, defining endpoints, HTTP methods, status codes, and response formats.
api-portal-design
API documentation and developer portal design
api-first-design
**API FIRST DESIGN**: 'API 만들어', 'API 설계', '엔드포인트', 'REST', 'Swagger', 'OpenAPI', 'DTO', 'CRUD' 요청 시 자동 발동. *.controller.ts/*.dto.ts/routes/** 파일 작업 시 자동 적용. Contract-First, 표준 응답 포맷, 타입 자동 생성.