Skip to content
Agent Orchestration
Skill

/visual-verdict

Structured visual QA verdict for screenshot-to-reference comparisons

From plugin
oh-my-claudecode
39k39 skills21 agents21 commands11 hooks
+1
Install
$ npx -y skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/visual-verdict

Context preview

The summary Claude sees to decide when to auto-load this skill.

Structured visual QA verdict for screenshot-to-reference comparisons

SKILL.md

visual-verdict.SKILL.md
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:

{
  "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>

{
  "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}}

Read more
Ships withoh-my-claudecode

For Codex users: Check out oh-my-codex — the same orchestration experience for OpenAI Codex CLI. Liked OmC but found it a bit overkill? Try gajae-code.

Get the whole plugin

Other skills on oh-my-claudecode.