skills/.system/guicedee-metrics/SKILL.md
Application metrics for GuicedEE using Vert.x 5 Dropwizard Metrics and MicroProfile Metrics 5.1: @Counted, @Timed, @MetricMethod annotations, Guice AOP interceptors, Prometheus scrape endpoint, Graphite reporting, JMX exposure, @MetricsOptions configuration, environment variable overrides, and Vert.x built-in metrics (event bus, HTTP, pools). Use when adding application metrics, configuring Prometheus endpoints, creating custom counters/timers, or monitoring Vert.x internals.
npx skillsauth add guicedee/ai-rules guicedee-metricsInstall 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.
Production-ready application metrics using Vert.x 5 Dropwizard Metrics and the MicroProfile Metrics 5.1 API.
Annotate your methods with standard @Counted, @Timed, and custom @MetricMethod — interceptors are bound through Guice AOP, metrics are collected into a shared MetricRegistry, and a Prometheus-compatible scrape endpoint is exposed on the Vert.x Web Router automatically.
com.guicedee:metrics dependency.@MetricsOptions:
@MetricsOptions(
enabled = true,
jmxEnabled = true,
baseName = "my-app",
prometheus = @PrometheusOptions(enabled = true, endpoint = "/metrics")
)
public class MyAppConfig {}
@Counted(name = "orders-placed", tags = {"env=prod"})
public void placeOrder(Order order) { ... }
@Timed(name = "order-processing-time")
public void processOrder(Order order) { ... }
module-info.java:
module my.app {
requires com.guicedee.metrics;
opens my.app.services to com.google.guice;
}
IGuiceContext.registerModuleForScanning.add("my.app");
IGuiceContext.instance().inject();
// GET /metrics returns Prometheus exposition format
@CountedIncrements a monotonic counter each invocation. Place on method or class (applies to all methods).
@TimedMeasures execution time with quantile snapshots (p50, p75, p95, p98, p99, p999).
@MetricMethodCustom GuicedEE annotation. Increments a named counter. If the method returns a numeric type, the counter value is returned instead.
@MetricsOptions annotation| Attribute | Purpose |
|---|---|
| enabled | Enable/disable metrics |
| registryName | Dropwizard registry name |
| jmxEnabled | Expose as JMX MBeans |
| baseName | Metric name prefix |
| monitoredHttpServerUris | URI patterns to monitor |
| monitoredEventBusHandlers | EventBus handler patterns |
| graphite | @GraphiteOptions for Graphite reporting |
| prometheus | @PrometheusOptions for Prometheus endpoint |
Every @MetricsOptions attribute can be overridden via system properties or environment variables.
IGuiceContext.instance().inject()
└─ MetricsPreStartup (scans for @MetricsOptions)
└─ MetricsVertxConfigurator (configures DropwizardMetricsOptions on VertxBuilder)
└─ MetricsModule (binds MetricRegistry, interceptors, reporters)
└─ PrometheusMetricsConfigurator (registers GET /metrics handler)
requires com.guicedee.metrics;.com.google.guice.provides needed.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.