skills/.system/guicedee-rabbitmq/SKILL.md
Annotation-driven RabbitMQ integration for GuicedEE with Vert.x 5: @RabbitConnectionOptions, @QueueExchange, @QueueDefinition, QueueConsumer/QueuePublisher injection, exchange management, queue options (priority, TTL, prefetch), publisher confirms, environment variable overrides, and verticle-scoped connections. Use when adding RabbitMQ messaging, declaring exchanges and queues, creating consumers and publishers, or configuring AMQP topology.
npx skillsauth add guicedee/ai-rules guicedee-rabbitmqInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Annotation-driven RabbitMQ integration for GuicedEE using the Vert.x RabbitMQ client.
Declare connections, exchanges, queues, consumers, and publishers with annotations — everything is discovered at startup via ClassGraph, wired through Guice, and managed by the Vert.x RabbitMQ client.
com.guicedee:rabbitmq dependency.package-info.java (or any class):
@Verticle
@RabbitConnectionOptions(
value = "my-connection",
host = "localhost",
user = "guest",
password = "guest"
)
@QueueExchange(
value = "my-exchange",
exchangeType = QueueExchange.ExchangeType.Direct,
durable = true
)
package com.example.messaging;
@QueueDefinition("order-events")
public class OrderConsumer implements QueueConsumer {
@Override
public void consume(RabbitMQMessage message) {
System.out.println("Received: " + message.body());
}
}
public class OrderService {
@Inject @Named("order-events")
private QueuePublisher orderPublisher;
public void placeOrder(String orderJson) {
orderPublisher.publish(orderJson);
}
}
module-info.java:
module my.app {
requires com.guicedee.rabbit;
opens my.app.messaging to com.google.guice, com.guicedee.rabbit;
}
@RabbitConnectionOptionsConnection configuration: host, port, credentials, virtual host, reconnect, publisher confirms.
@QueueExchangeExchange declaration: name, type (Direct, Fanout, Topic, Headers), durability, auto-delete, dead-letter exchange.
@QueueDefinitionQueue declaration: name, routing key, bound exchange reference.
@QueueOptionsQueue tuning: priority, prefetch count, TTL, durability, auto-ack, single-consumer, exclusive, transacted, consumer count, dedicated channel/connection.
Every annotation attribute can be overridden via system properties or environment variables at runtime, scoped by connection/exchange/queue name.
IGuiceContext.instance().inject()
└─ RabbitMQPreStartup (annotation scanning)
├─ Discovers @RabbitConnectionOptions
├─ Discovers @QueueExchange per package
├─ Discovers @QueueDefinition consumers
└─ Registers metadata for binding
└─ RabbitMQModule (Guice bindings)
├─ Creates RabbitMQClient per connection
├─ Binds QueueConsumer as singletons
└─ Binds QueuePublisher as @Named("queue-name")
└─ RabbitPostStartup (runtime initialization)
├─ Starts connections
├─ Declares exchanges and queues
├─ Binds queues to exchanges
└─ Starts consumer listeners
requires com.guicedee.rabbit;.opens to com.google.guice and com.guicedee.rabbit.opens to com.fasterxml.jackson.databind.module-info.java + META-INF/services/).@RabbitConnectionOptions and @QueueExchange can be placed on package-info.java (preferred) or any class.@Verticle on the package.development
Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Codex's capabilities with specialized knowledge, workflows, or tool integrations.
development
WebAwesome icon integration for JWebMP — modern, open-source icon library. Provides 1,500+ icons with solid/regular styles, sizing, rotation, animation, and CSS utilities. Drop-in FontAwesome alternative with fresh designs. Use when working with WebAwesome icons, modern icon designs, or as FontAwesome alternative in JWebMP applications.
development
WebAwesome Pro integration for JWebMP with premium icons and features. Extends jwebmp-webawesome with additional styles, premium icons, and advanced features. Use when working with WebAwesome Pro icons or premium WebAwesome features in JWebMP applications.