Read huge read-only text as PNG pages; big input cut.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add Green-PT/honey-for-devs --skill honey-px --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Honey Px?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/green-pt-honey-px)More formats (shields.io, HTML) on the badges page.
---
name: honey-px
description: "Read huge read-only text as PNG pages; big input cut."
version: 1.3.1
author: GreenPT
license: MIT
metadata:
hermes:
tags: [token-efficiency, coding]
---
# Honey PX
An image's token cost is fixed by its pixel area, not its character count.
Dense text packs ~3 chars per image-token vs ~1 as text, so a 90k-char file
read as PNG pages costs a fraction of the text read. `pxpipe export`
(teamchong/pxpipe) does the rendering; the agent `Read`s the pages.
**Lossy by design** — misreads of exact strings are *silent confabulations*,
not errors. The export writes a `factsheet.txt` carrying the verbatim
precision tokens (paths, SHAs, ids, numbers) as text alongside the images;
always read it too.
## When to use
- Bulk is **read-only reference**: skimming a big vendored file, a large diff
for review context, docs, generated code — content you reason over, not
byte-copy.
- **Dense** (code, JSON, logs) and **big** — worth it above ~6k chars; the
export prints `% saved`, skip if it's low. Sparse prose loses money.
- The reader is **Fable-class**. Opus misreads ~7% of renders; other models
degrade — read as text there.
## Don't use
- Files you will **Edit** — `old_string` must be byte-exact; imaged reads
aren't. Read the real file (with `offset`/`limit`) before any edit.
- **Secrets, hashes, ids, numeric values you'll act on** — treat anything
exact recalled from an image as unverified; re-`Grep` the source first.
- Anything the user asked to see verbatim, or that gets written back.
- Small or sparse content — the fixed pixel cost loses.
## How
```sh
npx pxpipe-proxy export --json --out <scratchpad> <file-or-dir> # or --git / --diff <ref> / --stdin
```
Output dir `pxpipe-export-<hash>/` contains `page-*.png`, `factsheet.txt`,
`manifest.json` (token report). Then:
1. `Read` every `page-*.png` **and** `factsheet.txt`. If instead you pass the
renders to a model over the raw API (subagent prompt, panel), include the
export's `prompt.txt` banner — naked dense renders can trip
`stop_reason: refusal` on Fable-class models; the banner prevents it.
2. Treat the manifest's `percentSaved` as the go/no-go — if it printed low,
read the text instead.
3. Before acting on any exact string seen only in an image, verify it against
the source with `Grep`.
Cheaper still is not reading at all — `Grep`/`offset`/`limit` (Lever 3b) and
`eson crush` (CCR) come first. PX is for when you genuinely need the whole
bulk in view.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!