Messaging & Event Systems

Implement NATS pub/sub and Temporal workflows for event-driven architectures.

Updated Jan 12, 2026
One-click install
npx skills add https://github.com/drdave-flexnetos/ripple-env --skill messaging-event-systems-drdave-flexnetos
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Messaging & Event Systems
Source: https://github.com/drdave-flexnetos/ripple-env/tree/main/.claude/skills/messaging
Command: npx skills add https://github.com/drdave-flexnetos/ripple-env --skill messaging-event-systems-drdave-flexnetos

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Messaging and workflow orchestration help you decouple services and reliably process events over time instead of relying on fragile, tightly coupled request/response calls that fail under load.

Core Features & Use Cases

  • NATS Pub/Sub and Streaming (JetStream): Use subjects, wildcard subscriptions, queue groups, and JetStream persistence for event delivery and replayable streams (e.g., orders.created → order processors).
  • Request/Reply for service interactions: Implement synchronous-feeling RPC semantics over NATS for lightweight service pings and queries.
  • Temporal durable workflows and activities: Model long-running processes with retries, task queues, signals, and queries (e.g., order fulfillment spanning payment, email, and shipping).
  • Event-driven architecture patterns: Apply event sourcing, CQRS, and saga/compensation flows to keep state consistent across distributed systems.

Quick Start

Set up NATS pub/sub and start a Temporal workflow for order processing by following the NATS commands to publish events and then the Temporal CLI to start and query the workflow for an order id like "order-123".

Frequently Asked Questions about Messaging & Event Systems

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

FAQPage Schema
How do I decouple producers and consumers in an event-driven architecture?

To decouple producers and consumers in an event-driven architecture, use NATS pub/sub with JetStream for event delivery and Temporal for durable workflow orchestration, ensuring reliable async processing without tightly coupled request/response calls.

What's the best way to handle long-running processes with retries and compensation flows?

The best way to handle long-running processes with retries and compensation flows is using Temporal durable workflows and activities to model tasks like order fulfillment, applying saga patterns for consistent state across distributed systems.

How does NATS JetStream support event sourcing and replayable streams?

NATS JetStream supports event sourcing and replayable streams by providing persistent messaging with subjects, wildcard subscriptions, and queue groups, enabling durable event storage and subsequent event replay for consumers.

Can I implement synchronous-feeling RPC interactions over async messaging?

You can implement synchronous-feeling RPC interactions over async messaging by using NATS request/reply semantics, which allow lightweight service pings and queries while maintaining underlying asynchronous communication.

When do I need Temporal signals and queries for workflow orchestration?

You need Temporal signals and queries for workflow orchestration when managing long-running processes that require external updates during execution or runtime state inspection, such as tracking an order through payment and shipping stages.

How to set up task queues for reliable event processing in distributed systems?

To set up task queues for reliable event processing in distributed systems, configure correct NATS subjects, streams, and consumers alongside Temporal task queues and activity definitions to guarantee durable execution and automatic retries.