messaging-and-eventing

Design messaging and eventing systems with ordering, idempotency, and retry policies.

Updated Apr 25, 2026
One-click install
npx skills add https://github.com/Tiepbm/software-engineering-agent --skill messaging-and-eventing
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: messaging-and-eventing
Source: https://github.com/Tiepbm/software-engineering-agent/tree/main/skills/messaging-and-eventing
Command: npx skills add https://github.com/Tiepbm/software-engineering-agent --skill messaging-and-eventing

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Designs production messaging and event-driven systems with ordering, idempotency, retries, dead-letter handling, replay, contracts, and consumer operations.

Core Features & Use Cases

  • Define producer ownership, event source of truth, event schema, topic or queue strategy, delivery guarantees, and consumer ownership.
  • Specify ordering scope, partition key, deduplication, idempotency, retry policy, backoff, dead-letter handling, and replay procedure.
  • Design event contract versioning, compatibility, retention, compaction, correlation IDs, and auditability.
  • Make asynchronous failure modes visible and repairable by operators.

Quick Start

Design an initial event-driven architecture for an order-processing workflow, including topic names, ownership, schema, and DLQ rules.

Frequently Asked Questions about messaging-and-eventing

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

FAQPage Schema
How do I design reliable event-driven systems with dead-letter handling and retry policies?

Reliable event-driven systems require defining producer ownership, retry policies with backoff, and dead-letter queues to capture failed messages. You must also specify ordering scope, partition keys, and consumer ownership to ensure asynchronous failures are visible and repairable by operators.

What is the best way to implement idempotency and deduplication in Kafka-style streaming systems?

Idempotency in Kafka-style streams is achieved by specifying deduplication logic, partition keys for ordering scope, and consumer ownership. This ensures that replayed events or duplicate deliveries during retries do not cause duplicate processing across enterprise workloads like payments and notifications.

How do I manage event contract versioning and compatibility for pub/sub integrations?

Event contract versioning requires defining event schemas, managing compatibility across versions, and establishing retention or compaction rules. Correlation IDs and auditability must be specified to maintain traceability across producer and consumer ownership boundaries.

When do I need an outbox or inbox pattern for messaging systems?

Outbox and inbox patterns are needed when integrating brokered queues or pub/sub workflows across enterprise workloads like policy updates and claims. They ensure delivery guarantees and maintain an event source of truth alongside transactional database writes.

How do I set up replay tooling and observability for asynchronous failure modes?

Replay tooling and observability require making asynchronous failure modes visible by defining dead-letter handling, retention policies, and replay procedures. Operators need correlation IDs and clear consumer ownership boundaries to repair and reprocess failed events safely.

Does this approach work for both brokered queues and pub/sub eventing patterns?

Yes, this approach designs reliable messaging and eventing systems applicable to both brokered queues and pub/sub patterns. It satisfies delivery guarantees, retry policies, and event contract versioning across diverse enterprise workloads like payments, notifications, and claims.