Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

visual-verdict — Claude Code skill: what it does, how to install

A visual QA skill that compares generated UI screenshots against reference images and returns a structured JSON verdict for layout iterations.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -a claude-code
Open on GitHub

What visual-verdict does

This skill accepts paths in reference_images[], the current UI screenshot in generated_screenshot, and an optional category_hint. It checks the output and returns a strict JSON object containing a numerical score between 0 and 100, a status (pass, revise, or fail), categorized differences, and targeted suggestions for styling fixes.

The target pass threshold is set at 90 points. If the score falls below 90, the editing cycle is not complete, and the agent must refine the UI before rerunning /oh-my-claudecode:visual-verdict.

When visual discrepancies are difficult to diagnose, secondary tools like pixelmatch help identify pixel diff hotspots. Even so, this skill serves as the authoritative verdict on whether the layout passes inspection.

What it helps with

  • compare UI screenshots against reference mockups
  • detect discrepancies in spacing, typography, and layout
  • generate actionable CSS fix suggestions in JSON
  • automate iterative visual QA until reaching a 90+ score

Example prompts for the agent

  • Compare `build/screen.png` against reference `design/home.png` and output the verdict
  • Review `screenshot.png` against `ref.png` using category hint `dashboard`
  • Run `/oh-my-claudecode:visual-verdict` on the current UI screenshot and references in `specs/`

How to install visual-verdict

1Skills CLI (Vercel)

npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -a claude-code

2Manually: put the files in place

~/.claude/skills/visual-verdict/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/visual-verdict/

From the same set26

The whole set →
ai-slop-cleaner Yeachan-Heo Cleans bloated AI-generated code by deleting dead logic and duplicate abstractions. It keeps current behavior locked under regression tests. Claude Code CX Codex Cursor +1 1,500installs ralplan Yeachan-Heo A skill that runs iterative planning with three agents (Planner, Architect, Critic) until consensus. Blocks vague requests before execution, never runs changes without your approval. Claude Code CX Codex Cursor +1 1,200installs hud Yeachan-Heo The hud skill configures a HUD display in Claude Code's statusline, showing git branch, context usage, running subagents, and other metrics. Track session state and keep tabs on complex work without losing context. Claude Code CX Codex Cursor +1 1,100installs deepinit Yeachan-Heo Walks a repository and writes an AGENTS.md per directory: what sits there, how the parts connect, what an agent should know before editing. Claude Code CX Codex Cursor +1 1,000installs autopilot Yeachan-Heo A skill that takes a task description and runs the full development cycle: requirements analysis, design, implementation, testing, and validation—all hands-off. Use it when you want to describe what you need and get working code back. Claude Code CX Codex Cursor +1 999installs deep-interview Yeachan-Heo A skill that runs a Socratic interview on your idea, scores ambiguity across weighted dimensions, and blocks coding until the score falls under the threshold. Claude Code CX Codex Cursor +1 998installs omc-setup Yeachan-Heo Canonical setup and repair wizard for oh-my-claudecode. It configures CLAUDE.md files, HUD statusline, and agent team defaults. Claude Code CX Codex Cursor +1 987installs ralph Yeachan-Heo A persistence loop that works through tasks in prd.json until all stories pass and get reviewer verification. Useful for multi-step jobs that need guaranteed completion. Claude Code CX Codex Cursor +1 971installs

Similar

