Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

omni-usage-logs — Claude Code skill: call logs and usage analytics

A skill that lets your agent query the OmniRoute usage API for call logs, token spend, latency and budget state across connections.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add cheaper-inference/OmniRoute --skill omni-usage-logs -a claude-code
Open on GitHub

What omni-usage-logs does

The skill turns the agent into a client of the OmniRoute HTTP API. Ask it what you spent or which calls failed, and it builds the request against the local server on port 20128 and reads the JSON back. No hand-written curl needed.

The routes split by question. /api/usage/call-logs returns the raw calls, and /api/usage/call-logs/filters lists which providers, models, accounts and API keys actually show up in them. /api/usage/cache-health works out the prompt-cache write/read ratio from call_logs over a window, with warm, cold and rewritten counts and a per-model breakdown. /api/usage/model-latency-stats rolls usage_history into p50/p95/p99, standard deviation, TTFT and tokens per second for each provider and model pair. Budget endpoints sit alongside.

Every request needs a Bearer token. Get one from POST /api/auth/login, or set REQUIRE_API_KEY=false when you run locally. Export it as OMNIROUTE_TOKEN — the examples read that variable, so a missing token kills the whole thing.

What it helps with

  • pull call logs filtered by provider and status
  • total token spend across every connection
  • spot the slow model with p95 latency and TTFT per provider
  • see how many tokens go into prompt-cache writes
  • set a budget limit and check what is left of it

Example prompts for the agent

  • Show me the call logs from yesterday, errors only, filtered by provider
  • Aggregate latency per model: p95, TTFT and tokens per second
  • How much of the budget has the current connection used up?

How to install omni-usage-logs

1Skills CLI (Vercel)

npx skills add cheaper-inference/OmniRoute --skill omni-usage-logs -a claude-code

2Manually: put the files in place

~/.claude/skills/omni-usage-logs/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/omni-usage-logs/

From the same set34

The whole set →
cli-setup cheaper-inference Helps the agent configure OmniRoute, manage autostart, apply CLI updates, and adjust session environment variables. Claude Code CX Codex Cursor +1 1,200installs omni-combos-routing cheaper-inference This skill creates and manages model routing combos with fallback chains, tests, and metrics. Use it when OmniRoute needs configurable provider routing. Claude Code CX Codex Cursor +1 1,200installs omni-inference cheaper-inference Connects OpenAI-compatible inference endpoints for chat, embeddings, audio, and images. Useful for AI agents calling OmniRoute endpoints. Claude Code CX Codex Cursor +1 1,100installs cli-providers cheaper-inference Manage OmniRoute provider connections from the CLI: inspect the catalog, test connections, rotate keys, and view metrics. Useful when provider setup is part of your terminal workflow. Claude Code CX Codex Cursor +1 1,100installs omni-auth cheaper-inference Manage API keys and sessions in OmniRoute. Authenticates requests via Bearer tokens, handles dashboard login with password or OIDC, and controls session access. Claude Code CX Codex Cursor +1 1,100installs cli-routing cheaper-inference Manage model routing combos from the command line with omniroute. Test routing strategies, inspect metrics, and configure fallback chains interactively. Claude Code CX Codex Cursor +1 1,100installs omni-mcp cheaper-inference Connects an agent to the OmniRoute MCP server for request routing, memory, cache, and audit work. Use it when those operations need to be available as MCP tools. Claude Code CX Codex Cursor +1 1,100installs omni-providers cheaper-inference Manages connections to 375 AI providers via REST API: adds keys, tests connections, syncs models. Claude Code CX Codex Cursor +1 1,100installs

Similar

kr-whois-lookup NomaDamas Queries public registration data for .kr domains, IP addresses, and AS numbers via k-skill-proxy. Read-only tool for coding agents. Claude Code CX Codex Cursor +1 4,200installs apple-notes Hermes Agent Lets a coding agent read, search and write Apple Notes from the terminal through the memo CLI, with everything syncing over iCloud. Claude Code CX Codex Cursor +1 381installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. Claude Code 711,230installs writing-plans Jesse Vincent This skill turns requirements for a multi-step task into an implementation plan before code changes begin. It helps when another engineer needs exact files, interfaces, and checks. Claude Code CX Codex 282,859installs caveman-review JuliusBrussee Turns code review comments into one line per finding: location, problem, fix. Useful when a diff or PR needs a fast pass without the filler. Claude Code CX Codex Cursor +1 410,700installs slideshow heygen-com Builds a HyperFrames deck you present live: slides, fragment reveals, branching hotspots and presenter notes. Meant for showing, not for rendering video. Claude Code CX Codex Cursor +1 415,500installs google-agents-cli-adk-code official Google A reference for the Agent Development Kit API: agent types, tools, callbacks, state and the graph Workflow API. Useful when you are writing agent code, not scaffolding a project. Claude Code CX Codex Cursor +1 511,400installs

Questions about omni-usage-logs

How do I install omni-usage-logs in Claude Code?

Run npx skills add cheaper-inference/OmniRoute --skill omni-usage-logs -a claude-code. The skill file lands at ~/.claude/skills/omni-usage-logs/SKILL.md.

What does omni-usage-logs do?

