safe-image-reading

safe-image-reading is a skill for Claude Code, Codex from zhuanggenhua/BoardGame. It costs 46 tokens per session (1,803 once invoked), scanned A, original, MIT.

A safe process for reading images and extracting only the information needed for a task. It covers photos, screenshots, scanned rule pages, card images, image atlases, and other image files.

In plain words
What is it for?
Use it for image-based data entry, OCR, rule extraction, card or room inspection, UI screenshot checks, asset verification, and troubleshooting where an image is a source of evidence.
Why use it?
It avoids loading large images unnecessarily and separates what an image proves from what it cannot prove. It also gives unclear or incomplete images an explicit status instead of treating them as reliable evidence.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it for image-based data entry, OCR, rule extraction, card or room inspection, UI screenshot checks, asset verification, and troubleshooting where an image is a source of evidence.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/zhuanggenhua/boardgame/safe-image-reading
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 zhuanggenhua/BoardGame --skill safe-image-reading
Clone the repo
git clone --depth 1 https://github.com/zhuanggenhua/BoardGame

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 safe-image-reading

README.md
[![agentmods](https://agentmods.dev/badge/skills/zhuanggenhua/boardgame/safe-image-reading/github.svg)](https://agentmods.dev/skills/zhuanggenhua/boardgame/safe-image-reading)
Your own site
<a href="https://agentmods.dev/skills/zhuanggenhua/boardgame/safe-image-reading"><img src="https://agentmods.dev/badge/skills/zhuanggenhua/boardgame/safe-image-reading/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 safe-image-reading

Your own site · 80×15
<a href="https://agentmods.dev/skills/zhuanggenhua/boardgame/safe-image-reading"><img src="https://agentmods.dev/badge/skills/zhuanggenhua/boardgame/safe-image-reading.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 46 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,803 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. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.00046 $0.01803
Opus 5 $0.00023 $0.00901
Sonnet 5 $0.00009 $0.00361
Haiku 4.5 $0.00005 $0.00180

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

Security

Grade A, and why

safe-image-reading 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 11d 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.

.spec/skills/safe-image-reading/SKILL.md · 119 lines

How it starts

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

Safe Image Reading

本 workflow 只服务当前用户需求中“必须从图片补足的判断”。读图过程本身不是交付;交付必须落到数据字段、规则合同、验收结论、排障事实或阻塞项。

触发

使用本 skill:

  • 用户要求看图、读图、OCR、根据卡图/规则页/房间图录入、图片验收或截图审计。
  • 任务涉及 JPG、PNG、WebP、atlas、SpriteSheet、卡牌裁图、规则页截图、UI 截图。
  • 当前对话因原图、base64、图片上下文过大而变慢或报错。
  • 图片是数据录入、规则提取、实现验收、UI 对比、资源核对、排障定位或审计判断的真相来源之一。

核心原则

  • 先交接需求,不先泛读图片:必须写清用户要什么、业务对象是什么、图片需要补哪个字段/判断、结果要写回哪里。
  • 默认轻量读取:普通单图先生成压缩图、低分辨率预览或单对象裁图给主线程读取;不要反复把原图或 base64 带进长上下文。
  • 按需求返回结果:数据录入返回字段和合同状态;验收返回是否达标和失败点;排障返回图片能证明/不能证明的链路事实。
  • 子代理只在升级场景用:大图、批量图、atlas/整页图、SpriteSheet、长线程安全读图或用户明确要求时,才交给子代理 / OCR / 外部开图。
  • 一次读图,多轮复用:已形成合同或验收证据后,后续实现和审计读文字合同与图片引用,不重复读原图。
  • 失败不硬试:图片链路导致上下文溢出、请求报错、OCR 不可用或裁图不可读时,换文本真相源、本地裁图/OCR、已有合同,或只把对应字段标为阻塞。
  • 已锁合同优先:审计对象已有 locked 合同和实现对照矩阵时,不把 safe-image-reading 当普通续跑入口;只有合同缺主真相源、缺完整单对象图、来源冲突,或用户明确要求复核图片时才重新读图。

状态口径

读图结果只按当前验收目标判定:

  • passed:当前目标需要的字段全部锁定,可进入下一步。
  • failed:图片能正向证明不是当前目标对象,或明确不满足验收目标。
  • blocked:图片无法提供足够信息,例如空白、打不开、严重模糊、文字区缺失、裁切缺失。
  • partial:图片仍可能属于目标对象,但只锁定部分必需字段。
  • disputed:图片与其它真相源冲突,不能单边裁决。
  • not-applicable:图片与当前目标无关。

边界:纯色/空白/打不开是 blocked,不是 failed;明确是非目标对象是 failed,不是 partial;只有“可能是目标但字段不全”才用 partial

主线程流程

1. 锁图片判断点

记录:

  • 原图或裁图路径。
  • 需求类型:数据录入、规则录入、实现验收、UI 对比、资源核对、排障定位。
  • 业务对象和现实作用。
  • 图片要补足的字段、判断或证据。
  • 输出落点:evidence、合同表、真相表、验收结果,或当轮回复。

2. 生成轻量输入

  • 普通单图优先生成压缩图或低清预览。
  • 文字、像素边界、小图标优先 PNG / WebP lossless;照片、纹理和渐变可用 WebP lossy / JPG。
  • atlas、整页图或 SpriteSheet 先裁到单对象完整图;局部放大图只能辅助,不替代完整单对象图。
  • 批量图先做 contact sheet 或分批裁图;规则/数据录入优先让子代理直读完整单对象裁图,OCR 只作索引或兜底。
  • 如果轻量图已经足够判断当前目标,直接结论,不再升级开放式识图。

3. 读取或委托

主线程自己读图或委托子代理时,都必须带验收标准,不能变成开放式视觉描述。

子代理输入必须包含:图片路径、对象名、用户需求、图片判断点、通过条件、失败/阻塞/partial 边界、结果用途和返回格式。输出只允许结构化字段、结论、失败点、路径/hash;禁止返回 base64、data URL、markdown 图片或大段二进制内容。

参数错误时,修正调用形态后只重试一次。连续失败后换真相源,不继续同路硬试。

4. 写回

按需求写回:

  • 数据 / 规则录入:写入 evidence、录入合同或真相表,至少包含对象、图片路径、hash、原文/字段、原子子句、结构化字段、合同状态。
  • 实现验收 / UI 对比 / 资源核对:写入验收 evidence 或当轮回复,至少包含用户预期、图片判断点、状态、失败点、证据路径。
  • 排障定位:记录图片证明的链路事实和下一步,不生成无关过程文件。

只有当前需求、既有 E2E 证据链或项目 workflow 明确要求独立图片验收产物时,才生成:

Read the full file on GitHub · 119 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. 11d ago First seen · 119 lines · 46 tokens per session scan A 16c82b7b1aa4

Subscribe to this mod's changes

safe-image-reading is a skill published in the GitHub repository zhuanggenhua/BoardGame (23 stars, last pushed today), licensed MIT. It adds 46 tokens to every session and 1,803 once invoked, about $0.0002 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-30.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

insight-error-page

Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…

vercel/next.js · 83 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens

next-partial-prefetching-adoption

Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…

vercel/next.js · 103 tokens