Claude 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

LLM Mart · 0 points · 12 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download hoangsonww-claude-code-agent-monitor-plugins_ccam-insights_skills_regression-watch-83d4df5.zip · 2 KB
Part of hoangsonww/claude-code-agent-monitor — 86 skills

Install

skills CLI npx skills add https://github.com/hoangsonww/Claude-Code-Agent-Monitor/tree/master/plugins/ccam-insights/skills/regression-watch
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install hoangsonww-claude-code-agent-monitor@llmmart
Git git clone https://github.com/hoangsonww/Claude-Code-Agent-Monitor.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole hoangsonww/claude-code-agent-monitor collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

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 (claude-code-agent-monitor)
  • agents
    • openai.yaml 270 B
      interface:
        display_name: "Regression Watch"
        short_description: "Detect quality and efficiency regressions over time using..."
        default_prompt: "Use $regression-watch to inspect CCAM data and complete this workflow safely."
      policy:
        allow_implicit_invocation: true
      
  • SKILL.md 4 KB
    ---
    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.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related