/messaging
Message queues, events, and async communication patterns
Claude Code
$ npx -y skills add Fujigo-Software/f5-framework-claude --skill messaging --agent claude-code
Codex
$ npx skills add Fujigo-Software/f5-framework-claude --skill messaging -a codex -y
Cursor
$ npx skills add Fujigo-Software/f5-framework-claude --skill messaging -a cursor -y
Gemini CLI
$ npx skills add Fujigo-Software/f5-framework-claude --skill messaging -a gemini-cli -y
GitHub Copilot
$ npx skills add Fujigo-Software/f5-framework-claude --skill messaging -a github-copilot -y
OpenCode
$ npx skills add Fujigo-Software/f5-framework-claude --skill messaging -a opencode -y
Windsurf
$ npx skills add Fujigo-Software/f5-framework-claude --skill messaging -a windsurf -y
SKILL.md
messaging.SKILL.mdname: messaging
description: Message queues, events, and async communication patterns
category: skill
allowed-tools: Read, Write, Glob, Grep, Bash
user-invocable: true
context: inject
version: 1.0.0
Messaging Skills
Overview
Asynchronous communication patterns for building scalable, decoupled distributed systems. Messaging enables services to communicate without direct coupling, improving reliability and scalability.
Messaging Types
| Type | Description | Use Case | Examples | |------|-------------|----------|----------| | **Point-to-Point** | One sender, one receiver | Task distribution | RabbitMQ, SQS | | **Pub/Sub** | One sender, many receivers | Event broadcasting | Kafka, Redis Pub/Sub | | **Request/Reply** | Synchronous over async | RPC-style calls | RabbitMQ RPC | | **Event Streaming** | Ordered, replayable log | Event sourcing | Kafka, Kinesis |
Delivery Guarantees
| Guarantee | Description | Trade-off | |-----------|-------------|-----------| | **At-most-once** | Fire and forget | May lose messages | | **At-least-once** | Retry until acknowledged | May have duplicates | | **Exactly-once** | Deduplicated delivery | Complex, higher latency |
When to Use Messaging
Use Messaging For
- Decoupling services
- Async task processing
- Event-driven architectures
- Load leveling and buffering
- Cross-service communication
Avoid Messaging When
- Simple request/response is sufficient
- Strong consistency is required
- Real-time response is critical
- System complexity isn't justified
Categories
Fundamentals
Core messaging concepts:
- **Messaging Patterns** - Common communication patterns
- **Sync vs Async** - When to use each approach
- **Message Types** - Commands, events, and queries
Queues
Message queue implementations:
- **RabbitMQ** - Feature-rich message broker
- **Redis Queues** - Simple Redis-based queues
- **AWS SQS** - Managed queue service
- **BullMQ** - Node.js job queue
Events
Event-driven patterns:
- **Event-Driven Architecture** - EDA fundamentals
- **Apache Kafka** - Event streaming platform
- **Event Sourcing** - State as event log
- **Pub/Sub** - Publish-subscribe patterns
Patterns
Distributed system patterns:
- **Saga Pattern** - Distributed transactions
- **Outbox Pattern** - Reliable event publishing
- **Retry Strategies** - Handling failures
- **Dead Letter Queue** - Failed message handling
Reliability
Ensuring message delivery:
- **Delivery Guarantees** - At-most/least/exactly-once
- **Idempotency** - Safe message reprocessing
- **Message Ordering** - Maintaining sequence
Best Practices
Production considerations:
- **Message Design** - Schema and versioning
- **Error Handling** - Failure management
- **Monitoring** - Observability and alerting
Quick Reference
Message Broker Comparison
| Feature | RabbitMQ | Kafka | SQS | Redis | |---------|----------|-------|-----|-------| | Model | Queue | Log | Queue | Queue/Pub-Sub | | Ordering | Per-queue | Per-partition | FIFO option | Per-queue | | Persistence | Durable | Always | Always | Optional | | Replay | No | Yes | No | No | | Throughput | High | Very High | High | Very High | | Latency | Low | Low | Medium | Very Low |
Common Patterns
Producer → Queue → Consumer (Point-to-Point)
Producer → Exchange → Queue → Consumer (RabbitMQ)
Producer → Topic → Partition → Consumer Group (Kafka)
Publisher → Channel → Subscribers (Pub/Sub)
Integration with F5
# In f5-config.yaml
messaging:
broker: rabbitmq
queues:
- name: orders
durable: true
dlq: orders-dlq
events:
- topic: order.placed
retention: 7dRelated Skills
- [Architecture](/skills/architecture/) - System design patterns
- [Database](/skills/database/) - Transactional outbox
- [DevOps](/skills/devops/) - Message broker deployment
Read more
name: messaging description: Message queues, events, and async communication patterns category: skill allowed-tools: Read, Write, Glob, Grep, Bash user-invocable: true context: inject version: 1.0.0
Messaging Skills
Overview
Asynchronous communication patterns for building scalable, decoupled distributed systems. Messaging enables services to communicate without direct coupling, improving reliability and scalability.
Messaging Types
| Type | Description | Use Case | Examples | |------|-------------|----------|----------| | **Point-to-Point** | One sender, one receiver | Task distribution | RabbitMQ, SQS | | **Pub/Sub** | One sender, many receivers | Event broadcasting | Kafka, Redis Pub/Sub | | **Request/Reply** | Synchronous over async | RPC-style calls | RabbitMQ RPC | | **Event Streaming** | Ordered, replayable log | Event sourcing | Kafka, Kinesis |
Delivery Guarantees
| Guarantee | Description | Trade-off | |-----------|-------------|-----------| | **At-most-once** | Fire and forget | May lose messages | | **At-least-once** | Retry until acknowledged | May have duplicates | | **Exactly-once** | Deduplicated delivery | Complex, higher latency |
When to Use Messaging
Use Messaging For
- Decoupling services
- Async task processing
- Event-driven architectures
- Load leveling and buffering
- Cross-service communication
Avoid Messaging When
- Simple request/response is sufficient
- Strong consistency is required
- Real-time response is critical
- System complexity isn't justified
Categories
Fundamentals
Core messaging concepts:
- **Messaging Patterns** - Common communication patterns
- **Sync vs Async** - When to use each approach
- **Message Types** - Commands, events, and queries
Queues
Message queue implementations:
- **RabbitMQ** - Feature-rich message broker
- **Redis Queues** - Simple Redis-based queues
- **AWS SQS** - Managed queue service
- **BullMQ** - Node.js job queue
Events
Event-driven patterns:
- **Event-Driven Architecture** - EDA fundamentals
- **Apache Kafka** - Event streaming platform
- **Event Sourcing** - State as event log
- **Pub/Sub** - Publish-subscribe patterns
Patterns
Distributed system patterns:
- **Saga Pattern** - Distributed transactions
- **Outbox Pattern** - Reliable event publishing
- **Retry Strategies** - Handling failures
- **Dead Letter Queue** - Failed message handling
Reliability
Ensuring message delivery:
- **Delivery Guarantees** - At-most/least/exactly-once
- **Idempotency** - Safe message reprocessing
- **Message Ordering** - Maintaining sequence
Best Practices
Production considerations:
- **Message Design** - Schema and versioning
- **Error Handling** - Failure management
- **Monitoring** - Observability and alerting
Quick Reference
Message Broker Comparison
| Feature | RabbitMQ | Kafka | SQS | Redis | |---------|----------|-------|-----|-------| | Model | Queue | Log | Queue | Queue/Pub-Sub | | Ordering | Per-queue | Per-partition | FIFO option | Per-queue | | Persistence | Durable | Always | Always | Optional | | Replay | No | Yes | No | No | | Throughput | High | Very High | High | Very High | | Latency | Low | Low | Medium | Very Low |
Common Patterns
Producer → Queue → Consumer (Point-to-Point) Producer → Exchange → Queue → Consumer (RabbitMQ) Producer → Topic → Partition → Consumer Group (Kafka) Publisher → Channel → Subscribers (Pub/Sub)
Integration with F5
# In f5-config.yaml
messaging:
broker: rabbitmq
queues:
- name: orders
durable: true
dlq: orders-dlq
events:
- topic: order.placed
retention: 7dRelated Skills
- [Architecture](/skills/architecture/) - System design patterns
- [Database](/skills/database/) - Transactional outbox
- [DevOps](/skills/devops/) - Message broker deployment
Other skills on f5-framework.
architecture
Software architecture patterns, principles, and best practices
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about messaging.
- Which coding agents can use messaging?
- messaging installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

