Benchmark
Skill hoangsonww/Claude-Code-Agent-Monitor/plugins/ccam-insights/skills/benchmark
π A real-time monitoring dashboard for Claude Code, built with SQLite3, Node.js, Express, React, Vite, TailwindCSS, and WebSockets. It tracks sessions, agent activity, tool usage, and subagent orchestration, providing live analytics, a Kanban status board, status notifications, a cute buddy, and an interactive web UI/MacOS/Windows native app.
npx -y skills add hoangsonww/Claude-Code-Agent-Monitor --skill benchmarkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Benchmark one session (or a small recent set) against the rolling average using Agent Monitor data β cost, total tokens, tool count, and workflow complexity score β and report where each metric lands as a percentile of the population. Tells you whether a session was normal, cheap, or an outlier. Use when judging whether a session was typical or out of band.
SKILL.md
3.3 KB, as published. Nobody here has run it
Benchmark
Score a session against the rolling population average and report its percentile on cost, tokens, tool count, and complexity using Agent Monitor data.
Input
The user provides: $ARGUMENTS
This may be:
- A single session ID β benchmark that session
- "latest" β benchmark the most recent session
- "latest N" β benchmark the N most recent sessions, each vs the average
- empty β benchmark the most recent session (default)
Data Sources
| Endpoint | Returns |
|---|---|
GET /api/sessions?limit=N | Population of sessions with cost, model, started_at, metadata (turn_count, total_turn_duration_ms) β builds the rolling baseline |
GET /api/pricing/cost/{sessionId} | { total_cost, breakdown:[{ input_tokens, output_tokens, cache_read_tokens, cache_write_tokens, cost }] } β the target session's cost and tokens |
GET /api/workflows/{sessionId} | complexity (score), stats (tool/event counts), toolFlow (distinct tools used) β the target session's tool count and complexity |
GET /api/analytics | avg_events_per_session, tool_usage, daily_sessions β corroborates population-level averages |
Report Sections
1. Build the Baseline
Fetch the population with GET /api/sessions?limit=200 (the rolling set). For each
session gather cost (GET /api/pricing/cost/{id} or the list cost field), total
tokens (sum of the 4 token types from the pricing breakdown), tool count and
complexity (GET /api/workflows/{id}). Compute mean, median, and standard
deviation for each metric across the population.
2. Measure the Target
For the requested session, pull the same four metrics:
- Cost β
total_costfromGET /api/pricing/cost/{id}. - Total tokens β
input + output + cache_read + cache_writesummed from the breakdown. - Tool count β distinct/total tools from
GET /api/workflows/{id}stats/toolFlow. - Complexity score β
complexity.scorefromGET /api/workflows/{id}.
3. Percentile and Deviation
For each metric report the target's percentile within the population (share of
sessions at or below it) and its z-score (value β mean) / stddev. Label each:
below average / typical / above average / outlier (|z| > 2).
4. Verdict
State whether the session was normal overall. If it is an outlier, name which metric drove it (e.g., complexity p96, cost p91 β an unusually heavy session).
Output
- A Markdown table: metric | session value | population mean | percentile | z-score | label.
- Currency in USD to 4 decimals; tokens and tool counts as integers; complexity to 2 decimals.
- Use β² for above-average and βΌ for below-average vs the mean.
- One-line verdict: "Normal session" or "Outlier β driven by <metric> (pNN)".
- When benchmarking multiple sessions, one row block per session plus a summary line.
- Read-only: percentiles come only from the fetched population; never fabricate the baseline.