CCM
/Skills
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Rabbitmq Development

mindrally/skills
578 installs128 stars
Summary

This covers the full spectrum of RabbitMQ development, from exchange types and queue management to production concerns like backpressure and circuit breakers. It's opinionated in the right ways: pushes you toward quorum queues over classic mirrored ones, warns against infinite retry loops that can DoS yourself, and reminds you that queues are single-threaded so you need multiple queues to saturate multi-core boxes. The guidance on prefetch tuning, connection pooling, and when to use manual acks versus auto-ack is immediately applicable. If you're building anything beyond a toy message queue system, the sections on dead letter exchanges, retry patterns, and monitoring metrics will save you from common production headaches.

Install to Claude Code

npx -y skills add mindrally/skills --skill rabbitmq-development --agent claude-code

Installs into .claude/skills of the current project.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Files
SKILL.mdView on GitHub

RabbitMQ Development

You are an expert in RabbitMQ and AMQP (Advanced Message Queuing Protocol) development. Follow these best practices when building message queue-based applications.

Core Principles

  • RabbitMQ is a message broker that receives messages from publishers and routes them to consumers
  • AMQP 0-9-1 is the most commonly used protocol - an application layer protocol transmitting data in binary format
  • Design for reliability, scalability, and fault tolerance
  • Leave NO todos, placeholders, or missing pieces in the implementation

Architecture Components

Exchanges

  • Direct Exchange: Routes based on exact routing key match - use for unicast routing
  • Fanout Exchange: Routes to all bound queues regardless of routing key - use for broadcast
  • Topic Exchange: Routes based on wildcard pattern matching - use for multicast routing
  • Headers Exchange: Routes based on message header attributes - use for complex routing logic

Queues

  • Queues store messages until consumed
  • Can be durable (survives broker restart) or transient (in-memory only)
  • Metadata of durable queues is stored on disk
  • Metadata of transient queues is stored in memory when possible

Bindings

  • Connect exchanges to queues with routing rules
  • Binding keys determine which messages reach which queues
  • Multiple bindings can connect the same exchange to multiple queues

Queue Management Best Practices

Queue Size

  • Keep queue sizes small - large queues put heavy load on RAM usage
  • RabbitMQ flushes messages to disk when RAM is constrained, impacting performance
  • Monitor queue depth and implement backpressure mechanisms
  • Use TTL (Time-To-Live) to automatically remove old messages

Queue Types

Classic Queues

  • Traditional RabbitMQ queue implementation
  • Good for most use cases
  • Supports all features (lazy queues, priorities, etc.)

Quorum Queues (Recommended)

  • Introduced in RabbitMQ 3.8
  • Replicated queue type for high availability and data safety
  • Declare with x-queue-type: quorum
  • Use for queues requiring durability and fault tolerance
  • Cannot be set via policy - must be declared by client

Performance Optimization

  • Use transient messages for fastest throughput when durability isn't required
  • Persistent messages are written to disk immediately, affecting throughput
  • Queues are single-threaded - one queue handles up to ~50,000 messages
  • Use multiple queues for better throughput on multi-core systems
  • Have as many queues as cores on the underlying nodes

Connection and Channel Management

Connections

  • Each connection uses approximately 100 KB of RAM (more with TLS)
  • Thousands of connections can burden the server significantly
  • Implement connection pooling in your applications
  • Reuse connections where possible

Channels

  • Channels are lightweight connections multiplexing a single TCP connection
  • Publishing and consuming happens over channels
  • Create channels per thread/operation, not per message
  • Close channels when no longer needed to free resources

Prefetch and Consumer Configuration

Prefetch (QoS)

  • Prefetch defines how many unacknowledged messages a consumer receives at once
  • Setting prefetch optimizes consumer throughput
  • Low prefetch (1-10): Fair distribution, good for slow consumers
  • High prefetch (100+): Better throughput, risk of uneven distribution
  • Start with a moderate value (50-100) and tune based on metrics

Acknowledgments

  • Auto-ack: Higher throughput, least guarantees on failures
  • Manual-ack: Lower throughput, better reliability
  • Consider manual acknowledgment mode first as a rule of thumb
  • Acknowledge promptly after processing to release server resources

Message Handling

