Skip to content
Development
Skill

/production-observability

Use when adding service-wide Spring Boot 3 Actuator, Micrometer metrics, distributed tracing, OpenTelemetry export, structured logging, health probes, dashboards, or alerts. Combine with ai-observability only for Spring AI-specific token, prompt, and model telemetry.

From plugin
spring-boot-skills
26533 skills
Install
$ npx -y skills add rrezartprebreza/spring-boot-skills --skill production-observability --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/production-observability

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when adding service-wide Spring Boot 3 Actuator, Micrometer metrics, distributed tracing, OpenTelemetry export, structured logging, health probes, dashboards, or alerts. Combine with ai-observability only for Spring AI-specific token, prompt, and model telemetry.

SKILL.md

production-observability.SKILL.md
name: production-observability
description: >
  Use when adding service-wide Spring Boot 3 Actuator, Micrometer metrics, distributed tracing,
  OpenTelemetry export, structured logging, health probes, dashboards, or alerts. Combine with
  ai-observability only for Spring AI-specific token, prompt, and model telemetry.

Production Observability

Instrument user-visible operations and operational boundaries, not every method.

Baseline

  • Add Actuator and one metrics registry selected by the deployment platform.
  • Use Micrometer Observation for application metrics and traces.
  • Use Micrometer Tracing with the chosen bridge; do not mix tracing APIs throughout business code.
  • Export through OTLP when the platform standardizes on OpenTelemetry collectors.
  • Expose only required actuator endpoints and secure every non-public endpoint.

Observation conventions

  • Name observations by stable operation, such as `orders.create`.
  • Keep metric tags low-cardinality: method, outcome, region, or bounded status.
  • Put request IDs, user IDs, order IDs, and exception messages only in traces or logs.
  • Propagate context across `@Async`, executor, and Reactor boundaries.
  • Record latency, throughput, failures, and saturation for every external dependency.

Health and readiness

  • Keep liveness independent from remote systems so a dependency outage does not restart every pod.
  • Put required dependencies in readiness groups.
  • Write custom health indicators only for dependencies that affect traffic acceptance.
  • Set explicit timeouts on health checks.

Logging and alerts

  • Emit structured logs with trace and span correlation.
  • Redact credentials, tokens, personal data, prompts, and payloads by default.
  • Alert on symptoms tied to service objectives, not raw metric noise.
  • Include runbook links and enough dimensions to identify the affected service and dependency.

Examples

  • See `examples/good-observation.java` and `examples/bad-observation.java`.

Gotchas

  • Agent tags metrics with user or entity IDs - this creates unbounded cardinality.
  • Agent exposes every actuator endpoint publicly - expose the minimum and secure it.
  • Agent makes liveness depend on the database - dependency outages then cause restart loops.
  • Agent logs request bodies and tokens for debugging - redact sensitive data before emission.
  • Agent creates spans but loses context in async work - configure context propagation explicitly.
Read more
Ships withspring-boot-skills

Production-grade Claude Code and Codex skills for Spring Boot developers

Get the whole plugin

Other skills on spring-boot-skills.