It exposes the OmniRoute /api/usage/* endpoints to the agent: call logs, usage analytics, per-model latency and budget or cache health, filterable by provider, model, time range, status and cost.

What do I need before using it?

A reachable OmniRoute instance and a Bearer token, obtained through POST /api/auth/login or bypassed with REQUIRE_API_KEY=false for local development. Requests without a token are rejected.

Source text

SKILL.md · MIT
---
name: omni-usage-logs
description: Access detailed call logs and usage analytics. Filter by provider, model, time range, status, and cost. Export logs and aggregate token usage across all connections.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->

## Overview

Access detailed call logs and usage analytics. Filter by provider, model, time range, status, and cost. Export logs and aggregate token usage across all connections.

## Authentication

All requests require a valid Bearer token or session cookie. Obtain a token via `POST /api/auth/login` or configure `REQUIRE_API_KEY=false` for local development.

## Endpoints

### GET /api/usage/analytics

Get usage analytics

```bash
curl http://localhost:20128/api/usage/analytics \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/call-logs

Get call logs

```bash
curl http://localhost:20128/api/usage/call-logs \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/call-logs/filters

Get call log filter options

Distinct providers, models, accounts and API keys seen in call logs, plus every configured API key (id and name only). Feeds the Logs tab filter dropdowns.

```bash
curl http://localhost:20128/api/usage/call-logs/filters \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/call-logs/{id}

Get a specific call log

```bash
curl http://localhost:20128/api/usage/call-logs/{id} \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/{connectionId}

Get usage for a specific connection

```bash
curl http://localhost:20128/api/usage/{connectionId} \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/history

Get usage history

```bash
curl http://localhost:20128/api/usage/history \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/logs

Get usage logs

```bash
curl http://localhost:20128/api/usage/logs \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/proxy-logs

Get proxy logs

```bash
curl http://localhost:20128/api/usage/proxy-logs \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/request-logs

Get request logs

```bash
curl http://localhost:20128/api/usage/request-logs \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/budget

Get usage budget status

Returns current budget limits and consumption.

```bash
curl http://localhost:20128/api/usage/budget \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### POST /api/usage/budget

Configure usage budget

Set or update budget limits for usage tracking.

```bash
curl -X POST http://localhost:20128/api/usage/budget \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### GET /api/usage/cache-health

Get prompt-cache health summary

Summarizes the `write/read` cache ratio from `call_logs` for a time window:
distribution (p50/p90/p99/max of cache-write tokens), warm/cold/rewrite/uncached
call counts, the "heavy write" outlier share (10x the window median, floored at
1024 tokens — Anthropic's cache-creation minimum), and a per-model breakdown.
Only successful (`status = 200`) calls with a non-null cache column are counted.


```bash
curl http://localhost:20128/api/usage/cache-health \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/model-latency-stats

Get per-model/provider latency statistics

Aggregates `usage_history` rows into per-(provider, model) latency stats (avg/p50/p95/p99, std-dev, TTFT, tokens/sec) over a rolling window. Falls back from successful-only to all-sample rows when the successful count is below `minSamples`.

```bash
curl http://localhost:20128/api/usage/model-latency-stats \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/budget/bulk

GET usage › budget › bulk

```bash
curl http://localhost:20128/api/usage/budget/bulk \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/codex-reset-credit

GET usage › codex reset credit

```bash
curl http://localhost:20128/api/usage/codex-reset-credit \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### POST /api/usage/codex-reset-credit

POST usage › codex reset credit

```bash
curl -X POST http://localhost:20128/api/usage/codex-reset-credit \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### GET /api/usage/combo-forecast

GET usage › combo forecast

```bash
curl http://localhost:20128/api/usage/combo-forecast \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/combo-health

GET usage › combo health

```bash
curl http://localhost:20128/api/usage/combo-health \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/combo-health-autopilot

GET usage › combo health autopilot

```bash
curl http://localhost:20128/api/usage/combo-health-autopilot \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/combo-health-dashboard

GET usage › combo health dashboard

```bash
curl http://localhost:20128/api/usage/combo-health-dashboard \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/combo-scoring-inspector

GET usage › combo scoring inspector

```bash
curl http://localhost:20128/api/usage/combo-scoring-inspector \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/combo-trace/{id}

GET usage › combo trace › <id>

```bash
curl http://localhost:20128/api/usage/combo-trace/{id} \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/om-usage

GET usage › om usage

```bash
curl http://localhost:20128/api/usage/om-usage \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/provider-limits

GET usage › provider limits

```bash
curl http://localhost:20128/api/usage/provider-limits \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### POST /api/usage/provider-limits

POST usage › provider limits

```bash
curl -X POST http://localhost:20128/api/usage/provider-limits \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### GET /api/usage/provider-window-costs

GET usage › provider window costs

```bash
curl http://localhost:20128/api/usage/provider-window-costs \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/quota

GET usage › quota

```bash
curl http://localhost:20128/api/usage/quota \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/requests-by-provider-date

GET usage › requests by provider date

```bash
curl http://localhost:20128/api/usage/requests-by-provider-date \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/route-explain/{id}

GET usage › route explain › <id>

```bash
curl http://localhost:20128/api/usage/route-explain/{id} \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/token-limits

GET usage › token limits

```bash
curl http://localhost:20128/api/usage/token-limits \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### POST /api/usage/token-limits

POST usage › token limits

Save a per-key token limit. A key holds one limit per scope and reset interval, so daily, weekly and monthly limits for the same scope coexist. Without `id`, a new limit is added (or the key's limit for the same scope and interval is updated); with `id`, that limit is updated.

```bash
curl -X POST http://localhost:20128/api/usage/token-limits \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### DELETE /api/usage/token-limits

DELETE usage › token limits

```bash
curl -X DELETE http://localhost:20128/api/usage/token-limits \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

### GET /api/usage/utilization

GET usage › utilization

```bash
curl http://localhost:20128/api/usage/utilization \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"
```

## Payloads

See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/openapi.yaml` for detailed request/response schemas.

© cheaper-inference · MIT · cheaper-inference/OmniRoute

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor