agentsclimarketplace

Ctx2img

Skill h5i-dev/h5i-ctx2img/skills/ctx2img

Cut context tokens by rendering it as images. `ctx2img paint <path|->` turns any text-shaped input (a repo, a directory, a file, markdown, stdin) into dense images that carry the full text at 60-75% fewer tokens, with stable handles and a verbatim factsheet; `ctx2img read` recovers guaranteed-exact text. Use before ingesting any large text or at the START of any task in an unfamiliar or large repo.From its SKILL.md

Install
npx -y skills add h5i-dev/h5i-ctx2img --skill ctx2img

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 24 days oldThe repository was created 24 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.7 KB, 875 tokens by cl100k_base, as published. Nobody here has run it

ctx2img — Repository Atlas

ctx2img compiles the repository into a query-conditioned map: an image where position = module topology, cell area = code size, elevation (▲1–▲5) = relevance to your current task, hatched red = trust hazards, arrows = dependencies. Every region/file/symbol carries a stable handle (R3, F103, S12) that resolves back to exact source. The image is an index, never the source of truth — exact code always comes from ctx2img read as text.

Workflow

  1. Index the repo against your task (auto-builds on first run):

    ctx2img paint . --budget 2000 -q "<one line describing your task>"
    

    stdout is the legend (region roster with handles + elevation). If it prints an # atlas: <path> line, Read that PNG file now — the image carries the geography the legend can't. On small repos it may print a text-only roster instead (representation: text) — that alone is a complete map; no image to read.

  2. Pick the summit. Start from the highest-elevation regions (▲5/▲4) and their top files. ⚠net/exec/secrets/eval tags mark files that touch the outside world — relevant for anything security-adjacent.

  3. Focus where the task points — paint just that module or file:

    ctx2img paint src/auth -q "<task>"   # one module's FULL SOURCE as image tiles
    ctx2img paint src/auth/session.rs    # a single file as dense pages
    

    Subdirectory paints share the whole repo's handles and relevance, so the tiles line up with the atlas you already saw.

  4. Get exact source as text (never trust pixels for code):

    ctx2img read F103                  # whole file, numbered
    ctx2img read S12                   # just that symbol's line range
    ctx2img read F103 --lines 40:120
    ctx2img read --find "session"      # search paths+symbols, answers in handles
    
  5. Compress any bulky text (a long doc, tool output, a spec — or a whole directory) before ingesting it:

    ctx2img paint doc.md --out-dir /tmp/pages     # markdown → section map (headings = territories)
    ctx2img paint some/dir --query "<task>"       # dir → atlas folio: overview + full-source tiles
    cat text | ctx2img paint --out-dir /tmp/pages # flat text → dense pages
    

    Then Read the page PNGs in order. Keep the printed factsheet line — it carries the exact identifiers (paths, SHAs, IDs) as text; quote those from the factsheet, never by transcribing them from the image. If paint says text is cheaper, just read the text.

Rules

  • The atlas is for navigation; inscribe tiles and paint pages are for reading. Quote, edit, hash-compare, and reason over ctx2img read output or the factsheet (text), never over strings you transcribed from an image — image misreads are silent and look plausible.
  • Handles are stable across runs and queries — safe to mention in commits, notes, and follow-up commands.
  • Re-run ctx2img paint . --budget 2000 -q "<new task>" whenever your task changes; it re-elevates the same geography in well under a second (warm cache), so map early and often.
  • --json on paint gives {pages, legend_path, ...} when you need to script it.
  • For a human-facing map (README, PR description): ctx2img paint . --theme parchment.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,790. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.