Install any skill in seconds. Free to start, no credit card required.
Get Started Free →MAD-based outlier detection on session spend. Robust to the very outliers it hunts (unlike mean+sigma). Surfaces specific anomalous sessions with modified-z scores; optional --alert-on-outliers exit code for CI gates. Distinct from cost-burn (aggregate trend) — this answers "which INDIVIDUAL session is the outlier?".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 186% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -8% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -31% | 0% |
Per-session outlier detection — the diagnostic counterpart to cost-burn's aggregate-trend signal.
| Question | Skill | |---|---| | "Is the AGGREGATE rate accelerating?" | cost-burn | | "Which SPECIFIC sessions are anomalous outliers?" | cost-anomaly ← this | | "Could we have spent less in aggregate?" | cost-counterfactual | | "When will we hit budget?" | cost-projection |
Implementation: scripts/anomaly.mjs.
session-* records from cost-tracking namespace.--since window (default: all-time).median(total_cost_usd) and MAD = median(|x - median|).z = 0.6745 * (x - median) / MAD
|z| > --threshold (default 3.5).| Approach | What breaks | |---|---| | mean + sigma | A single $50 session inflates BOTH mean and sigma so badly that subsequent outliers hide inside the new "normal" band. Catastrophic on small samples. | | median + MAD | Both estimators ignore up to 50% of the data — the outliers themselves can't shift them. Robust on n=10. The canonical cutoff \|z\| > 3.5 is from Iglewicz-Hoaglin (1993). |
| Sessions considered | 5 |
| Threshold (|modified z|) | 3.5 |
| Median spend | $0.100000 |
| MAD | $0.010000 |
| Min / Max | $0.080000 / $5.000000 |
| **Outliers found** | **1** |
## Outlier sessions
| Session | Spend | Deviation | Modified z | Direction |
| outlier- | $5.000000 | +$4.900000 | 330.505 | high |$ cost anomaly --alert-on-outliers 1
⚠ ALERT: found 1 outlier session(s) (|modified z| > 3.5); threshold was ≥1
exit 1
$ cost anomaly --alert-on-outliers 5
✓ found 1 outlier session(s); under threshold ≥5 — OK
exit 0bash# Fail the build if any session this week is a >3.5σ outlier cost anomaly --since 7d --alert-on-outliers 1 || investigate-bad-session
Most useful when paired with cost-burn:
bashcost burn --alert-on-acceleration-pct 50 || page-oncall # rate-of-change alert cost anomaly --alert-on-outliers 1 || investigate # point-anomaly alert
Together they cover "is the average shifting?" AND "is there a single rogue session?" — both can fire independently.
| Direction | Likely cause | Action | |---|---|---| | high | Long session, stuck in expensive tier, or runaway loop | cost report + cost conversation to investigate | | low | Crash, dropped session, or unfinished work | Verify the session completed normally |
Other measured skills in the registry, with their headline benchmark lift.