Skip to content
Agent Workspaces
Skill

/regression-watch

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

From plugin
claude-code-agent-monitor
1.1k75 skills21 agents33 commands1 MCP

Claude Code

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

SKILL.md

regression-watch.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.
Read more
@hoangsonww
Ships withclaude-code-agent-monitor

🚀 A real-time monitoring dashboard for Claude Code & Codex, built with SQLite3, Node.js, Express, React, Vite, TailwindCSS, & WebSockets. It tracks sessions, agent activity, tool usage, and subagent orchestration, providing live analytics, a Kanban status board, status notifications, a cute buddy, & an interactive web UI/MacOS/Windows native app.

1.1k75 skills21 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.1k
Star history of hoangsonww/Claude-Code-Agent-Monitor on GitHub, a chart by star-history.com

Other skills on claude-code-agent-monitor.

More skills from other plugins.

paseo

paseo

Paseo reference for managing hosts, projects, workspaces, workspace scripts, agents, schedules, and heartbeats.

paseo10d23k
@getpaseo@getpaseoInstall Skill
10x
Auto-invoked

10x

Personalized audit that teaches the advanced Paradev (formerly Superset) features the user isn't using yet (automations, parallel…

paradev1d16k
@superset-sh@superset-shInstall Skill
capabilities

capabilities

Your capability catalog — read this at boot. Lists the temporal date-range skills and the external integrations (reached via the…

@chaitanyagiri@chaitanyagiriInstall Skill

Questions about regression-watch.

Which coding agents can use regression-watch?
regression-watch installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.