Skip to content
Back to skills

Anthropic Enterprise Analytics

ASecurity

Pull Anthropic's Admin API usage_report into ~/.claude/analytics/ so brain-digest can reconcile estimated cost (from session JSONL list-price math) against actual billed cost (from Anthropic). Closes the estimated-vs-billed gap that any operator running on Pro/Max/Enterprise has.

  • 17 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 2, 2026
ai-agentspythongoshellbashgitapi

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add CarlosCaPe/octorato --skill anthropic-enterprise-analytics --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Anthropic Enterprise Analytics?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Anthropic Enterprise Analytics
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/carloscape-anthropic-enterprise-analytics/badge)](https://www.skillsdirectory.com/skills/carloscape-anthropic-enterprise-analytics)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: anthropic-enterprise-analytics
description: "Pull Anthropic's Admin API usage_report into ~/.claude/analytics/ so brain-digest can reconcile estimated cost (from session JSONL list-price math) against actual billed cost (from Anthropic). Closes the estimated-vs-billed gap that any operator running on Pro/Max/Enterprise has."
metadata:
  short-description: "Vendor-side cost truth — pulls per-user / per-key actuals from the Anthropic Admin API and reconciles them with the brain's own estimate"
---

# Anthropic Enterprise Analytics — ingestion

## What this skill is

The fourth and final block of the FinOps pipeline. The first three
(per-arm rollup, cost-spike watchdog, budget caps) all run on the
brain's *estimated* USD — list-price math applied to token counts read
from native Claude Code session JSONLs.

The estimate is good enough for budget caps and spike detection, but it
is **not** what Anthropic actually bills the operator. The Admin API
exposes the truth: per-user, per-API-key, per-day cost figures with
Anthropic's actual rate card applied (including any enterprise
discounts).

This skill closes the gap. It pulls the Admin API daily, writes the
data to a private directory, and brain-digest renders a reconciliation
row alongside the per-arm estimate.

## When to use

- You are on **Anthropic Enterprise / Team** with admin scope on the
  organization (the regular per-user API key won't work).
- You want the brain digest to surface "estimated $X, billed $Y, delta
  Z%" so you catch any drift between the brain's list-price math and
  Anthropic's actual invoice — usually drift indicates either a model
  pricing change you haven't picked up in `_pricing.py` or a cache-read
  classification mismatch.
- You want to bill clients against *actual* spend, not estimated.

If you are on Pro/Max only, this skill is dormant — the script exits
cleanly with "not configured" and the rest of the FinOps pipeline keeps
running on estimates.

## How to set up

### 1. Mint an Admin API key

In the Anthropic Console → **Settings → API keys → Admin keys**. Create
one with scope sufficient to read `usage_report`. Store it locally:

```bash
echo 'export ANTHROPIC_ADMIN_API_KEY="sk-ant-admin-..."' >> ~/.profile
# (or your shell's equivalent — never commit this to any repo)
```

If your account spans multiple organizations, also set
`ANTHROPIC_ORG_ID`.

### 2. Run it once manually to verify

```bash
python3 ~/.claude/scripts/anthropic-analytics-pull.py --dry-run
# Confirms env vars + the URL it would hit.

python3 ~/.claude/scripts/anthropic-analytics-pull.py --days 7
# Writes ~/.claude/analytics/anthropic-<today>.jsonl with 7 days of rows.
```

### 3. Schedule the daily pull

Add to your crontab (next to the brain-digest cron):

```cron
# Anthropic Admin Analytics — daily reconciliation pull at 09:30 MX local
30 15 * * * /usr/bin/python3 ~/.claude/scripts/anthropic-analytics-pull.py \
  >> ~/.claude/analytics/cron.log 2>&1
```

The cron runs *after* brain-digest (which fires at 15:00 UTC), so the
reconciliation lands on the next morning's digest.

### 4. Brain-digest reconciliation

`brain-digest.py` automatically reads the latest
`analytics/anthropic-*.jsonl` file (if present) and adds a row to the
Cost section showing **Estimated (Octorato) vs Billed (Anthropic)** and
the delta percentage. If the delta is >20% for two consecutive days, a
note flags it for operator review (drift likely indicates a stale
pricing dict in `_pricing.py`).

## What goes in analytics/

Each pull writes one JSONL line per usage row returned by the Admin
API. The exact schema is whatever Anthropic returns — we pass it
through verbatim so the operator doesn't lose information when
Anthropic adds fields. Typical fields per Anthropic's docs:

- `date` or `time_bucket`
- `model`
- `tokens.input`, `tokens.output`, `tokens.cache_creation`,
  `tokens.cache_read`
- `usd_amount` or `usd_cost`
- `api_key_id` (anonymized)

The directory is **gitignored** (`/analytics/` rule in `~/.claude/.gitignore`)
because it contains vendor billing data — never enters the public brain
repo.

## Anti-patterns

- **Committing the admin key.** It grants org-wide usage visibility.
  Anthropic publishes an audit trail of admin-key reads; rotate
  immediately on accidental commit.
- **Skipping the dry-run.** The Admin API endpoint has changed once
  already (early 2026); a dry-run catches a stale base URL before the
  cron is firing daily.
- **Relying on this for active enforcement.** The Admin API is an
  *after-the-fact* report — a runaway agent burning $5000 in an hour
  shows up on tomorrow's pull, not in time to stop. That's what
  `budget-check.py` (Feature 3) is for; this skill is the truth-table,
  not the brake pedal.

## Lessons Learned

<!-- Append as the operator runs reconciliations and discovers drift
patterns or schema changes in the Anthropic Admin API. -->

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…