Installs into .claude/skills of the current project.
Are you the author of Honey Px?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/green-pt-honey-px-honey-for-devs)
---
name: honey-px
description: "Read huge dense read-only text as PNG pages via pxpipe export: ~60-75% fewer input tokens. Lossy on exact strings; never for files you will edit."
homepage: https://github.com/Green-PT/honey-for-devs
license: MIT
---
# 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.