Kud0o

AI Usage Inspector — AI skill for Claude Code

AI community

Records every AI coding-agent prompt — tokens, model, context %, and cost — from Claude Code, Codex, Cursor, OpenCode, Cline, Roo Code and Kilo Code, into a local zero-dependency dashboard.

How to install AI Usage Inspector

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Kud0o/ai-usage-inspector and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What AI Usage Inspector does

Records every AI coding-agent prompt — tokens, model, context %, and cost — from Claude Code, Codex, Cursor, OpenCode, Cline, Roo Code and Kilo Code, into a local zero-dependency dashboard.

Alternatives in AI

  • Manifest — Real-time cost observability for OpenClaw agents — track tokens, costs, messages, and model usage 4.1k ★
  • WindsurfAPI — Turn Windsurf / Devin Desktop's 100+ AI models (Claude, GPT, Gemini, DeepSeek, Kimi, GLM, SWE) into OpenAI-, A 3k ★
  • onWatch — Open-source Go CLI that tracks AI API quota usage across 7 providers (Synthetic, Z.ai, Anthropic, Codex, GitHu 397 ★

README

AI Usage Inspector

**Record every AI coding-agent prompt — tokens, model, context %, and cost — then explore it in one local dashboard.**

![Node](https://img.shields.io/badge/Node-%3E%3D18-339933?logo=node.js&logoColor=white) ![Dependencies](https://img.shields.io/badge/dependencies-0-success) ![Tests](https://img.shields.io/badge/tests-88-success) ![License](https://img.shields.io/badge/license-MIT-blue)


Your coding agent spends tokens on every prompt. This records what each one actually cost — locally, in the project it happened in — and gives that project its own dashboard.

It tracks **Claude Code**, **OpenAI Codex**, **Cursor**, **OpenCode**, and the VS Code agents **Cline**, **Roo Code**, and **Kilo Code**, and normalizes them into one record shape so they sit side by side in the same table.

flowchart TD
  A["Claude / Codex
stop hook"] --> R["record.mjs
spool, then exit 0"] B["Cursor / OpenCode
hook is only a trigger"] --> R R --> S[("spool file")] S --> W["worker.mjs
detached"] W --> I["ingest
parse + gate"] V["Cline / Roo / Kilo
no hook"] --> Y["sync.mjs"] Y --> I I --> D[("usage.ndjson")] D --> P["dashboard
updates live"]

Two ways in, one way through: a live turn is captured the moment an agent stops, history already on disk is imported by sync, and both meet at the same ingest step.

Features

  • Multi-agent, one table — seven agents side by side, with provider filters, badges, charts, and cost/token splits.
  • Per-prompt detail — prompt and response text, input/output/cache/reasoning tokens, model, permission mode, context fill %, USD cost, duration, first-response latency, skills, and tool/subagent counts where the agent exposes them.
  • Never blocks your agent — the hook spools the payload and exits; a detached worker does the parsing and writing.
  • Yours, locally — records live in your project, tracking can be turned off per project, and