Message Properties

  • Set delivery_mode=2 for persistent messages (survives broker restart)
  • Use content_type to indicate payload format
  • Include correlation_id for request/response patterns
  • Set expiration for time-sensitive messages

Publishing Best Practices

  • Use publisher confirms for reliable publishing
  • Handle returned messages (mandatory flag) appropriately
  • Batch messages when possible for better throughput
  • Consider message size - large messages impact performance

Error Handling

Dead Letter Exchanges

  • Configure DLX for handling failed messages
  • Messages routed to DLX when: rejected with requeue=false, TTL expires, queue length exceeded
  • Process dead-lettered messages separately for analysis and retry

Retry Queues Pattern

  • Don't requeue failed messages to the same queue indefinitely
  • Risk of self-inflicted DoS attack with continuous retry loops
  • Implement retry queues with increasing delays
  • Forward problematic messages to a "timeout" queue
  • Example delays: 1s, 5s, 30s, then dead letter

Circuit Breaker

  • Implement circuit breaker pattern for downstream failures
  • Prevent queue buildup when consumers can't process messages
  • Use exponential backoff for reconnection attempts

High Availability

Clustering

  • Deploy RabbitMQ in a cluster for high availability
  • Use quorum queues for replicated, durable queues
  • Configure appropriate number of replicas

Mirroring (Classic Queues)

  • Use ha-mode policy for classic queue mirroring
  • Prefer quorum queues over mirrored classic queues for new deployments

Security

Authentication

  • Use strong passwords and rotate regularly
  • Consider LDAP or OAuth2 integration for enterprise deployments
  • Enable TLS for encrypted connections
  • Use separate credentials per application/service

Authorization

  • Implement vhost-based isolation for multi-tenant scenarios
  • Grant minimum necessary permissions (configure, write, read)
  • Use permission patterns to restrict access to specific resources

Monitoring and Observability

Key Metrics

  • Queue depth (messages ready, messages unacknowledged)
  • Message rates (publish, deliver, acknowledge)
  • Connection and channel counts
  • Memory and disk usage
  • Consumer utilization

Management Plugin

  • Enable the management plugin for monitoring UI
  • Use HTTP API for programmatic monitoring
  • Export metrics to Prometheus/Grafana

Alerts

  • Alert on queue depth exceeding thresholds
  • Monitor memory and disk alarms
  • Track consumer disconnections
  • Watch for message rate anomalies

Testing

Unit Testing

  • Mock RabbitMQ client for isolated testing
  • Test message serialization/deserialization
  • Verify exchange and queue declarations

Integration Testing

  • Use containerized RabbitMQ for tests
  • Test failure scenarios (connection loss, broker restart)
  • Verify message acknowledgment behavior
  • Load test with realistic message rates

Common Patterns

Work Queues (Task Distribution)

  • Multiple consumers on single queue for load distribution
  • Use prefetch to ensure fair distribution
  • Acknowledge after task completion

Publish/Subscribe

  • Use fanout exchange for broadcasting
  • Each subscriber gets its own queue bound to the exchange
  • Consider topic exchange for filtered subscriptions

RPC (Request/Response)

  • Use correlation_id to match requests and responses
  • Create exclusive reply queue per client
  • Implement timeouts for pending requests

Event Sourcing

  • Use exchanges for event distribution
  • Multiple services can independently consume events
  • Maintain event ordering within partitions
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
First SeenJun 3, 2026
View on GitHub

Recommended

caveman

juliusbrussee/caveman

Ultra-compressed communication mode cutting token usage ~75% while preserving technical accuracy.
203.4k
67.8k
grill-me

mattpocock/skills

Relentless interviewing skill that stress-tests plans and designs through systematic questioning.
250.9k
114.5k
improve

shadcn/improve

Survey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for other models/agents to execute.
10
205
systematic-debugging

obra/superpowers

Structured debugging methodology that mandates root cause investigation before attempting any fixes.
124.6k
215.9k
karpathy-guidelines

forrestchang/andrej-karpathy-skills

Behavioral guidelines to reduce common LLM coding mistakes through explicit assumptions, simplicity, and verifiable success criteria.
13.9k
165.4k
find-skills

vercel-labs/skills

Discover and install specialized agent skills from the open ecosystem when users need extended capabilities.
1.8M
21.1k