# Model Census

> Report which Claude model actually ran, per main thread, per subagent type, and per repo, from local transcripts. Use to verify tier routing works and to see where Fable/Opus tokens go. Trigger: 'model census', 'model usage', 'which models are we using', '/model-census'.

- Skill: `seansmithworks/model-census` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add seansmithworks/model-census`
- Raw SKILL.md: https://api.skillmd.com/api/skills/seansmithworks/model-census/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: seansmithworks (https://skillmd.com/u/seansmithworks)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/seansmithworks/model-census

---


# Model census

Neither the API console nor `ccusage` can see subagent type or repo — they see API keys and token counts, not which agent definition ran or what it was working on. This skill reads the transcripts directly.

## What it reads

`~/.claude/projects/**/*.jsonl` (main-thread transcripts) and `~/.claude/projects/**/subagents/agent-*.jsonl` (subagent transcripts). Subagent type is recovered by joining the parent transcript's `Agent` tool_use (`input.subagent_type`) to the matching tool_result's `agentId: <id>` line, then matching that id to its subagent transcript. Token counts are raw counts, not dollars — this is a routing check, not a billing report.

## Command

```bash
python3 <skill dir>/scripts/model-census.py --brief --since <date>
```

Global install (`npx skills add ... -g`): `~/.claude/skills/model-census/scripts/model-census.py`. Project-local install (the default): `./.claude/skills/model-census/scripts/model-census.py`. `--since` takes `YYYY-MM-DD` (default: 30 days back). Drop `--brief` for the full report broken out by project.

## Always flag

- Any Fable or top-tier row in the **MAIN THREAD** table — the main thread pays to read every tool output, so a top-tier default there is the expensive place for it to leak, not a per-task subagent.
- A top-level `model` key in `~/.claude/settings.json` — that's a silent global default, usually written by `/model <x>` + Enter instead of the session-only flag.

