stale-alerts-analyzer

stale-alerts-analyzer is a skill for Claude Code, Codex from conallob/o11y-analysis-tools. It costs 76 tokens per session (1,294 once invoked), scanned A, original, BSD-3-Clause.

A procedure that compares alert rules with a Prometheus monitoring system's historical record of alerts that fired.

In plain words
What is it for?
It is for periodic alert cleanup and reviews before refactoring rules; it requires a reachable Prometheus with relevant history and does not make deletion decisions automatically.
Why use it?
It identifies alerts that may be unused, too conservative, or obsolete before someone reviews the alerting setup.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is go build -o bin/stale-alerts-analyzer ./cmd/stale-alerts-analyzer.

Good fit It is for periodic alert cleanup and reviews before refactoring rules; it requires a reachable Prometheus with relevant history and does not make deletion decisions automatically.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/conallob/o11y-analysis-tools
agentmods
npx agentmods add skills/conallob/o11y-analysis-tools/stale-alerts-analyzer

Made for: Claude Code, Codex.

Its marketplace also offers this one on its own, as the plugin stale-alerts-analyzer/plugin install stale-alerts-analyzer after adding the marketplace above.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for stale-alerts-analyzer

README.md
[![agentmods](https://agentmods.dev/badge/skills/conallob/o11y-analysis-tools/stale-alerts-analyzer/github.svg)](https://agentmods.dev/skills/conallob/o11y-analysis-tools/stale-alerts-analyzer)
Your own site
<a href="https://agentmods.dev/skills/conallob/o11y-analysis-tools/stale-alerts-analyzer"><img src="https://agentmods.dev/badge/skills/conallob/o11y-analysis-tools/stale-alerts-analyzer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for stale-alerts-analyzer

Your own site · 80×15
<a href="https://agentmods.dev/skills/conallob/o11y-analysis-tools/stale-alerts-analyzer"><img src="https://agentmods.dev/badge/skills/conallob/o11y-analysis-tools/stale-alerts-analyzer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 76 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,294 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00076 $0.01294
Opus 5 $0.00038 $0.00647
Sonnet 5 $0.00015 $0.00259
Haiku 4.5 $0.00008 $0.00129

Measured 10d ago against content hash 6466cac86a4f, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

stale-alerts-analyzer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/stale-alerts-analyzer/SKILL.md · 109 lines

How it starts

The opening of the file, as written. The whole thing — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.

stale-alerts-analyzer

Cross-references every alert: name defined in a rules file against Prometheus's historical ALERTS series to find ones that haven't fired within a configurable time horizon. Functionally this is dead-code analysis applied to alerting rules: an alert nobody has seen fire in a year is either (a) protecting against something that no longer happens, (b) has a threshold too conservative to ever trigger, or (c) is genuinely still needed and just hasn't had cause to fire — this tool flags candidates, a human makes the call.

When to use this skill

  • Periodic alert hygiene / on-call load review: "which of our alerts are actually doing anything?"
  • Before a large alerting-rules refactor, to identify safe-to-remove dead weight.
  • Not a CI gate: it depends on live, non-reproducible production history, and "delete this alert" is a decision that deserves a human in the loop, even when using --fix.

Prerequisites

  • A reachable Prometheus (or Prometheus-API-compatible Thanos/Cortex/ Mimir) that has actually been evaluating the rules file's alerts, so ALERTS has history.
  • Retention vs. --timehorizon matters just as much as for alert-hysteresis: an alert reported "stale (no firings in 380 days)" is meaningless if Prometheus only retains 30 days — the tool has no way to distinguish "never fired" from "fired outside what Prometheus still remembers." Confirm retention before trusting a long horizon.

Setup

go build -o bin/stale-alerts-analyzer ./cmd/stale-alerts-analyzer
# or: go install github.com/conallob/o11y-analysis-tools/cmd/stale-alerts-analyzer@latest

Usage

stale-alerts-analyzer [options]
Flag Default Effect
--prometheus-url http://localhost:9090 Prometheus API base URL. Required.
--rules (required) Path to the rules YAML file whose alert names to check.
--timehorizon 12M Staleness lookback window. Accepts Go durations (h, m, s) and extended units: d (days), w (weeks), M (30-day months), y (365-day years) — e.g. 90d, 6M, 1y.
--fix false Delete the identified stale alerts directly from the rules file.
--verbose false Print query details while fetching.

Read the full file on GitHub · 109 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 109 lines · 76 tokens per session scan A 6466cac86a4f

Subscribe to this mod's changes

stale-alerts-analyzer is a skill published in the GitHub repository conallob/o11y-analysis-tools (4 stars, last pushed 1mo ago), licensed BSD-3-Clause. It adds 76 tokens to every session and 1,294 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

monitoring-observability

Monitoring and observability patterns for Prometheus metrics, Grafana dashboards, Langfuse v4 LLM tracing (astype, scorecurrentspan, shouldexportspan, LangfuseMedia), and drift detection. Use when adding logging, metrics, distributed tracing, LLM cost tracking, or quality drift monitoring.

yonatangross/orchestkit · 69 tokens

host_bash

A read-only shell skill for examining files and running diagnostic commands in a restricted environment. A shell is a text interface for operating-system commands.

ongridio/ongrid · 26 tokens

host_restart_service

A tool for restarting approved systemd services, which are background programs managed by Linux's service manager.

ongridio/ongrid · 23 tokens

golang-observability-opentelemetry

Instrumenting Go applications with OpenTelemetry for distributed tracing, Prometheus for metrics, and structured logging with slog.

bobmatnyc/claude-mpm-skills · 31 tokens

monitoring-expert

Expert-level monitoring and observability with Prometheus, Grafana, logging, and alerting. Use when the user mentions observability, Prometheus, Grafana, logging, metrics, or alerting, or when the task involves The Three Pillars of Observability, Monitoring Fundamentals, Prometheus Configuration, or Alert Rules.

personamanagmentlayer/pcl · 70 tokens

prometheus-expert

Expert-level Prometheus monitoring, metrics collection, PromQL queries, alerting, and production operations. Use when the user mentions monitoring, metrics, observability, alerting, or PromQL, or when the task involves Prometheus Architecture, Installation on Kubernetes, ServiceMonitor, or PromQL Queries.

personamanagmentlayer/pcl · 65 tokens