Agent skill · software engineering · aiskillstore

event-driven-architecture

Generic Event-Driven Architecture patterns with Kafka, Dapr, and modern messaging systems. Provides reusable patterns for building scalable, resilient event-driven microservices. Framework-agnostic implementation supporting multiple message brokers, state stores, and event patterns. Follows 2025 best practices for distributed systems.

Why this skill is useful

Provides reusable patterns and a base event schema for implementing event-driven microservices that the AI wouldn't reliably generate on its own.

What it needs

About 7k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.

What this skill does

Event-Driven Architecture with Modern Patterns This skill provides comprehensive patterns for implementing event-driven microservices using modern messaging systems, distributed runtimes, and cloud-native patterns. It's designed to be framework-agnostic and applicable to any domain requiring event-driven capabilities. When to Use This Skill Use this skill when you need to: Build event-driven microservices architecture Implement pub/sub patterns with Kafka, RabbitMQ, or cloud services Use Dapr for distributed application patterns Implement real-time notifications and workflows Build recurring task and reminder systems Create audit trails and activity logs Implement distributed state management Build serverless event workflows Handle event sourcing and CQRS patterns 1. Core Event Architecture Base Event Schema Event Store Pattern 2. Message Broker Abstraction Generic Message Broker Interface `python messaging/broker.py import asyncio from abc import ABC, abstractmethod from typing import Any, Dict, Optional, Callable, List, AsyncIterator from dataclasses import dataclass from enum import Enum import json import logging logger = logging.getLogger(name) class MessageBrokerType(str, Enum): """Supported message broker types""" KAFKA = "kafka" RABBITMQ = "rabbitmq" REDIS = "redis" AWSSQS = "awssqs" AZURESB = "azureservicebus" GCPPUBSUB = "gcppubsub" NATS = "nats" EMQX = "emqx" @dataclass class Message: """Generic message representation""" topic: str key: Optional[str] value: Any headers: Optional[Dict[str, str]] = None partition: Optional[int] = None timestamp: Optional[int] = None def todict(self) -> Dict[str, Any]: """Convert message to dictionary""" return { "topic": self.topic, "key": self.key, "value": self.value, "headers": self.headers or {}, "partition": self.partition, "timestamp": self.timestamp } class MessageBroker(ABC): """Abstract message broker interface""" @abstractmethod async def connect(self) -> None: """Establish connection to broker""" pass @abstractme …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aiskillstore/event-driven-architecture

View the source on GitHub

Browse the @skills marketplace