Claude-skill-registry asyncapi-design
Event-driven API specification with AsyncAPI 3.0 for message-based architectures
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/asyncapi-design" ~/.claude/skills/majiayu000-claude-skill-registry-asyncapi-design && rm -rf "$T"
manifest:
skills/data/asyncapi-design/SKILL.mdsource content
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:
- Invoke
skill for event-driven patternsdocs-management - Verify AsyncAPI 3.0 syntax via MCP servers (context7 for latest spec)
- 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
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
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
Channel Naming Convention
{domain}.{entity}.{action}.{version} Example: orders.order.created.v1
Workflow
- Identify events - What significant occurrences need to be communicated?
- Define channels - What topics/queues will carry these events?
- Design messages - What data does each event contain?
- Choose protocol - Kafka, RabbitMQ, MQTT, etc.?
- Add bindings - Protocol-specific configuration
- Document security - Authentication and authorization
- Version strategy - How will events evolve?
- Generate code - Use AsyncAPI generator for clients/handlers
References
Load on-demand based on need:
| Reference | Load When |
|---|---|
| basic-template.md | Creating a new AsyncAPI spec from scratch |
| protocol-patterns.md | Configuring Kafka, RabbitMQ, MQTT, WebSocket |
| csharp-implementation.md | Implementing in .NET/C# with MassTransit or Confluent |
| event-design-patterns.md | Event envelopes, versioning, best practices |
Related Skills (Cross-Plugin)
| Phase | Skill | Plugin | Purpose |
|---|---|---|---|
| DESIGN | (this skill) | formal-specification | Architecture research, pattern selection |
| 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:
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-17