Skill

asyncapi-design

Event-driven API specification with AsyncAPI 3.0 for message-based architectures

From formal-specification
Install
1
Run in your terminal
$
npx claudepluginhub melodic-software/claude-code-plugins --plugin formal-specification
Tool Access

This skill is limited to using the following tools:

ReadGlobGrepWriteEditmcp__perplexity__searchmcp__context7__resolve-library-idmcp__context7__query-docs
Supporting Assets
View in Repository
references/basic-template.md
references/csharp-implementation.md
references/event-design-patterns.md
references/protocol-patterns.md
Skill 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:

  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

AspectOpenAPIAsyncAPI
CommunicationRequest/ResponseEvent-Driven
ProtocolHTTP/HTTPSKafka, RabbitMQ, MQTT, WebSocket
InitiatorClient requestsPublisher emits
PatternSynchronousAsynchronous
Use CaseREST APIsMessage 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

ProtocolUse CaseBinding Version
KafkaHigh-throughput streaming0.5.0
AMQP (RabbitMQ)Message queuing0.3.0
MQTTIoT, lightweight messaging0.2.0
WebSocketReal-time browser comms-

For protocol-specific patterns: See protocol-patterns.md

Channel Naming Convention

{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:

ReferenceLoad When
basic-template.mdCreating a new AsyncAPI spec from scratch
protocol-patterns.mdConfiguring Kafka, RabbitMQ, MQTT, WebSocket
csharp-implementation.mdImplementing in .NET/C# with MassTransit or Confluent
event-design-patterns.mdEvent envelopes, versioning, best practices

Related Skills (Cross-Plugin)

PhaseSkillPluginPurpose
DESIGNasyncapi-design (this skill)formal-specificationArchitecture research, pattern selection
AUTHORINGasyncapi-authoringspec-driven-developmentConcrete 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

Similar Skills
ui-ux-pro-max

UI/UX design intelligence for web and mobile. Includes 50+ styles, 161 color palettes, 57 font pairings, 161 product types, 99 UX guidelines, and 25 chart types across 10 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, and HTML/CSS). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, and check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, and mobile app. Elements: button, modal, navbar, sidebar, card, table, form, and chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, and flat design. Topics: color systems, accessibility, animation, layout, typography, font pairing, spacing, interaction states, shadow, and gradient. Integrations: shadcn/ui MCP for component search and examples.

49.4k
Stats
Parent Repo Stars40
Parent Repo Forks6
Last CommitJan 17, 2026