vision

vision is a skill for Claude Code, Codex from TIanle-art/agent-vision-skill. It costs 121 tokens per session (1,272 once invoked), scanned A, original, MIT.

An image-description tool for coding agents whose main model cannot view images directly. It sends local images or image URLs to a separate vision model and returns descriptions.

In plain words
What is it for?
Describing, recognizing, or analyzing one or more images, including screenshots, and selecting or configuring the vision model used.
Why use it?
It lets the agent work from screenshots and other images when it has no built-in ability to see them.

Skill for Claude CodeCodex

Which agent this was written for is unclear — built for cline. Also seen: mentions CLAUDE.md; mentions Claude Code; mentions AGENTS.md.

Good fit Describing, recognizing, or analyzing one or more images, including screenshots, and selecting or configuring the vision model used.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/tianle-art/agent-vision-skill/vision
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add TIanle-art/agent-vision-skill --skill vision
Clone the repo
git clone --depth 1 https://github.com/TIanle-art/agent-vision-skill

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for vision

README.md
[![agentmods](https://agentmods.dev/badge/skills/tianle-art/agent-vision-skill/vision/github.svg)](https://agentmods.dev/skills/tianle-art/agent-vision-skill/vision)
Your own site
<a href="https://agentmods.dev/skills/tianle-art/agent-vision-skill/vision"><img src="https://agentmods.dev/badge/skills/tianle-art/agent-vision-skill/vision/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for vision

Your own site · 80×15
<a href="https://agentmods.dev/skills/tianle-art/agent-vision-skill/vision"><img src="https://agentmods.dev/badge/skills/tianle-art/agent-vision-skill/vision.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 121 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,272 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00121 $0.01272
Opus 5 $0.00060 $0.00636
Sonnet 5 $0.00024 $0.00254
Haiku 4.5 $0.00012 $0.00127

Measured 8d ago against content hash c601349e189e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

vision scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/vision.js), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

vision/SKILL.md · 91 lines

How it starts

The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.

识图能力

底层模型不具备原生识图能力。遇到图片时,不要用 Read 工具,改用本项目脚本 vision.js:

node "scripts/vision.js" "<图片路径>" "用中文描述这张图片"

触发场景

  • 用户分享图片路径(本地或网络 URL)
  • 消息中出现 "Saved attachments:" 并列出图片
  • 用户要求分析、描述、识别图片内容

多图

用户一次发多张图片时,必须逐张处理全部图片,拿到所有描述后再回复:

node "scripts/vision.js" "图片1路径" "图片2路径" "用中文描述每张图片"

拿到全部描述后再组织回复,不得只处理第一张。

网络图片

用户发来的是图片 URL 时,直接传即可(自动识别,也可用 --url 显式指定):

node "scripts/vision.js" "https://example.com/a.png" "用中文描述这张图片"

切换模型

用户说"换增强视觉模型"或"换 plus"时:把视觉模型改为 qwen3-vl-plus。 用户说"换回 flash"时:改回 qwen3-vl-flash。 用户指定其他模型名时,按其要求填写。

改哪里:先看 vision.js 同目录有没有 .env 文件——有就改 .env 里的 VISION_MODEL(环境变量优先级高于代码),没有 .env 才改 vision.js 顶部模型配置区的 MODEL。(skill 安装形态下 .env 放在 skill 根目录,同样优先改它)

配置

第一次使用前,把 .env.example 复制为 .env(放在 vision.js 同目录;skill 安装形态放 skill 根目录)并填入 API Key:

DASHSCOPE_API_KEY=sk-xxx

没有 Key 时:提示用户去 https://bailian.console.aliyun.com/ 注册申请(新用户有免费额度),拿到 Key 再继续。

常见错误

  • 文件不存在: <路径>:图片路径写错,先确认文件真实存在
  • API 401/403:API Key 错误或失效
  • API 404:模型名错误或未开通,或 BASE_URL 服务地址错误
  • 图片过大:超过 7MB(macOS 可用 sips -Z 2000 <图片> --out <新文件> 压缩,Windows 用画图/图片工具缩放;或改 .envVISION_MAX_IMAGE_MB
  • 图片分辨率过大:超过 8K(macOS 可用 sips -Z 7680 <图片> --out <新文件> 压缩,Windows 用画图/图片工具缩放)
  • 不支持 GIF 动图:gif 需先转 jpg/png(macOS 可用 sips -s format jpeg <图片> --out <新文件>.jpg,Windows 用图片工具转存)
  • 失败会自动重试(429/5xx/超时,最多 2 次)

粘贴图路径未知时(消息里只有 [Image N],无文件路径)

部分 agent(如 opencode)粘贴图片时不写临时文件,而是把 base64 存进本地 SQLite 数据库(opencode: ~/.local/share/opencode/opencode.dbpart 表),消息里只有 [Image N] 占位。不要按临时目录"最新文件"猜路径(clipboard_image.png 之类可能是旧会话残留,会读错图)。直接让脚本自动定位:

node "scripts/vision.js" --locate "用中文描述这张图片"

--locate 会从已知存储位置(当前支持 opencode 数据库)恢复最新图片附件、解码并直接识别;找不到时报错提示手动传路径。

多会话并发怕取错图时,可用环境变量限定会话(当前会话 ID 可通过查询自己的工具调用记录得到:SELECT DISTINCT session_id FROM part WHERE data LIKE '%<自己的工具名>%' ORDER BY time_created DESC LIMIT 1;):

VISION_OPENCODE_SESSION=<会话ID> node "scripts/vision.js" --locate "用中文描述这张图片"

识别结果明显与用户描述的图不符时,先查数据库而不是再猜路径。

Read the full file on GitHub · 91 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 91 lines · 0 tokens per session scan A c601349e189e

Subscribe to this mod's changes

vision is a skill published in the GitHub repository TIanle-art/agent-vision-skill (2 stars, last pushed 1mo ago), licensed MIT. It adds 121 tokens to every session and 1,272 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.