← ClaudeAtlas

observabilitylisted

Use when wiring up dashboards, alerts, and health checks for a module or service. Triggered by 'add observability to', 'set up monitoring for', 'create a health check for', 'wire up alerts', 'observability pass', or any request to build external monitoring surfaces.
tomcounsell/ai · ★ 14 · AI & Automation · score 73
Install: claude install-skill tomcounsell/ai
# Skill: /observability ## Purpose Wire up dashboards, alerts, and health checks so a module's runtime behavior is visible from outside the code — without touching the module's internal logic. ## When to Use - A module has shipped and needs monitoring before it goes to production - An incident revealed that no one knew the service was degraded until a user complained - A health check endpoint is missing or incomplete - Metrics exist in logs but aren't surfaced anywhere queryable - The user says "add observability to X", "set up monitoring", or "I want alerts when X fails" ## Steps 1. **Identify the target.** If invoked with no argument, ask: "Which module or service should I add observability to?" If a path is given, read the relevant files. 2. **Assess what already exists.** Check for: - Existing health check endpoints (`/health`, `/status`, `/ready`) - Log aggregation setup (structured JSON logs, log levels) - Metrics emission (Prometheus counters/gauges, StatsD, OpenTelemetry) - Existing dashboards or alert rules 3. **Apply the 6 observability techniques as appropriate.** Use the question→technique matrix: | Question | Technique | |----------|-----------| | "Is the module alive?" | Health check endpoint returning `{"status": "ok", "checks": {...}}` | | "What is it doing?" | Structured logging with `logging.getLogger(__name__)` at INFO level on entry/exit | | "How fast is it?" | Timing with `time.perf_counter()` logged at DEBUG; or `opentel