Agent skill · data analytics · axiomhq
metrics-chart
Render Axiom metrics query results (application/vnd.metrics.v3+json) as line charts. Zero-dependency Unicode/ASCII by default; upgrades to inline PNG/SVG/sixel via gnuplot when present. Use when you have a metrics v3 query response and want to see the series as a chart in the terminal or transcript.
Why this skill is useful
Adds a script that visualizes Axiom metrics query results as line charts, which the AI wouldn't generate on its own.
What it needs
Requires gnuplot, python3 installed locally. About 4k tokens when loaded. Last updated 2026-07-14. 14 stars on the source repository.
What this skill does
metrics-chart Turns a metrics query response into a multi-series line chart. Input is exactly the body the Axiom metrics query service returns for application/vnd.metrics.v3+json — defined in the metrics query service (service/query, JsonV3QueryResponse in src/server.rs). It is a regularly-sampled, multi-series time series; this skill draws it. TL;DR Aggregate first. Charts are only readable with a handful of series. The cleanest result comes from a query that already groups/aggregates to a few lines (e.g. group by status rather than per-pod). This skill's series reduction (below) is a safety net for high-cardinality results, not a substitute for aggregating in the query. Input format (vnd.metrics.v3+json) Field Meaning --------------------- ----------------------------------------------------------------------- metadata.groupkeys Tags the query grouped on → used to build legend labels. metadata.warnings Shown as ⚠ captions under the chart. metadata.unit Canonical y-axis unit (ms, bytes, …). metadata.customunit Human y-axis label; preferred over unit when present. series[].start Unix seconds (UTC) of data[0]. series[].resolution Seconds per point; x[i] = start + resolutioni (uniform spacing). series[].data Y values; null = gap (the line breaks, it is not drawn as 0). The parser also accepts v2/v2a (same shape with an extra per-series summary, ignored) and the v0/v1 bare-array form, so you can feed older responses too. Behaviour Labels come from groupkeys values joined with → 200 GET (not code=200,method=GET). Without groupkeys, falls back to k=v tags. Local time axis by default; --tz UTC or --tz Europe/Berlin to override. Gaps: null points break the line. Series reduction (unless --all), in order: 1. Collapse overlapping series whose lines essentially coincide (within --eps, default 2% of the y-range); the most prominent is kept. 2. Top-N by peak value (--top, default 8). 3. The legend prints how many were dropped, e.g. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills axiomhq/metrics-chart