Awesome-omni-skill Rabbitmq Patterns
Comprehensive guide to RabbitMQ messaging patterns and best practices
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/backend/rabbitmq-patterns" ~/.claude/skills/diegosouzapw-awesome-omni-skill-rabbitmq-patterns && rm -rf "$T"
skills/backend/rabbitmq-patterns/SKILL.mdRabbitmq Patterns
Skill Profile
(Select at least one profile to enable specific modules)
- DevOps
- Backend
- Frontend
- AI-RAG
- Security Critical
Overview
Comprehensive guide to RabbitMQ messaging patterns and best practices for distributed systems. This skill covers exchange types (direct, topic, fanout, headers), message patterns (work queue, pub/sub, routing, RPC), producer and consumer patterns, dead letter queues, message acknowledgment, persistence, error handling, performance optimization, and production setup.
Why This Matters
RabbitMQ is a powerful message broker that enables flexible, reliable messaging patterns for distributed systems. Understanding RabbitMQ patterns is essential for building scalable, fault-tolerant, and maintainable messaging architectures.
Core Concepts & Rules
1. Core Principles
- Follow established patterns and conventions
- Maintain consistency across codebase
- Document decisions and trade-offs
2. Implementation Guidelines
- Start with the simplest viable solution
- Iterate based on feedback and requirements
- Test thoroughly before deployment
Inputs / Outputs / Contracts
Skill Composition
- Depends on: None
- Compatible with: None
- Conflicts with: None
- Related Skills: None
Quick Start / Implementation Example
- Review requirements and constraints
- Set up development environment
- Implement core functionality following patterns
- Write tests for critical paths
- Run tests and fix issues
- Document any deviations or decisions
# Example implementation following best practices def example_function(): # Your implementation here pass
Assumptions
- RabbitMQ broker is properly configured and accessible
- Network connectivity between applications and broker
- Appropriate permissions for queue/exchange operations
- Sufficient disk space for persistent messages
- Proper resource allocation (memory, CPU)
Compatibility
- AMQP: 0-9-1 protocol
- Node.js: 14+
- TypeScript: 4.0+
- Python: 3.7+
- RabbitMQ: 3.8+
- amqplib: Latest version
- Pika: Latest version
Test Scenario Matrix (QA Strategy)
| Type | Focus Area | Required Scenarios / Mocks |
|---|---|---|
| Unit | Core Logic | Must cover primary logic and at least 3 edge/error cases. Target minimum 80% coverage |
| Integration | DB / API | All external API calls or database connections must be mocked during unit tests |
| E2E | User Journey | Critical user flows to test |
| Performance | Latency / Load | Benchmark requirements |
| Security | Vuln / Auth | SAST/DAST or dependency audit |
| Frontend | UX / A11y | Accessibility checklist (WCAG), Performance Budget (Lighthouse score) |
Technical Guardrails & Security Threat Model
1. Security & Privacy (Threat Model)
- Top Threats: Injection attacks, authentication bypass, data exposure
- Data Handling: Sanitize all user inputs to prevent Injection attacks. Never log raw PII
- Secrets Management: No hardcoded API keys. Use Env Vars/Secrets Manager
- Authorization: Validate user permissions before state changes
2. Performance & Resources
- Execution Efficiency: Consider time complexity for algorithms
- Memory Management: Use streams/pagination for large data
- Resource Cleanup: Close DB connections/file handlers in finally blocks
3. Architecture & Scalability
- Design Pattern: Follow SOLID principles, use Dependency Injection
- Modularity: Decouple logic from UI/Frameworks
4. Observability & Reliability
- Logging Standards: Structured JSON, include trace IDs
request_id - Metrics: Track
,error_rate
,latencyqueue_depth - Error Handling: Standardized error codes, no bare except
- Observability Artifacts:
- Log Fields: timestamp, level, message, request_id
- Metrics: request_count, error_count, response_time
- Dashboards/Alerts: High Error Rate > 5%
Agent Directives & Error Recovery
(ข้อกำหนดสำหรับ AI Agent ในการคิดและแก้ปัญหาเมื่อเกิดข้อผิดพลาด)
- Thinking Process: Analyze root cause before fixing. Do not brute-force.
- Fallback Strategy: Stop after 3 failed test attempts. Output root cause and ask for human intervention/clarification.
- Self-Review: Check against Guardrails & Anti-patterns before finalizing.
- Output Constraints: Output ONLY the modified code block. Do not explain unless asked.
Definition of Done (DoD) Checklist
- Tests passed + coverage met
- Lint/Typecheck passed
- Logging/Metrics/Trace implemented
- Security checks passed
- Documentation/Changelog updated
- Accessibility/Performance requirements met (if frontend)
Anti-patterns
- Using auto-ack: Always use manual acknowledgments
- Ignoring prefetch: Set appropriate prefetch for fair dispatch
- No DLQ: Always configure dead letter queues
- Not using publisher confirms: Use confirms for reliable delivery
- Ignoring persistence: Use durable queues for critical data
- No error handling: Implement proper error handling
- No reconnection logic: Handle connection failures
- Large messages: Keep messages small (< 1MB)
Reference Links & Examples
- Internal documentation and examples
- Official documentation and best practices
- Community resources and discussions
Versioning & Changelog
- Version: 1.0.0
- Changelog:
- 2026-02-22: Initial version with complete template structure