visual-verify

visual-verify is a skill for Claude Code, Codex from metraton/gaia. It costs 66 tokens per session (1,372 once invoked), scanned A, original, MIT.

A checking procedure for anything people will see, such as a web page, user interface, diagram, slide, or screenshot. It verifies the rendered pixels instead of trusting that the underlying markup is correct.

In plain words
What is it for?
Taking and inspecting screenshots of HTML pages, rendered interfaces, diagrams, slides, and local files across different screen sizes and supported themes before declaring the visual work finished.
Why use it?
A page can contain valid code while still clipping text, overlapping elements, overflowing on mobile, or becoming hard to read in another theme.

Skill for Claude CodeCodex

Part of the gaia plugin — 38 skills, 9 agents, 11 hooks shipped together

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.

agentmods
npx agentmods add skills/metraton/gaia/visual-verify
Any agent
npx skills add metraton/gaia --skill visual-verify
Clone the repo
git clone --depth 1 https://github.com/metraton/gaia

Made for: Claude Code, Codex.

Or install gaia, the plugin that ships this one along with the rest of its 38 skills, 9 agents, 11 hooks.

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 visual-verify

README.md
[![agentmods](https://agentmods.dev/badge/skills/metraton/gaia/visual-verify.svg)](https://agentmods.dev/skills/metraton/gaia/visual-verify)
Your own site
<a href="https://agentmods.dev/skills/metraton/gaia/visual-verify"><img src="https://agentmods.dev/badge/skills/metraton/gaia/visual-verify.svg" alt="Measured on agentmods" height="20"></a>
Per session 66 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,372 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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.00066 $0.01372
Opus 5 $0.00033 $0.00686
Sonnet 5 $0.00013 $0.00274
Haiku 4.5 $0.00007 $0.00137

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

Security

Grade A, and why

visual-verify 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 5d ago.

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

skills/visual-verify/SKILL.md · 105 lines

How it starts

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

Visual Verify

Visual verification is the discipline of confirming a visual output by rendering it and looking at the pixels, not by asserting the markup "should" look right. When work produces something a person would see -- a page, a UI, a diagram, a slide -- the honest check is a screenshot the agent then reads with its own image-reading tool. An agent that ships visual output without looking at it has not verified; it has hoped.

This skill teaches the disposition and hands you a reference implementation (scripts/screenshot.cjs) as support, not as a spec. It is generic -- any HTML or URL, any project, inside Gaia or out. For the response contract and the verification block this feeds, see agent-protocol.

Core principle

Three judgments shape a good visual check. Reason through each; do not follow a fixed recipe.

  • Look, and look where it breaks. Markup that parses is not layout that works. Text clips, boxes collide, a column that is fine at 1440px overflows at 380px, a palette that reads in light mode fails in dark. So render across a spread of widths (desktop down to narrow mobile) AND across the themes the output supports (light/dark) -- one viewport in one theme is not a verification of a responsive, themed surface. Reading the images is the verification; the script exiting 0 is not.
  • Find the browser where it lives; obtain it only if it is truly absent. Playwright caches its browsers in a location that varies by OS and by the PLAYWRIGHT_BROWSERS_PATH override -- do not assume one fixed path. Locate the browser dynamically (resolve the highest chromium-* build present) and launch it via an explicit executablePath, so you use what is already on disk. If nothing is present anywhere, obtaining a browser is a legitimate, deliberate one-time step -- a real install you run with approval. The friction to avoid is not installing per se; it is letting a tool silently fetch a mismatched revision when a perfectly usable browser already sits in the cache.
  • Put the captures where their context wants them. The output location is a decision, not a fixed folder. Read the context and choose:
    • Backing a brief (inside Gaia): write them where that brief's evidence lives, so the capture becomes part of the audit trail.
    • Generic / outside a brief: a temporary directory -- it keeps the workspace clean and is not a meaningful mutation -- or the location the user or context names. The reference script takes the out-dir as an argument precisely so this decision stays with you.

Read the full file on GitHub · 105 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. 5d ago First seen · 105 lines · 66 tokens per session scan A fef83c024585

Subscribe to this mod's changes

visual-verify is a skill published in the GitHub repository metraton/gaia (3 stars, last pushed yesterday), licensed MIT. It adds 66 tokens to every session and 1,372 once invoked, about $0.0003 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.

Related

Other skills, from other repositories

review-team

6つの専門レビュアーロールを並列実行し、consensusLevel(複数ロールの合意度)と Tech Lead レポート(top3指摘・blindSpots・consensusSummary)で結果を統合する マルチエージェントレビュー entry skill。 Parallel multi-role review with consensus scoring (consensusLevel) and Tech Lead report. Use when a major release needs exhaustive multi-angle review, or when a single-perspective review…

s977043/river-review · 147 tokens

writing-plans

Use when you have a spec or requirements for a multi-step task, before touching code - produces a plan this plugin can parse, phase, and dispatch to a fleet.

andreymudri/claude-teammates · 38 tokens

mode

Adopt the lead role for this session: plan work, delegate to executors via relay, review reports, never implement large work directly. Invoke with /relay:mode.

spacegrowth/claude-relay · 37 tokens

verify

Machine-check an executor's report against its staged reality — TL;DR block well-formed, claimed files actually staged, declared counts cross-checked — stamping MALFORMED / MISMATCH / INCONCLUSIVE / COUNTS-MATCH. Invoke with /relay:verify, or when asked "check that report", "did it really do what it says", "verify X's…

spacegrowth/claude-relay · 83 tokens

grok-cli-runtime

Internal helper contract for calling the grok-companion runtime from Claude Code.

okisdev/claude-code-fusion · 19 tokens

auto

Flip this lead session's autonomous posture: proceed by default on routine in-plan steps instead of asking, or go back to waiting. Invoke with /relay:auto, or when asked to "go autonomous", "stop asking me every time", "just proceed", "turn auto off", "what posture am I in".

spacegrowth/claude-relay · 65 tokens