by diegosouzapw
Cut your Claude bill 59–70% by rendering bulky LLM context as dense PNG pages — 100% read accuracy, exact per-provider billing math (Anthropic/OpenAI/Gemini), fail-closed gates, measured benchmarks. CLI + proxy + Cloudflare Workers. Docs in 42 languages. Part of the OmniRoute family.
# Add to your Claude Code skills
git clone https://github.com/diegosouzapw/OmniGlyphGuides for using cli tools skills like OmniGlyph.
OmniGlyph is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by diegosouzapw. Cut your Claude bill 59–70% by rendering bulky LLM context as dense PNG pages — 100% read accuracy, exact per-provider billing math (Anthropic/OpenAI/Gemini), fail-closed gates, measured benchmarks. CLI + proxy + Cloudflare Workers. Docs in 42 languages. Part of the OmniRoute family. It has 50 GitHub stars.
OmniGlyph's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/diegosouzapw/OmniGlyph" and add it to your Claude Code skills directory (see the Installation section above).
OmniGlyph is primarily written in TypeScript. It is open-source under diegosouzapw on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh OmniGlyph against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Models bill text per token, but bill an image by its dimensions — not by how much text is inside it.
Part of the OmniRoute family · 🌐 All languages

Eight years of context growth, in characters. Every text line tops out near
~4M chars (a 1M-token window at ~4 chars/token); the orange point is the
same Fable 5 1M window read through OmniGlyph images — ~18M chars at the
measured 18.16 chars/vision-token, 4.54× the text ceiling. The density and
multiplier are measured from a live render at generation time, not hand-typed:
regenerate with npx tsx scripts/gen-context-chart.ts
(source).
| metric | result | receipt |
|---|---|---|
| End-to-end bill reduction | 59–70% | production trace, 13,709 requests |
| Tokens per converted block | 10× fewer (28,080 chars: 14,040 → 1,460 tokens) | billing sweep |
| Billing-formula accuracy | residual zero across 22 count_tokens probes, 2 models × 2 tiers |
benchmarks/billing-sweep/results/ |
| Exact-read accuracy, production config | 30/30 (100%) on Claude Fable 5 | density frontier |
| Silent confabulations in ~300 read probes | 0 — every miss abstains as ILEGIVEL |
benchmarks/density-frontier/results/ |
Model scorecard (can it read dense renders? n=30 per arm, deterministic scoring):
| model | reading | verdict |
|---|---|---|
| Claude Fable 5 | 100% exact | ✅ production target |
| Claude Opus 4.8 | 77–87% at 4× glyph size | ⚠️ opt-in safe mode (savings drop to ~2×) |
| GPT-5.5 | 0/60 — and inflates its answers ~40× trying | ❌ blocked by the gate, with proof |
| Gemini 2.5-flash | 0/26 — and confabulates instead of abstaining | ❌ blocked (partial test, quota-limited) |
The advantage is Fable-specific today — other vision encoders don't resolve dense glyphs yet. The benchmark harness re-tests any new model in one command.
Every long-running agent session drags the same dead weight on every request: the system prompt, tool docs, and old history — re-billed per token, every turn. OmniGlyph is a local proxy that rewrites those bulky parts into dense PNG pages before they leave your machine:
127.0.0.1; nothing extra is sent anywhere.benchmarks/*/results/, re-runnable in one command.npx omniglyph # proxy on 127.0.0.1:47821
ANTHROPIC_BASE_URL=http://127.0.0.1:47821 claude # point Claude Code at it

Works both ways:
Dashboard at http://127.0.0.1:47821/: tokens saved, every text→image conversion side by side, kill switch, live model chips. Responses stream normally — only the request is compressed, never the model's output.
Start the proxy in one terminal, then point the client at it.
Claude Code CLI (macOS/Linux):
npx omniglyph
ANTHROPIC_BASE_URL=http://127.0.0.1:47821 claude
Claude Code CLI (Windows PowerShell):
npx omniglyph
$env:ANTHROPIC_BASE_URL = "http://127.0.0.1:47821"
claude
Claude Desktop uses the same ANTHROPIC_BASE_URL environment variable for its bundled Claude Code runtime — start omniglyph first, then launch Claude Desktop from an environment where ANTHROPIC_BASE_URL is set to http://127.0.0.1:47821.
A full local dashboard ships inside the package — offline, single-file, zero external requests. Six pages, updated live over SSE as requests flow:

benchmarks/*/results/, one row per model·config experiment, and run the benchmarks from the UI: $0 dry-runs stream their output live; live runs stay gated behind your API key plus an explicit cost confirmation.| Live Flow | Benchmarks |
|---|---|
| ![The request pipeline |