superpowers-lab sickn33 Sets an evaluation workflow to test experimental upstream skills against a baseline in an isolated environment before adopting them. Claude Code CX Codex Cursor +1 1,400installs test-driven-development sickn33 Guides coding agents through a strict test-driven development workflow: red, green, and refactor. Useful when fixing bugs or implementing new features with regression checks. Claude Code CX Codex Cursor +1 1,400installs fix-merge-conflicts cursor Resolves merge conflicts in a branch, then checks the build and tests before wrapping up. Use it when several conflicted files need focused fixes without a refactor. Claude Code CX Codex Cursor +1 2,700installs ai-debt-detector Adit Jain This skill audits AI-generated code for missed failure paths, orphaned resources, fake dependencies, and architecture drift before a merge. Claude Code CX Codex Cursor 2,900installs cargo-fuzz trailofbits Sets up cargo-fuzz inside a Cargo-based Rust crate and walks through the harness, sanitizers and crash triage. Claude Code CX Codex Cursor +1 5,400installs coverage-analysis trailofbits Measures code reached by a fuzzing campaign and helps explain stalled path discovery. Use it to inspect harness changes, corpus results, and unreachable branches. Claude Code CX Codex Cursor +1 5,400installs improve-codebase-architecture Matt Pocock This skill scans a codebase for architectural friction, then builds a visual HTML report with refactoring candidates. Use it before a deeper architecture review. Claude Code 1,163,035installs design-taste-frontend Leonxlnx This skill directs the design of public pages and work screens, then checks the result in a browser through screenshots. Use it when an interface feels generic or unfinished. Claude Code CX Codex Cursor +1 673,100installs

Questions about visual-verdict

How to install visual-verdict in Claude Code?

Run npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -a claude-code in your terminal. You can also place the skill file directly at ~/.claude/skills/visual-verdict/SKILL.md.

What output format does visual-verdict produce?

The skill outputs pure JSON containing score, verdict, category_match, differences, suggestions, and a brief reasoning string.

What score is required to pass visual inspection?

The required threshold is 90 points. If the score is lower, the agent must continue editing the interface and rerun the verdict check.

Source text

SKILL.md · MIT
---
name: visual-verdict
description: Structured visual QA verdict for screenshot-to-reference comparisons
level: 2
---

<Purpose>
Use this skill to compare generated UI screenshots against one or more reference images and return a strict JSON verdict that can drive the next edit iteration.
</Purpose>

<Use_When>
- The task includes visual fidelity requirements (layout, spacing, typography, component styling)
- You have a generated screenshot and at least one reference image
- You need deterministic pass/fail guidance before continuing edits
</Use_When>

<Inputs>
- `reference_images[]` (one or more image paths)
- `generated_screenshot` (current output image)
- Optional: `category_hint` (e.g., `hackernews`, `sns-feed`, `dashboard`)
</Inputs>

<Output_Contract>
Return **JSON only** with this exact shape:

```json
{
  "score": 0,
  "verdict": "revise",
  "category_match": false,
  "differences": ["..."],
  "suggestions": ["..."],
  "reasoning": "short explanation"
}
```

Rules:
- `score`: integer 0-100
- `verdict`: short status (`pass`, `revise`, or `fail`)
- `category_match`: `true` when the generated screenshot matches the intended UI category/style
- `differences[]`: concrete visual mismatches (layout, spacing, typography, colors, hierarchy)
- `suggestions[]`: actionable next edits tied to the differences
- `reasoning`: 1-2 sentence summary

<Threshold_And_Loop>
- Target pass threshold is **90+**.
- If `score < 90`, continue editing and rerun `/oh-my-claudecode:visual-verdict` before any further visual review pass.
- Do **not** treat the visual task as complete until the next screenshot clears the threshold.
</Threshold_And_Loop>

<Debug_Visualization>
When mismatch diagnosis is hard:
1. Keep `$visual-verdict` as the authoritative decision.
2. Use pixel-level diff tooling (pixel diff / pixelmatch overlay) as a **secondary debug aid** to localize hotspots.
3. Convert pixel diff hotspots into concrete `differences[]` and `suggestions[]` updates.
</Debug_Visualization>

<Example>
```json
{
  "score": 87,
  "verdict": "revise",
  "category_match": true,
  "differences": [
    "Top nav spacing is tighter than reference",
    "Primary button uses smaller font weight"
  ],
  "suggestions": [
    "Increase nav item horizontal padding by 4px",
    "Set primary button font-weight to 600"
  ],
  "reasoning": "Core layout matches, but style details still diverge."
}
```
</Example>

Task: {{ARGUMENTS}}

© Yeachan-Heo · MIT · Yeachan-Heo/oh-my-claudecode

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor