Oh-my-claudecode visual-verdict
Structured visual QA verdict for screenshot-to-reference comparisons
install
source · Clone the upstream repo
git clone https://github.com/Yeachan-Heo/oh-my-claudecode
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Yeachan-Heo/oh-my-claudecode "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/visual-verdict" ~/.claude/skills/yeachan-heo-oh-my-claudecode-visual-verdict && rm -rf "$T"
manifest:
skills/visual-verdict/SKILL.mdsource content
<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>
<Output_Contract> Return JSON only with this exact shape:
{ "score": 0, "verdict": "revise", "category_match": false, "differences": ["..."], "suggestions": ["..."], "reasoning": "short explanation" }
Rules:
: integer 0-100score
: short status (verdict
,pass
, orrevise
)fail
:category_match
when the generated screenshot matches the intended UI category/styletrue
: concrete visual mismatches (layout, spacing, typography, colors, hierarchy)differences[]
: actionable next edits tied to the differencessuggestions[]
: 1-2 sentence summaryreasoning
<Threshold_And_Loop>
- Target pass threshold is 90+.
- If
, continue editing and rerunscore < 90
before any further visual review pass./oh-my-claudecode:visual-verdict - 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:
- Keep
as the authoritative decision.$visual-verdict - Use pixel-level diff tooling (pixel diff / pixelmatch overlay) as a secondary debug aid to localize hotspots.
- Convert pixel diff hotspots into concrete
anddifferences[]
updates. </Debug_Visualization>suggestions[]
Task: {{ARGUMENTS}}