event-driven-architecture-expert

Designs Kafka-based ordering pipelines with transactional outbox, idempotent consumers, and DLQ policies for backend microservices architectures.

2|Updated Feb 11, 2026
One-click install
npx skills add https://github.com/curiositech/port-daddy --skill event-driven-architecture-expert
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: event-driven-architecture-expert
Source: https://github.com/curiositech/port-daddy/tree/main/skills/event-driven-architecture-expert
Command: npx skills add https://github.com/curiositech/port-daddy --skill event-driven-architecture-expert

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps teams design and operate reliable asynchronous messaging systems that prevent data loss, preserve ordering where required, and provide operational controls for retries, dead-letter handling, and schema evolution.

Core Features & Use Cases

  • Broker selection & topology: guidance for choosing Kafka, RabbitMQ, Redis Streams, or cloud event buses and designing topics/exchanges, partitions, and routing.
  • Reliability patterns: transactional outbox, idempotent consumers, retry strategies, dead-letter queues, and partitioning for ordered processing.
  • Schema & serialization: CloudEvents recommendations, Avro/Protobuf/JSON Schema guidance, and schema registry best practices for backward compatibility.
  • Operational playbook: consumer lag monitoring, queue-depth alerting, load testing at 2x expected throughput, and recovery procedures for crashed agents.
  • Use case: Build a decoupled order-processing pipeline where transactions write to an outbox, a publisher forwards events to Kafka, and multiple consumers (fulfillment, notifications, analytics) process events with DLQ routing on repeated failures.

Quick Start

Use the event-driven architecture expert to design a Kafka-based ordering pipeline with transactional outbox, idempotent consumers, and dead-letter queue policies.

Frequently Asked Questions about event-driven-architecture-expert

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design an event-driven architecture with Kafka and a transactional outbox?

To design an event-driven architecture with a transactional outbox, write events to an outbox table within the same database transaction as your business data, then forward them to Kafka. This pattern prevents data loss and ensures reliable asynchronous communication across decoupled microservices.

What is the best way to ensure idempotent consumers in a RabbitMQ pub-sub system?

Idempotent consumers in a RabbitMQ pub-sub system are achieved by tracking processed event IDs or using deterministic business keys. This ensures that duplicate messages consumed from the broker do not cause unintended side effects or duplicate data mutations.

When do I need schema registry and Avro for my event-driven microservices?

You need a schema registry and Avro when managing structured event payloads across distributed microservices. They enforce backward compatibility, prevent breaking changes, and ensure consumers can reliably deserialize evolving event schemas.

How do I monitor consumer lag and queue depth in a Redis Streams event bus?

Monitor consumer lag and queue depth in Redis Streams by tracking the distance between the stream's last generated ID and the consumer group's last delivered ID. Set up operational alerting to detect backlogs and trigger recovery procedures for crashed consumers.

Should I use Kafka or Redis Streams for ordered event processing and fan-out?

Choose Kafka for high-throughput, persistent ordered event processing using partitions, while Redis Streams suits lighter fan-out scenarios requiring lower latency. Both support competing consumers, but Kafka provides stronger durability and partitioning strategies for ordered processing.