Skip to content
Back to skills

Regression Watch

ASecurity

Detect quality and efficiency regressions over time using Agent Monitor data — rising error rate (APIError events), falling cache hit rate, growing compaction frequency, and climbing cost-per-session. Splits history into an earlier baseline window and a recent window and reports which metrics are getting worse, by how much, and where. Use when checking whether things are degrading or trending in the wrong direction.

  • 1,044 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 2, 2026
ai-agentsapi

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 2, 2026

npx -y skills add hoangsonww/Claude-Code-Agent-Monitor --skill regression-watch --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Regression Watch?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Regression Watch
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hoangsonww-regression-watch/badge)](https://www.skillsdirectory.com/skills/hoangsonww-regression-watch)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: regression-watch
description: >
  Detect quality and efficiency regressions over time using Agent Monitor data —
  rising error rate (APIError events), falling cache hit rate, growing compaction
  frequency, and climbing cost-per-session. Splits history into an earlier
  baseline window and a recent window and reports which metrics are getting
  worse, by how much, and where. Use when checking whether things are degrading
  or trending in the wrong direction.
---

# Regression Watch

Detect whether Claude Code sessions are getting worse over time across quality and
efficiency metrics, using Agent Monitor data.

## Input

The user provides: **$ARGUMENTS**

This may be:
- empty or "all" — check every regression metric (default)
- "errors" — error-rate regression only
- "cache" — cache hit-rate regression only
- "compaction" — compaction-frequency regression only
- "cost" — cost-per-session regression only
- A window like "last 30d" or "30 vs 90" — set the recent vs baseline window sizes

## Data Sources

| Endpoint | Returns |
|----------|---------|
| `GET /api/analytics` | `daily_events` (365d), `daily_sessions` (365d), `event_types`, `tokens` (total_input, total_output, total_cache_read, total_cache_write — baselines pre-summed), `avg_events_per_session` |
| `GET /api/events?session_id=X` | Event stream incl. `APIError`, `Compaction`, `PreToolUse`/`PostToolUse` — used to localize regressions to specific sessions |
| `GET /api/pricing/cost` | `{ total_cost, breakdown[...] }` — total cost to derive cost-per-session |
| `GET /api/pricing/cost/{sessionId}` | Per-session cost — used to compare recent vs baseline session cost |
| `GET /api/workflows/{sessionId}` | `compaction` (impact), `errorPropagation` (by depth), `effectiveness` — per-session quality signals |
| `GET /api/sessions?limit=N` | Sessions with `started_at`, `cost`, `metadata` — to bucket sessions into time windows |

## Report Sections

### 1. Windowing
Split history into a **baseline window** (older) and a **recent window** (newer).
Default: recent = last 30 days, baseline = the 30–90 day range before it. Use
`daily_events`/`daily_sessions` for series metrics and `GET /api/sessions?limit=N`
to assign sessions to each window by `started_at`.

### 2. Error Rate Regression
- Recent error rate = `APIError count / total events` in the recent window
  (from `event_types` and `daily_events`, or per-session `GET /api/events`).
- Compare to the baseline rate. Flag if recent is higher.
- Report the absolute and relative change and which sessions contributed most
  `APIError` events.

### 3. Cache Hit Rate Regression
- Cache hit rate = `total_cache_read / (total_cache_read + total_input)`.
- Compute for each window (per-window input/cache_read from session metadata or
  the pricing breakdown). Flag a **falling** hit rate — that means more
  uncached input tokens and higher cost.

### 4. Compaction Frequency Regression
- Compaction frequency = `Compaction events / session` per window (from
  `event_types` / `daily_events`, confirmed via per-session
  `GET /api/workflows/{id}` `compaction`). Flag a **rising** rate — context is
  overflowing more often.

### 5. Cost-per-Session Regression
- Cost-per-session = window total cost / window session count, using
  `GET /api/pricing/cost` overall and `GET /api/pricing/cost/{id}` for the
  sessions in each window. Flag a **climbing** value.

### 6. Verdict
Roll up which metrics regressed, rank by relative worsening, and name the most
likely driver (e.g., cache hit rate fell → cost per session climbed).

## Output

- A Markdown table: metric | baseline | recent | Δ | direction (▲ worse / ▼ better) | verdict.
- Tag each regressed metric 🔴 (clear regression), 🟡 (mild/within noise), or 🟢 (improved).
- Currency in USD to 4 decimals; rates as percentages to 2 decimals.
- List the specific session IDs that contributed most to any regression.
- End with the single highest-priority regression to address and a concrete next step.
- Read-only: only report what the API returns; never fabricate baselines.

Files in this skill

  • SKILL.md4 KB
  • agents/openai.yaml270 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.