vision-tools
Local vision CLIs: glance (describe/ask/OCR an image), ground (locate a target, pixel box), detect (element inventory), trace (image to SVG geometry). Use for any task involving an image — questions, text, locating elements, comparing, rebuilding as HTML/SVG — and to re-check an image yourself when a description you were given lacks a detail.
npx skills add Anionex/codex-vision-proxy --skill vision-tools --agent codex
Same command for any agent — swap --agent for claude-code, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# vision-tools Four local CLIs that give a text-only agent eyes. They read one shared vision config (`VISION_API_KEY` / `VISION_BASE_URL` / `VISION_MODEL` / `LANG`) — no extra credentials. Pick the tool by the question you are answering: | Question | Tool | |---|---| | "What does this image show / say?" | `glance` | | "Where is X?" — a thing you can name | `ground` | | "Where are all the Xs?" — every instance of a kind | `detect` | | "What is its exact shape, size, offset?" | `trace` | | "Which colours dominate a region, and which palette value fits it?" | `scripts/dominant_colors.py` | | A number none of them return — a colour value, the gap between two things | code over the pixels (Pillow) | `glance` answers what something is; `ground` and `detect` answer where. You give `ground` a description of a particular thing; you give `detect` a kind and it enumerates the instances. Both give real coordinates, but they are not pixel-exact: the box arrives on a 0-1000 grid and is scaled to your image, so the last pixel or few are not reliable. That is accurate enough to crop with, to click, to compare positions against. When a number has to be exact, `trace` derives it from the actual pixe
- glance — ask about an image
- ground — locate a named target
- detect — find every instance of a kind
- trace — exact shape geometry (local, no vision API)
- pixeldiff — where two images differ (local, no vision API)
- Work from a copy, not a temp path
- When you have a description instead of the image
- Coarse to fine — the method behind every task above
- Use cases
- Notes
glance <image> # detailed description glance <image> -q "<question>" # targeted question (qualitative only) glance <image> --ocr # verbatim OCR glance <image> --region X1,Y1,X2,Y2 -q "..." # zoom into a crop glance <img1> <img2> -q "..." # compare in ONE call ground <image> "<target description>" ground <image> "<target>" --region X1,Y1,X2,Y2 ground screenshot.png "the send button" glance screenshot.png --region 1067,841,1108,881 -q "is it enabled or greyed out?" detect <image> # every UI element
What does the vision-tools skill do?
Local vision CLIs: glance (describe/ask/OCR an image), ground (locate a target, pixel box), detect (element inventory), trace (image to SVG geometry). Use for any task involving an image — questions, text, locating elements, comparing, rebuilding as HTML/SVG — and to re-check an image yourself when a description you were given lacks a detail.
How do I install it?
Run `npx skills add Anionex/codex-vision-proxy --skill vision-tools --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From Anionex/codex-vision-proxy, a repository with 279 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
