Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/ymstar/agentmeter/claude-mdgit clone --depth 1 https://github.com/ymstar/agentmeterWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.01296 | $0.01296 |
| Opus 5 | $0.00648 | $0.00648 |
| Sonnet 5 | $0.00259 | $0.00259 |
| Haiku 4.5 | $0.00130 | $0.00130 |
Grade B, and why
agentmeter CLAUDE.md scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
1. `init` command writes a `PostToolUse` hook into `~/.claude/settings.json` that runs `npx -y @ymstar/agentmeter hook` How it starts
The opening of the file, as written. The whole thing — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
What is AgentMeter?
AgentMeter (@ymstar/agentmeter) is a CLI that tracks token consumption for AI agents (Claude Code, Cursor, Gemini CLI). It hooks into Claude Code's PostToolUse event to capture every tool call, records token usage and estimated costs into a local SQLite database, and provides terminal stats, a web dashboard, CSV/JSON export, and budget alerts.
Commands
npm run build # Compile TypeScript to dist/ + copy dashboard static assets
npm run test # Run all tests (vitest run)
npm run dev # Watch mode compilation (tsc --watch)
npx tsc --noEmit # Type-check only (used in CI lint job)
There is no linter or formatter configured. CI type-checks with npx tsc --noEmit on Node 20 and 22.
Architecture
ES modules ("type": "module" in package.json). Target ES2022 with Node16 module resolution.
Data Flow
initcommand writes aPostToolUsehook into~/.claude/settings.jsonthat runsnpx -y @ymstar/agentmeter hook- Claude Code fires the hook after every tool use, passing tool name, input, response, session_id, model, agent_type, cwd via stdin JSON
hookcommand parses stdin, detects model/agent type via fallback chains, estimates tokens (three-layer: parse MCP usage fields → estimate from text at 4 chars/token ASCII, 2 chars/token CJK → character count), calculates cost, inserts into SQLite- SQLite lives at
~/.agentmeter/meter.db
Key Modules
src/index.ts— CLI entry point usingnode:utilparseArgs. Routes to:init,hook,stats,dashboard,budget,exportsrc/commands/hook.ts— Core data collection. ContainsdetectModel()(input → env vars → settings file → default Sonnet) anddetectAgentType()(input → env vars → UUID pattern →~/.claudeexistence)src/db/client.ts—MeterDBclass wrappingbetter-sqlite3. Singletool_callstable with migration support (adds columns viaALTER TABLEbased onPRAGMA table_info). WAL mode enabledsrc/token/pricing.ts— HardcodedMODEL_PRICINGtable for Claude, GPT, and Gemini models. Unknown models default to Claude Sonnet pricingsrc/dashboard/server.ts— Rawnode:httpserver (no framework). REST API at/api/overview,/api/daily,/api/tools,/api/sessions,/api/models,/api/agents,/api/calls. Default port 3940
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 106 lines · 1,296 tokens per session scan B 89619d9f2f63
agentmeter CLAUDE.md is an instructions file published in the GitHub repository ymstar/agentmeter (1 stars, last pushed 3mo ago), licensed MIT. It adds 1,296 tokens to every session, about $0.0065 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
budgetclaw AGENTS.md
Instructions for RoninForge/budgetclaw, covering agents.md - budgetclaw, what this is, trust pledge (load-bearing - never break this), layout and build, test, lint.
open-agent-hub AGENTS.md
AGENTS.md instructions for guanyang/open-agent-hub, covering agents.md, 1. think before coding, 2. simplicity first, 3. surgical changes and 4. goal-driven execution.
gmgn-skills CLAUDE.md
Instructions for GMGNAI/gmgn-skills, covering claude.md, critical rule — read this first, project overview, available skills and quick decision guide.
openusage CLAUDE.md
Instructions for janekbaraniewski/openusage, covering claude.md, what is this project?, commands, run a single test and run provider tests only.
core copilot-instructions.md
Instructions for asdecided/core: These decisions are already accepted. Do not re-open or contradict them; ask the AsDecided MCP tools (getartifact, searchartifacts) for the full text before proposing a change that touches one.
PromptHub AGENTS.md
AGENTS.md instructions for legeling/PromptHub, covering prompthub — project context & development rules, 0. agent operating contract, 0.1 source-of-truth lookup order, 0.2 mandatory change gate and 0.3 existing-feature modification rule.