Agent skill

Visual Verify

by OutThisLife in OutThisLife/brooklyn-skills

A skill your agent uses to verify rendered UI against its design reference.

MITAuto-check passed

Install Visual Verify

skills CLI
$ npx skills add OutThisLife/brooklyn-skills --skill visual-verify -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OutThisLife/brooklyn-skills visual-verify --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OutThisLife/brooklyn-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/visual-verify .claude/skills/visual-verify && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
visual-verify
GitHub stars
199
Token cost
~2.1k tokens
SKILL.md length
1,172 words
Files
5 (incl. scripts, references)
Skills in repo
22
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses to verify rendered UI against its design reference.

  • Works in 5 steps: Run the actual surface (dev server, app,… → Capture what it looks like — screenshot… → Compare against the reference: the… → …
  • Verify rendered UI against its design reference
  • SKILL.md covers Motion pieces: judge from…, Steps, Dense 3D inventory labels and Postprocessing previews, plus 3 more sections
  • Runs Python scripts from its folder; calls pnpm

What it does

Visual Verify is an agent skill from OutThisLife/brooklyn-skills. Use to verify rendered UI against its design reference.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/screenshot-overlays.md`, `scripts/compare.py` and `scripts/selftest.py`).

The repository describes itself as: Skills that drive best-in-class engineering. The licence is MIT.

When your agent uses it

  • Verify rendered UI against its design reference

Example prompts

  • “/visual-verify”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Run the actual surface (dev server, app, TUI/GUI, Storybook — whatever shows
  2. Capture what it looks like — screenshot it, or tell the user exactly how to
  3. Compare against the reference: the design (Figma/mock), the sibling surface it
  4. If it doesn't match, keep the debug logging and iterate. Only say "done" once
  5. Share the clean render and comparison evidence, with the viewport/state,

What it can do on your machine

Read from SKILL.md and the folder at commit 8a97904. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Visual Verify loads about 2.1k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 17 tokens; SKILL.md has 1,172 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~17
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from OutThisLife/brooklyn-skills at commit 8a97904, republished under its MIT licence (© OutThisLife). 1,172 words, ~2,092 tokens.

Download SKILL.mdSave it as .claude/skills/visual-verify/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
visual-verify
description
Use to verify rendered UI against its design reference.

Visual Verify

Motion pieces: judge from ordered stills, not a recording

  • Don't record video to judge a movie; capture 6–8 stills at fixed film-clock times (read the scene's data-film-time, not wall time) and tile them with ffmpeg concat listing files explicitly. A glob sorts t12 before t1_2 and the critique reads the timeline backwards.
  • For beat-synced effects, multiply every effect by a hit envelope (pow(1-phase, 4)) so frames between beats are clean; sustained shear/split/feedback reads as mush, not rhythm. Gate the whole pass with an intensity curve that is 0 at the opener and 0 at the landing.

Never report a visual, layout, or theme change as done based on the diff or a passing test. Look at the running surface.

Steps

  1. Run the actual surface (dev server, app, TUI/GUI, Storybook — whatever shows this UI). Don't start one the user already has running.
  2. Capture what it looks like — screenshot it, or tell the user exactly how to see it.
  3. Compare against the reference: the design (Figma/mock), the sibling surface it should match, or the before state. Name the specific things you checked (color values, spacing, border, active state, contrast). For Figma/screenshot matching, follow Screenshot overlays using the bundled utility or an existing harness with the same capture contract.
  4. If it doesn't match, keep the debug logging and iterate. Only say "done" once it visibly matches.
  5. Share the clean render and comparison evidence, with the viewport/state, measured deltas, approved deviations and unverified states. Keep visual parity, functional QA and the user's approval separate.

Dense 3D inventory labels

  • Compare projected label rectangles against one another and the fixed UI dock at desktop and mobile sizes. A rendered canvas or correct structure count does not prove labels are readable.
  • Gate labels on projected cell width, not viewport width alone, so zoom can reveal names without overlap. Keep search and tolerant picking available when labels are hidden.
  • Exercise resize without reloading an already-exploded scene. Invalidate both camera fitting and mesh transforms when the packing changes; updating only destination coordinates leaves objects in the previous grid.
  • Measure inspector layout bounds independently of entry animations when reserving 3D camera space; transformed bounding rectangles can briefly report the wrong available viewport.
  • Verify switch position with computed translate as well as transform; Tailwind can use individual transform properties, so transform: none does not mean the thumb is unmoved.

Postprocessing previews

  • Keep 3D postprocessing separate from DOM labels and controls so dither and edge detection do not damage text readability. Preserve canvas alpha so scanlines never fill the clean page background; compare a UI-element screenshot pixel-for-pixel with the effect on and off.
  • Apply dependent scene/material changes atomically per file during HMR. Partially updated frame loops can throw every animation frame and flood Vite's forwarded console; inspect the latest log and HTTP health rather than treating a listening port as a working preview.
  • Provide an effects bypass during visual iteration and compare actual rendered pixels with effects on/off at multiple pixel ratios. Preserve selection, camera, and isolation while switching.
  • Validate the ordered-dither matrix covers its intended threshold range exactly; plausible-looking arithmetic can silently duplicate thresholds and alter the tonal distribution.
  • Gate dither strength out of near-black backgrounds in a dark scene; otherwise a subtle surface effect becomes a full-screen checkerboard.
  • Verify cinematic pause with both a frozen timeline and identical canvas pixels. Animate decorative rings, breathing, and camera motion from the same pausable clock.
  • Prove WebGL artwork motion with timed framebuffer reads and a stable visible-artwork screenshot crop, not canvas presence or draw counts alone. When a still image and texture loader share a CDN URL, reproduce image-then-fetch in a fresh browser context: a no-CORS image response can poison the cache for the subsequent CORS texture fetch. Match the still's crossOrigin mode to the texture request, and verify normal and reduced-motion pixels without increasing effect strength.
Show full SKILL.md (531 more words)Show less

Isolated Vue component previews

  • Import Vue through one canonical Vite alias in both the preview entry and compiled components. Mixing an explicit node_modules/vue/dist import with an optimized alias can create duplicate runtimes: component resolution warns, scoped attributes disappear, and loaded CSS no longer matches. Verify actual SVG children, scoped attributes, computed padding, and console warnings before judging screenshots.
  • Check absolutely positioned screen-reader text inside horizontal scrollers. Without a positioned containing block it can escape overflow clipping and widen the document; compare document width before and after positioning the existing scroll region, while confirming keyboard scrolling and accessible names remain intact.
  • Use an installed Chrome channel when the pinned Playwright browser executable is absent; do not substitute DOM-only output for rendered verification.
  • In a fresh workspace whose shared packages export unbuilt dist/, run a source-based dev preview rather than triggering a build during the UI approval gate. Reuse the repo's source aliases; when the Vite config itself imports those packages, load it through the installed tsx with the relevant tsconfig and start Vite programmatically with configFile: false. Invoke binaries from the package that actually installs them: pnpm exec can otherwise fall through to an unrelated global Vite.
  • Wait for the screen's entrance motion before capturing it. Locator visibility and document.fonts.ready can both precede a GSAP fade, yielding a nearly blank image or a translucent dropdown. Inspect the final pixels; label fixture-backed component checks separately from live backend verification.
  • Capture an async form result at the user's unchanged scroll position before scrolling to its banner. A visible DOM node may be entirely above the viewport after insertion; a manually scrolled screenshot hides that usability failure. For fixed inner-scrolling shells, fullPage screenshots still show only the shell viewport, so capture both the confirmation and reachable action positions explicitly.
  • When switching a feed from local assets to remote media, verify the document's actual CSP and decode visible images from every card, not merely the first card (which may be text-only). A successful API response and correct pagination can coexist with broken image placeholders; permit only the precise required image origin, then recheck real image responses and pixels.
  • Verify reduced-motion copy with actual visibility and pixels, not only text content or position: static. A surviving sr-only utility may still apply visibility: hidden or clip-path: inset(50%); remove its hiding treatment when the accessible copy becomes the visible fallback. For promotional typewriters, distinguish hidden-clock suspension from hover/focus dwell holds so the current sentence finishes without advancing the slide, and verify both phases independently.

Saved-content component integration

  • When full-route dependencies cannot be safely established within the investigation budget, mount the unchanged production consumer subtree and reread the real saved local record on every request. Compare response data to the database, exercise reload and variant/snapshot isolation, and disclose component integration rather than full-route/E2E. Keep product captures provenance-labeled and unsupported APIs explicit errors, never fabricated responses.
  • Await the expanded panel's measured height and completed transition before screenshotting an accordion; aria-expanded can update before the expanded pixels are visible.

Don't

  • Claim a theme/color change works because the token math looks right — verify the rendered value.
  • Delete instrumentation while the visual is still wrong.
  • Trust unit tests as proof a UI renders correctly.

© OutThisLife, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts, references) in skills/visual-verify of OutThisLife/brooklyn-skills.

  • SKILL.md
  • references/screenshot-overlays.md
  • scripts/compare.py
  • scripts/selftest.py
  • templates/viewer.html

Open the folder on GitHubat commit 8a97904

Compare with similar skills

Visual Verify next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Visual Verify compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Visual Verify this skillOutThisLife/brooklyn-skills199—~2.1kAutomated safety check: PassMIT
Render Blockingthedaviddias/Front-End-Checklist74k—~430Automated safety check: PassMIT
RenderLeoYeAI/openclaw-master-skills2.2k—~4.8kAutomated safety check: PassMIT
Markdown Renderingsickn33/agentic-awesome-skills47k1 repos~751Automated safety check: PassMIT
RenderAnil-matcha/awesome-muse-connectors1.3k1 repos~433Automated safety check: PassMIT
Web Renderer Testremotion-dev/remotion62k—~547Automated safety check: PassCustom licence

Similar skills

  • Render Blocking

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing slow page loads, heavy assets, or rendering delays related to Eliminate render-blocking resources.

    74k GitHub stars~430 tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Render

    LeoYeAI/openclaw-master-skills

    Deploy and operate apps on Render (Blueprint + one-click Dashboard deeplink, same flow as Codex render-deploy).

    2.2k GitHub stars~4.8k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Markdown Rendering

    sickn33/agentic-awesome-skills

    Open Markdown reliably in cmux panes and recover from blank rendered surfaces.

    47k GitHub starsUsed in 1 repo~751 tokens
    Documents & OfficeAuto-check passed
  • Render

    Anil-matcha/awesome-muse-connectors

    Inspect Render services and deploys: list services, list recent deploys.

    1.3k GitHub starsUsed in 1 repo~433 tokens
    Auto-check passed
  • Web Renderer Test

    remotion-dev/remotion

    Official

    Add explicitly requested web renderer tests or update existing ones for implementation changes.

    62k GitHub stars~547 tokensUpdated today
    Testing & QAAuto-check passed
  • Render HTML

    wanshuiyin/Auto-claude-code-research-in-sleep

    Render an ARIS Markdown / JSON artifact (IDEAREPORT, AUTOREVIEW, KILLARGUMENT, PAPERPLAN, research-wiki state, etc.) into a single-file HTML view designed for human reading.

    17k GitHub starsUsed in 1 repo~5.4k tokens
    Documents & OfficeAuto-check: notes

More from OutThisLife/brooklyn-skills

All 22 skills in this repo
  • Draft Tweet

    OutThisLife/brooklyn-skills

    Draft X/Twitter posts about shipped work. An agent skill from OutThisLife/brooklyn-skills.

    199 GitHub stars~456 tokensUpdated 2 days ago
    Auto-check passed
  • Free Disk Space

    OutThisLife/brooklyn-skills

    Safely reclaim disk space on macOS without touching personal or agent data.

    199 GitHub stars~433 tokensUpdated 2 days ago
    Auto-check passed
  • List Open Work

    OutThisLife/brooklyn-skills

    List my open MRs/PRs in the current repo/worktree, each with its tracker ticket.

    199 GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed
  • PR Ready

    OutThisLife/brooklyn-skills

    Clear everything blocking an existing PR/MR from merging — rebase onto the default branch, get CI green, and resolve review threads (Copilot and human).

    199 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • PR Triage

    OutThisLife/brooklyn-skills

    Maintainer triage on OTHER people's PRs/MRs — verdict of approve, supersede, or close, salvage with credit, close the cluster.

    199 GitHub stars~4.7k tokensUpdated 2 days ago
    Auto-check passed
  • PR Update

    OutThisLife/brooklyn-skills

    Open a PR/MR if missing, or refresh an existing one's title and description so they match the current diff.

    199 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check: notes

Questions about Visual Verify

What does Visual Verify do?

A skill your agent uses to verify rendered UI against its design reference. Visual Verify is an agent skill from OutThisLife/brooklyn-skills. Use to verify rendered UI against its design reference.

When should I use Visual Verify?

Visual Verify fits situations like: verify rendered UI against its design reference.

How do I install Visual Verify in Claude Code?

Run `npx skills add OutThisLife/brooklyn-skills --skill visual-verify -a claude-code`. Or copy the skill folder (skills/visual-verify in OutThisLife/brooklyn-skills) into .claude/skills/visual-verify in your project. Claude Code loads it when a task matches its description.

How do I install Visual Verify in Codex?

Run `npx skills add OutThisLife/brooklyn-skills --skill visual-verify -a codex`. Or copy the skill folder (skills/visual-verify in OutThisLife/brooklyn-skills) into .agents/skills/visual-verify in your project. Codex loads it when a task matches its description.

Can I use Visual Verify in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OutThisLife/brooklyn-skills --skill visual-verify -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/visual-verify, .gemini/skills/visual-verify, .github/skills/visual-verify and .opencode/skills/visual-verify in your project.

What does Visual Verify need to run?

Going by SKILL.md and its folder, Visual Verify needs Python for the scripts in its folder and the command-line tools its instructions call (pnpm). Our summary lists: Python 3.

Does Visual Verify access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Visual Verify safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Visual Verify use?

Visual Verify is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Visual Verify use?

About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.4k tokens, read only when the agent opens those files.

What are the alternatives to Visual Verify?

Skills that share tags, products or a category with Visual Verify: Render Blocking (thedaviddias/Front-End-Checklist, 74k stars), Render (LeoYeAI/openclaw-master-skills, 2.2k stars), Markdown Rendering (sickn33/agentic-awesome-skills, 47k stars) and Render (Anil-matcha/awesome-muse-connectors, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Visual Verify?

OutThisLife (a GitHub user) maintains it in OutThisLife/brooklyn-skills, which has 199 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 5, 2026.

Source: OutThisLife/brooklyn-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.