Skip to main content
skill CX Codex

regression-alert — Claude Code skill: catch reliability regressions

Compares agent reliability this period against the last one and flags where it got worse. Handy when you need to know if things degraded.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill regression-alert -a claude-code
Open on GitHub

What regression-alert does

The skill pulls Agent Monitor data and splits history into a recent window and an equal baseline window before it. Defaults are the last 7 days against the prior 7. Two metrics come out of that: the APIError share of all events, and the tool-failure share measured as the PreToolUse to PostToolUse gap.

You get a table with baseline and recent values, the change in percentage points and percent, a direction arrow and a verdict. Each metric is tagged as a clear regression, noise, or an improvement. Sessions that contributed the most errors are listed by ID, along with the tools whose gap grew. Everything is read-only unless you explicitly ask to arm a rule.

Scope stops at reliability and failures. Cache, cost and compaction drift belong to regression-watch from ccam-insights. The dashboard has to answer on http://localhost:4820 for any of this to work — if curl cannot reach it, start it with npm start from the repo root.

What it helps with

  • compare this week's error share with last week's
  • find the sessions behind the most APIError events
  • measure tool-failure share from the PreToolUse to PostToolUse gap
  • rank which metric worsened the most
  • arm an alert rule so the dashboard catches the next regression

Example prompts for the agent

  • Check reliability regressions for the last 7 days against the prior 7
  • Compare error rate only: errors
  • Check tool failures and arm the alert: tools arm

How to install regression-alert

1Skills CLI (Vercel)

npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill regression-alert -a claude-code

2Manually: put the files in place

~/.claude/skills/regression-alert/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/regression-alert/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about regression-alert

How do I install regression-alert in Claude Code?

Run npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill regression-alert -a claude-code. The skill file lands at ~/.claude/skills/regression-alert/SKILL.md.

What does regression-alert do?

It compares reliability across a recent window and a baseline window using two metrics: error share and tool-failure share. A rise in either is flagged as a regression, with the contributing sessions named.

What does the skill need to fetch data?

The Agent Monitor dashboard must be running and reachable at http://localhost:4820. If curl cannot reach it, start it with npm start from the repo root.

Source text

SKILL.md · MIT
---
name: regression-alert
description: >
  Compare this period's reliability against the prior period using Agent Monitor
  data — error rate (APIError/total) and tool-failure rate (PreToolUse→PostToolUse
  gap) — flag any regression where reliability got worse, and optionally wire a
  persistent alert rule so the dashboard catches the next regression
  automatically. Use when checking whether reliability degraded.
---

# Regression Alert

Detect whether Claude Code reliability is getting worse period-over-period, and
optionally arm an alert so it never has to be checked by hand again. Scope is
reliability/failures only — for cache/cost/compaction drift, use ccam-insights'
`regression-watch` instead.

## Input

The user provides: **$ARGUMENTS**

This may be:
- empty or "all" — check error rate and tool-failure rate (default)
- "errors" — APIError-rate regression only
- "tools" — tool-failure-rate regression only
- a window like "7 vs 7" or "30 vs 30" — recent vs baseline window sizes (default: last 7 days vs the prior 7)
- "arm" — after reporting, also create an alert rule via `POST /api/alerts/rules` (only on explicit request)

## Data Sources

| Endpoint | Returns |
|----------|---------|
| `GET /api/analytics` | `daily_events` (365d), `daily_sessions` (365d), `event_types` — split into recent vs baseline windows to compute per-window failure rates |
| `GET /api/events?session_id=X` | Per-session stream — localize a regression to the sessions driving it |
| `GET /api/alerts/rules` | Existing alert rules — check whether a matching reliability rule already exists before arming a new one |
| `POST /api/alerts/rules` | Create a new alert rule (only when the user says "arm") |

## Report Sections

### 1. Windowing
Split history into a **recent window** (newer) and a **baseline window** (the equal-length period just before it). Default: recent = last 7 days, baseline = the prior 7. Use `daily_events`/`daily_sessions` to bucket counts by day.

### 2. Error-Rate Regression
- Per window: `error rate = APIError count / total events`.
- Compare recent vs baseline. Flag if recent is higher. Report absolute change (pp) and relative change (%), plus the recent sessions contributing the most `APIError` events.

### 3. Tool-Failure-Rate Regression
- Per window: `tool-failure rate = (PreToolUse − PostToolUse) / PreToolUse`.
- Compare recent vs baseline. Flag a rising rate as a reliability regression. Name the tools whose gap grew most.

### 4. Verdict
Roll up which rates regressed, rank by relative worsening, and name the most likely driver.

### 5. Optional — Arm an Alert
**Only if the user passed "arm".** First `GET /api/alerts/rules` to avoid duplicates. Then `POST /api/alerts/rules` with a rule that fires when the regressed metric crosses a threshold near the recent value (e.g., error rate > recent rate). Echo the created rule back; do not create webhooks or fire alerts.

## Output

- A Markdown table: metric | baseline | recent | Δ (pp) | Δ (%) | direction (▲ worse / ▼ better) | verdict.
- Tag each metric 🔴 (clear regression), 🟡 (within noise), or 🟢 (improved).
- Rates as percentages to 2 decimals; any currency in USD to 4 decimals.
- List the specific session IDs that contributed most to any regression.
- End with the single highest-priority regression and a concrete next step (and, if armed, the new rule's id/threshold).
- Read-only **except** the explicit "arm" path, which is the only write. Never mutate alert rules otherwise. If `curl` cannot reach `http://localhost:4820`, tell the user to start the dashboard with `npm start` from the repo root.

© hoangsonww · MIT · hoangsonww/Claude-Code-Agent-Monitor

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set20

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor