vision-subagent

vision-subagent is a skill for Claude Code, Codex from OrinVoss/dsh-math-team. It costs 67 tokens per session (1,822 once invoked), scanned A, original, MIT.

A method for delegating image inspection to a separate AI agent when the main agent cannot read images.

In plain words
What is it for?
Use it to describe images, verify visual details, or structure findings from one or more pictures.
Why use it?
It provides a way to review pictures or check visual quality despite the main agent's image-input limits.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions subagents.

Good fit Use it to describe images, verify visual details, or structure findings from one or more pictures.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/orinvoss/dsh-math-team/vision-subagent
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 OrinVoss/dsh-math-team --skill vision-subagent
Clone the repo
git clone --depth 1 https://github.com/OrinVoss/dsh-math-team

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-subagent

README.md
[![agentmods](https://agentmods.dev/badge/skills/orinvoss/dsh-math-team/vision-subagent/github.svg)](https://agentmods.dev/skills/orinvoss/dsh-math-team/vision-subagent)
Your own site
<a href="https://agentmods.dev/skills/orinvoss/dsh-math-team/vision-subagent"><img src="https://agentmods.dev/badge/skills/orinvoss/dsh-math-team/vision-subagent/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-subagent

Your own site · 80×15
<a href="https://agentmods.dev/skills/orinvoss/dsh-math-team/vision-subagent"><img src="https://agentmods.dev/badge/skills/orinvoss/dsh-math-team/vision-subagent.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 67 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,822 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.00067 $0.01822
Opus 5.5 $0.00027 $0.00729
Sonnet 5.5 $0.00013 $0.00364
Haiku 4.5 $0.00007 $0.00182

Measured 1mo ago against content hash c0e8304a6137, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

vision-subagent 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 1mo ago.

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.

skills/vision-subagent/SKILL.md · 84 lines

How it starts

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

视觉子代理(Vision Sub-agent)

当主模型不支持图像输入(read_image 会拒读,如纯文本模型)时,用 workflow 派生一个指定视觉模型的子代理来"看"图——它可以用 read_image 读取图片,再根据你的要求描述内容或审查质量并返回结论。

本 skill 是全局可用的看图方案,任何预设/会话/项目都可加载,不限定业务场景。

触发条件(先判断,再决定用不用本 skill)

先试一下:直接调 read_image,或查 llm.resolveModelInfo(provider, model) 的 inputModalities。

  • ✅ 主模型支持图像(inputModalities 含 image)→ 直接 read_image 读图即可,不必派子代理(更快、少一层)。注意能力靠配置声明——若报 does not declare image input,先按本文末"图像能力靠配置声明"排查,可能只是配置漏声明。
  • ❌ 主模型不支持图像(read_image 拒读)→ 用本 skill 派生视觉子代理来看图。
  • 🔀 仍值得用子代理的两种情形:① 想要独立/隔离的看图结论(不让主模型既产出又自查);② 想用更便宜的视觉模型替代主模型读图。

原理

DeepSeek Harness 的 workflow 工具允许在 agent() 上独立指定 provider 与 model。只要选一个当前部署里真正支持图像输入的模型(其 inputModalities 含 image),派生的子代理就能用 read_image 读取并处理图片。

不同部署注册的视觉模型名可能不同,不要硬编码模型名,应先探测。

如何找可用的视觉模型

用 llm 服务遍历各 provider 的模型,过滤出 inputModalities 含 image 的:

// 思路:遍历 provider -> resolveModelInfo -> 过滤 inputModalities 含 'image',得到 { provider, model }
const vision = /* inputModalities 含 'image' 的 {provider, model} */
await agent(prompt, { provider: vision.provider, model: vision.model })

成本优先(重要):识图/看图是高频、轻量任务,优先选择便宜的经济型视觉模型,不要使用贵的大模型。具体原则:

  • 首选:deepseek-official/deepseek-flash(DeepSeek V4.1 Flash,官方"快·高效·经济"定位,text+image)、kimi-coding/kimi-for-coding(K2.7 Code)、kimi-coding/kimi-for-coding-highspeed 等经济型视觉模型。
  • 避免:kimi-coding/k3、k3-256k 这类旗舰/大上下文模型——识图不需要它们的强推理与长上下文,成本不划算。除非便宜模型全部不可用且任务确需更强能力,才考虑它们。
  • 换部署后先探测:按"便宜视觉模型优先 → 经济型 → 旗舰兜底"的顺序选。
  • 同一批图片审查应尽量一次性派发(一次 workflow 调用审多张),减少调用次数与成本。

已验证候选(示例):deepseek-official/deepseek-flash、kimi-coding/kimi-for-coding、kimi-coding/kimi-for-coding-highspeed(均 text+image,经济型)。

⚠️ 图像能力靠配置声明:模型的 inputModalities 在配置里默认是 ["text"]。若某模型实际支持读图却被拒(read_image 报 "does not declare image input"),检查其配置是否声明了 image(DSH 的 dsh-llm-deepseek 等适配器本身支持图像,声明后即可读图)。

用法模板

用 workflow 派发看图子代理(provider/model 替换为探测到的可用视觉模型):

await agent(
  '用 read_image 工具读取 <图片绝对路径>,然后完成任务:<你的具体诉求,如描述内容 / 审查质量 / 判断是否达标>,并结构化返回结论。',
  { provider: '<探测到的provider>', model: '<探测到的视觉 model>' }  // 指定视觉模型
)

Read the full file on GitHub · 84 lines

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. 1mo ago Changed · +5 lines c0e8304a6137
  2. 2mo ago First seen · 79 lines · 67 tokens per session scan A 89a6d73fa5b0

Subscribe to this mod's changes

vision-subagent is a skill published in the GitHub repository OrinVoss/dsh-math-team (7 stars, last pushed 1mo ago), licensed MIT. It adds 67 tokens to every session and 1,822 once invoked, about $0.0003 per session on Opus 5.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.

Related

vision-subagent compared with skills from other repositories

vision-subagent next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
vision-subagentOrinVoss/dsh-math-teamSkill71mo agoMITA67Claude Code, Codex
project-blueprintshuguang1994/project-blueprintSkill2324d agoMITA114Claude Code, Codex
design-taste-frontendxiehuan123/coding-coachSkill42mo agononeA79Claude Code
product-managerxiehuan123/coding-coachSkill42mo agononeA69Claude Code
vercel-react-view-transitionsxiehuan123/coding-coachSkill42mo agononeA127Claude Code
coach-playbookxiehuan123/coding-coachSkill42mo agononeA130Claude Code
deploy-to-vercelxiehuan123/coding-coachSkill42mo agononeA47Claude Code