ModLens — Vision Bridge
Gives text-only models plug-in vision: hand it an image path and it returns structured JSON with full OCR, layout regions, and semantics.
UtilitiesIntermediate★ 699⑂ 22AI score 9/10Last updated: Aug 13, 2026
What it does
- Fires automatically whenever an image path or URL (
.png,.jpg,.webp,.heic, ...) or a pasted-image placeholder ([Image #1],[Unsupported Image]) shows up and the model cannot see the pixels. - Forbids DIY OCR (no PIL, no tesseract) and instead runs the
modlensCLI, returning JSON withresult.ocr.full_text,result.layout.regions,result.semantics, and an explicit uncertainty list. - Runs
modlens guardbefore the first read so models that already have native vision are told to read the image themselves. - Also handles provider setup and switching: Gemini API key, OpenAI-compatible endpoints, Claude API, or Claude Code CLI.
- Includes a runtime resolution order (PATH
modlens→npx→bunx) and retry rules for schema mismatch and timeout failures.
Who it's for
- Anyone working with screenshots, diagrams, or receipts inside a text-only model session.
- Developers on CLI/terminal workflows where image attachments aren't possible.
- Teams that want multiple vision providers chained with failover and quota accounting.
Examples
- Paste
~/shots/error.png; the skill runsmodlens -i ~/shots/error.pngand quotes the exact stack trace text back to you. - Feed a UI mockup with
--prompt "focus on button labels and placement"to extract layout regions for a front-end spec. - On first use with empty config, ask "set up modlens with my Gemini key" and it follows the onboarding reference to enable only the provider you choose.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/liustack/modlens/HEAD/skills/modlens/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/modlens folder from the GitHub repo liustack/modlens into my ~/.claude/skills/modlens/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/liustack/modlens.git /tmp/modlens && mkdir -p ~/.claude/skills && cp -r /tmp/modlens/skills/modlens ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal.
- Install Node.js 22.13+ (https://nodejs.org) or Bun (https://bun.sh); verify with
node -v. - Clone the repo:
git clone https://github.com/liustack/modlens.git /tmp/modlens - Copy the skill in:
mkdir -p ~/.claude/skills && cp -r /tmp/modlens/skills/modlens ~/.claude/skills/ - Restart Claude Code and confirm
~/.claude/skills/modlens/SKILL.mdexists. - Check your environment:
npx --yes --package @liustack/modlens@3.11.0 modlens doctor - Add a provider key (e.g. a Gemini API key). If unsure, ask Claude to "help me configure modlens" and it will follow the bundled configure reference.
- Paste an image path to confirm end-to-end operation.
View source on GitHub ↗License: MIT