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 skills add msiShariful/claude-token-inspector --skill token-forecastgit clone --depth 1 https://github.com/msiShariful/claude-token-inspectorWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/msishariful/claude-token-inspector/token-forecast)<a href="https://agentmods.dev/skills/msishariful/claude-token-inspector/token-forecast"><img src="https://agentmods.dev/badge/skills/msishariful/claude-token-inspector/token-forecast.svg" alt="Measured on agentmods" height="20"></a>What 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.1 | $0.00040 | $0.00815 |
| Opus 5 | $0.00020 | $0.00407 |
| Sonnet 5 | $0.00008 | $0.00163 |
| Haiku 4.5 | $0.00004 | $0.00081 |
Grade A, and why
token-forecast scanned grade A with 0 findings 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 8d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 87 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Token Forecast
Estimate the token cost of something before it enters your context window. Help the user make an informed decision about whether to load it.
What to forecast
The user may provide:
- A file path (e.g.,
src/api/routes.ts) - A directory (e.g.,
src/components/) - A glob pattern (e.g.,
**/*.test.ts) - A URL they plan to fetch
- Pasted content (code block or text they've included in the message)
- A description (e.g., "my node_modules folder")
If the user provided a file path or directory and you can see the file contents or directory listing in context, use actual character counts. Otherwise, use reasonable estimates based on file type and typical sizes.
Estimation method
- Prose / markdown: 1 token ≈ 4 characters
- Dense code (JS, TS, Python, etc.): 1 token ≈ 3.5 characters
- Minified / compiled code: 1 token ≈ 2.5 characters
- JSON / config: 1 token ≈ 3 characters
- Binary / images: not tokenizable — flag as "not readable"
For directories, estimate per file then sum. If the directory is large, sample a few representative files and extrapolate.
Output format
Start with a forecast headline:
📦 Forecast: {name} — ~{N} tokens ({size_label})
Size labels:
| Token range | Label |
|---|---|
| < 1,000 | Tiny |
| 1,000–5,000 | Small |
| 5,000–20,000 | Medium |
| 20,000–60,000 | Large |
| 60,000–150,000 | Very large |
| > 150,000 | Massive — likely too big |
Then a budget impact line showing how this fits into the current context:
📊 Budget impact: {current}% used + {forecast}% more = {total}% total (~{remaining_after} tokens remaining after load)
Then a recommendation:
{emoji} {recommendation}
Recommendation rules:
- If total after load < 60%:
✅ Safe to load — plenty of budget remaining. - If total after load 60–75%:
⚠️ Loadable but context will be getting full. Consider closing other files first. - If total after load 75–90%:
🟠 Risky — you'll have limited room for responses. Load only if essential. - If total after load > 90%:
🔴 Do not load — this will critically fill your context. Use a subsection or start a new conversation.
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.
- 8d ago First seen · 87 lines · 40 tokens per session scan A 25a4d08e8ff7
token-forecast is a skill published in the GitHub repository msiShariful/claude-token-inspector (4 stars, last pushed 3mo ago), licensed MIT. It adds 40 tokens to every session and 815 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
cco-patterns
Share learned file patterns across a team — export an anonymized digest of what's usually waste/useful/co-edited, and import a teammate's so a fresh clone benefits day one.
dream
Prunes and consolidates the project's auto-memory to keep it minimal — deletes stale, wrong, or redundant memories, merges overlapping ones into existing files, and trims the index. Strong bias against growth: never creates new memory files and never stores new facts. Verifies staleness against the current codebase…
team-memory-protocol
A shared-memory process for teams of coding agents working on the same build. It stores project knowledge, shared context, and task progress in separate files or repositories.
knowledge-wiki
A tool that turns useful lessons from coding sessions into general articles for a team wiki. A wiki is a collection of linked reference pages, and this one can be kept locally or shared through a Git repository.
magic-compact
Compact this Claude Code session.
memem-mine
Opt in to memem's event-triggered mining. New sessions are mined automatically via the Stop hook.