show-image-to-user

show-image-to-user is a skill for Claude Code, Codex from zhuanggenhua/BoardGame. It costs 44 tokens per session (4,678 once invoked), scanned A, original, MIT.

A controlled way to show selected local images, GIFs, and screen recordings to a user. It distinguishes final review evidence from drafts, failed captures, and diagnostic files.

In plain words
What is it for?
Use it when the user asks to see a final image, GIF, screenshot set, or recording, or when the agreed deliverable includes visual or motion evidence. It also handles authorized publishing of selected images to the project preview area.
Why use it?
It prevents unfinished or misleading images from being presented as final results. It also chooses an appropriate viewer and limits when images or recordings should be opened or uploaded.

Skill for Claude CodeCodex

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

Not installable: its command points at a path on the author’s own machine, so it runs nowhere else. The line is /home/admin/image-preview/data/projects/boardgame/tasks/<task-id>/.

Good fit Use it when the user asks to see a final image, GIF, screenshot set, or recording, or when the agreed deliverable includes visual or motion evidence. It also handles authorized publishing of selected images to the project preview area.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

There is no command for this one: it runs only inside a plugin, and the catalogue could not identify which plugin ships it. The source is linked below.

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 show-image-to-user

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

Your own site · 80×15
<a href="https://agentmods.dev/skills/zhuanggenhua/boardgame/show-image-to-user"><img src="https://agentmods.dev/badge/skills/zhuanggenhua/boardgame/show-image-to-user.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 44 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,678 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.00044 $0.04678
Opus 5 $0.00022 $0.02339
Sonnet 5 $0.00009 $0.00936
Haiku 4.5 $0.00004 $0.00468

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

Security

Grade A, and why

show-image-to-user 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 4d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/label-image-sequence.py), 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.

.spec/skills/show-image-to-user/SKILL.md · 151 lines

How it starts

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

Show Image To User

单一职责

本 skill 定义“把本地图片、GIF 或录屏展示给用户本人看”的项目入口。技能名保留历史名称;录屏 / 视频展示不另建第二入口。

  • 截图是否具备 E2E / UI 验收资格,不在本入口定义。
  • AI 自己读图、核图和 PASS / REVISE,不在本入口定义。
  • 大图安全读取、降采样和裁切,不在本入口定义。
  • 本入口不维护第二套截图验收正文;它只裁决选哪张图、用什么用户展示通道、失败时怎么回报。

项目约定:

  • 主证据目录:test-results/evidence-screenshots/<game>/<测试文件>/<用例>/
  • 候选图、失败图、中间排查图不能冒充最终验收图;它们只能作为路径或诊断材料报告,不允许打开给用户看。
  • 服务器相册不是默认交付。只有用户明确要求上传、发布链接、服务器相册或手机查看时,才允许发布到 http://8.148.71.102:18080/#/boardgame/<task-id>
  • 获得上传授权后,只允许更新 /home/admin/image-preview/data/projects/boardgame/tasks/<task-id>/,禁止改预览站壳层、根路由或客户端代码。

开图时机(强制)

  • 打开图片 / 录屏只在三类情况下发生:① 用户当轮明确要求看图、打开图、截图验收、录屏或玩家视角检查;② 本轮交付物本身被任务合同定义为图片型设计稿、视觉验收图、动效验收录屏或最终有序图组;③ 本轮已经完成 UI / 游戏画面 / 截图验收收口,且已经选定最终 PASS 图片、图组或录屏。其它场景即使已经生成截图 / 录屏、补了 evidence、AI 自己核图 PASS,也默认只汇报路径、截图 / 录屏清单和核图结论,不自动打开查看器。
  • 录屏、GIF 和视频属于同一类用户可见验收物:只有用户明确要求看实际动效 / 录屏 / GIF,或本轮交付物被任务合同定义为动效验收媒体时,才允许展示。未达到本轮 PASS 前,不得把录屏或动图当过程材料打开给用户。
  • 打开图片 / 录屏是上述图片型或动效型交付的完成信号,不是排查过程动作。实现、测试、截图 / 录屏链、AI 核图或证据选择还没完成时,不得调用 PureRef、系统查看器或 Codex App 内联展示;最多报告候选路径、缺口和下一步。
  • 用户说 图呢我看看 或类似表达时,先判断是否已经具备最终验收图、最终有序图组或最终动效录屏:具备则展示;不具备则先补实现、补 E2E、补截图 / 录屏链或补核图。禁止为了回应催图而先打开旧图、单张候选图、过程图、诊断录屏或截图目录。
  • 同一轮同一份媒体或同一组媒体只展示一次。展示通道成功后,除非用户明确说没看到、打开错图、要重开或要改用另一通道,否则不得重复调用查看器。
  • 最终 PASS 前禁止开图 / 录屏(强制):本条只在已经触发“用户可见展示”时生效。本轮截图、录屏、过程图、候选图、诊断图、失败图、过期图和历史图,只要尚未被当前验收流程选为最终交付物并明确判定 PASS,一律不得通过 PureRef、系统查看器、Codex App 内联图、会在对话中渲染图片的 view_image / Viewed Image 预览或服务器相册展示给用户。用户明确要求“先打开看看 / 打开失败图 / 打开候选图 / 我看看”也不能绕过;正确动作是继续验收、说明尚未通过,或只给路径与未通过原因。若本轮没有触发用户可见展示,则不需要为了满足本条而主动展示 PASS 图或录屏。
  • PASS 只看本轮要求(强制):最终 PASS 的判断对象是用户本轮明确交给你的要求,不是整页 UI、全游戏完成度或其它顺手发现。展示前必须先写出“本轮要求清单”,每一项都要有直接证据并标为 PASS;任一项未达标、缺证据或被用户刚指出仍不对,都不得展示。非本轮要求的问题可以记录为备注或后续项,但既不能阻塞本轮展示,也不能拿来替代本轮要求的达标证据。若非本轮问题会让本轮截图 / 录屏无法证明目标要求,例如遮住目标、截图不是目标状态、录屏没有覆盖目标动作或流程没有触发,则它按“本轮证据无效”处理。

一步到位开图流程

用户要求看图、打开图或最终截图验收时,只允许按这条正向顺序执行一次:

  1. 锁定本轮展示要求清单,并判断需要单图、有序图组还是录屏。
  2. 完成当前工作树、当前入口、当前目标状态的截图 / 录屏与必要测试;若需要重跑、补图、同步目录或重建证据,必须在开图前完成。
  3. 选定最终原图 / 原录屏;多图时先用项目唯一标记脚本生成 00-sequence-index.png 和无遮挡标记副本。
  4. 创建或更新只覆盖本轮要求的 PASS 清单,确保清单里的测试结果、原图路径、标记图路径和当前证据运行一致。
  5. 先用 open-verified-image.mjs --dry-run 校验清单和路径;发现旧图、缺图、标注遮挡、清单不匹配或验收项不足时,回到第 2 步修正,不得先打开再补救。
  6. dry-run 通过后,用同一份 PASS 清单和同一组媒体调用一次真实查看器;这次打开就是本轮用户可见交付。

Read the full file on GitHub · 151 lines

Files

What ships with it

1 file 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. 4d ago Changed · +13 lines 8a5acb11ccb9
  2. 7d ago Changed · +3 lines 632cdfbac7a3
  3. 12d ago First seen · 135 lines · 44 tokens per session scan A 11d2c915192f

Subscribe to this mod's changes

show-image-to-user is a skill published in the GitHub repository zhuanggenhua/BoardGame (23 stars, last pushed yesterday), licensed MIT. It adds 44 tokens to every session and 4,678 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

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 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