hoangsonww

api-error-report

从 Agent Monitor 数据生成 APIError 报告,包括错误随时间的变化、受影响的会话和模型,以及限流、过载或上下文窗口压力等可能原因。适用于 API 错误激增或请求失败需要解释时。

hoangsonww 1,106 257 更新于 2个月前

资源

1
GitHub

安装

npx skillscat add hoangsonww/claude-code-agent-monitor/api-error-report

通过 SkillsCat registry 安装。

技能简介

从 Agent Monitor 数据生成 APIError 报告,包括错误随时间的变化、受影响的会话和模型,以及限流、过载或上下文窗口压力等可能原因。适用于 API 错误激增或请求失败需要解释时。

SKILL.md

API Error Report

Drill into APIError events: how many, when, where, and most likely why.

Input

The user provides: $ARGUMENTS

This may be:

  • empty or "all" — report on every APIError in the recent window (default)
  • a session ID — report APIErrors for that one session only
  • a window like "today" or "last 7d" — restrict the time range
  • a cause filter: "rate-limit", "overload", or "context"

Data Sources

Endpoint Returns
GET /api/analytics event_types (total APIError count), daily_events (365d) — APIError volume and trend over time
GET /api/events?session_id=X Per-session event stream — each APIError carries summary, data, and timestamp used to classify the cause
GET /api/sessions?limit=N Sessions with id, model, started_at — attribute each error to a model and place it on the timeline

Report Sections

1. Volume & Trend

From GET /api/analytics: total APIError count and its share of total_events. Use daily_events to chart APIErrors over the requested window and flag any day that spikes above the window mean.

2. Affected Sessions & Models

For each session in scope, pull GET /api/events?session_id=X and collect APIError events. Group by session_id and, via GET /api/sessions, by model. Report the top affected sessions and which model accounts for the most errors.

3. Likely Cause Classification

Inspect each error's summary/data and bucket it:

  • Rate limit — mentions 429, "rate limit", "quota", or retry-after.
  • Overload — mentions 529, "overloaded", or capacity.
  • Context — mentions context length, token limit, or "too long" (correlate with nearby Compaction events).
  • Other — anything else; quote the summary.
    Report the count and percentage in each bucket.

4. Timeline

List the most recent APIErrors with timestamp, session_id, model, classified cause, and a one-line summary excerpt.

Output

  • A Markdown table per section (volume, by model, by cause).
  • Rates as percentages to 2 decimals; any currency in USD to 4 decimals.
  • Cite exact session_id, model, timestamp, and summary values — never invent a cause not supported by the payload; bucket as "Other" when unclear.
  • End with the dominant cause and a concrete mitigation (e.g., back off and retry on 529, reduce context to cut context errors, slow request rate on 429).
  • Read-only: only report what the API returns. If curl cannot reach http://localhost:4820, tell the user to start the dashboard with npm start from the repo root.