By Emasoft
Per-operation token usage reporter for Claude Code 2.1.108+. Shows token counts, cost estimates, tool + skill + agent attribution, cache invalidation detection, worktree sub-agent breakdown, compact_boundary markers, CLAUDE.md reload events, and file activity when agents complete. Only outputs in debug mode (claude --debug).
This plugin requires configuration values that are prompted when the plugin is enabled. Sensitive values are stored in your system keychain.
SKILLS_BOXWhen enabled, per-skill cost breakdown is rendered in its own standalone unicode box instead of as an inline section in the main report. Useful for sessions with many skill invocations where the inline section would crowd the main box.
${user_config.SKILLS_BOX}Matches all tools
Hooks run on every tool call, not just specific ones
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
OUTPUT_LIMIT_CHARSMaximum character count for the report injected into the transcript. The Claude Code binary hardcodes a 10,000 char cap on hook output (additionalContext / systemMessage / stdout) — output exceeding this is silently saved to a file and replaced with a preview stub, which destroys the inline box. Source: https://code.claude.com/docs/en/hooks. Keep this at 10000 unless Anthropic raises the cap in a future Claude Code version.
${user_config.OUTPUT_LIMIT_CHARS}MAX_ENTRIES_PER_SECTIONLists in the inline boxes (skills, bash commands, web fetches, files, sub-agents) are capped at this many entries, with a '+N more — see HTML report' indicator when truncated. The full untruncated data is always available in the HTML report file at <main-repo-root>/reports/token-reporter/. Set to 0 to disable truncation entirely.
${user_config.MAX_ENTRIES_PER_SECTION}A Claude Code plugin that displays per-operation token usage when agents and subagents complete. Only outputs in debug mode (claude --debug). Tracks Claude Code 2.1.85–2.1.108.
After each Claude Code response (in debug mode), a compact unicode-bordered report appears in the terminal showing:
loadChangedFiles())system/compact_boundary events with preTokens from auto-compactionInstructionsLoaded events, broken down by load_reason (session_start, nested_traversal, path_glob_match, include, compact) with red warning for compact-triggered reloads~/.claude/projects/<project>/<session>/tool-results/ are credited to the originating toolSkill tool. Each skill invocation shows invocation count, result→input bytes (the skill content loaded into context), output bytes, and an estimated cost per skill. Skills are sorted by cost so the biggest drains float to the topExplore x5), an aggregated row shows the total count, tokens, and cost per type in addition to the individual per-instance drill-downSKILLS_BOX) — when enabled, the per-skill breakdown is rendered in its own dedicated unicode box instead of as an inline section in the main reportMAX_ENTRIES_PER_SECTION, default 12) — long lists (skills, bash, web, files, sub-agents) are capped to keep inline output under Claude Code's hook output limit, with a ⋯ +N more — see HTML report indicator<main-repo-root>/reports/token-reporter/<YYYYMMDD_HHMMSS±HHMM>-<event>-<session>.html containing every section without truncation. The path resolves via git worktree list so linked worktrees still write to the main checkout's reports/ folder. The inline output ends with a Full report: <path> footer line so you can open the complete record in a browser. Add both reports/ and reports_dev/ to your project's .gitignore per the agent-reports-location rule — reports often contain private data (session IDs, file paths, tool outputs) that must never be committed.agent_id/agent_type hook input fields), model, message count, durationTask distribution, agent coordination, progress monitoring - executes plans via subagents. Requires AI Maestro for inter-agent messaging.
GHE (GitHub-Elements) - Automated project management for Claude Code using GitHub Issues as persistent memory with orchestrated DEV/TEST/REVIEW workflow.
Portable utility tools for Claude Code plugin marketplaces. Includes release automation and markdown TOC generation.
Comprehensive validation, management, and standardization suite for Claude Code plugins and marketplaces. Includes 190+ validation rules, plugin lifecycle management, marketplace operations, health checks, security auditing, GitHub repo validation, plugin/marketplace repo scaffolding, and standardization tooling. Features severity hierarchy, --strict mode, language-aware token estimation, and universal plugin/marketplace templates.
Exports current session segment (since last compaction) with system-reminder stripping -- main conversation, subagent transcripts, sidechains, and debug logs in structured markdown
npx claudepluginhub emasoft/emasoft-plugins --plugin token-reporterAnalyze Claude Code session token usage, costs, trends, and anomalies
Tracks Claude Code session usage (tokens, costs, skills, MCP, subagents) and sends data to a self-hosted dashboard.
OTel + Hooks analytics for Claude Code. Run /init-claudalytics to configure telemetry and hooks capture for this project.
Generate an explorable HTML report of Claude Code session usage — tokens, cache efficiency, subagents, skills, and the most expensive prompts — from local ~/.claude/projects transcripts.
Visual dashboard for Claude Code harness — usage/token analysis of skills, agents, plugins, hooks, memory, MCP servers, rules, and principles
PostToolUse hook that reports estimated token usage and cost per tool call