Pixel Perfect Replication
Yu-369/VibeCurb
Image-to-code replication pipeline. An agent skill from Yu-369/VibeCurb.
Compares a generated UI screenshot with reference images and returns a strict JSON verdict with a score, differences and suggested edits to drive the next iteration.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode visual-verdict --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/visual-verdict .claude/skills/visual-verdict && rm -rf skills-srcUse ~/.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/
Install the "visual-verdict" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/visual-verdict into .claude/skills/visual-verdict/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visual-verdict", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/visual-verdictType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode visual-verdict --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/visual-verdict .agents/skills/visual-verdict && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "visual-verdict" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/visual-verdict into .agents/skills/visual-verdict/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visual-verdict", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode visual-verdict --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/visual-verdict .cursor/skills/visual-verdict && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "visual-verdict" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/visual-verdict into .cursor/skills/visual-verdict/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visual-verdict", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Yeachan-Heo/oh-my-claudecode.git --path skills/visual-verdict--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode visual-verdict --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/visual-verdict .gemini/skills/visual-verdict && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "visual-verdict" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/visual-verdict into .gemini/skills/visual-verdict/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visual-verdict", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Yeachan-Heo/oh-my-claudecode visual-verdictInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/visual-verdict .github/skills/visual-verdict && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "visual-verdict" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/visual-verdict into .github/skills/visual-verdict/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visual-verdict", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode visual-verdict --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/visual-verdict .opencode/skills/visual-verdict && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "visual-verdict" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/visual-verdict into .opencode/skills/visual-verdict/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "visual-verdict", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
visual-verdictCompares a generated UI screenshot with reference images and returns a strict JSON verdict with a score, differences and suggested edits to drive the next iteration.
You give the agent one or more reference images and the current screenshot, with an optional category hint such as a news site, social feed or dashboard. It answers with JSON only: an integer score from 0 to 100, a short verdict of pass, revise or fail, whether the screenshot matches the intended UI category, a list of concrete differences in layout, spacing, typography, colors and hierarchy, matching suggestions and a brief reasoning.
The target is a score of 90 or more. Below that, the agent keeps editing and reruns the verdict before any further visual review, and the visual task is not considered done until a new screenshot clears the bar. When mismatches are hard to localize, pixel-diff tooling such as a pixelmatch overlay can serve as a secondary aid, but the verdict stays authoritative and the hotspots are turned into concrete differences and suggestions.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 454bae0. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Visual Verdict Screenshot QA loads about 609 tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 212 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from Yeachan-Heo/oh-my-claudecode at commit 454bae0, republished under its MIT licence (© Yeachan-Heo). 212 words, ~609 tokens.
.claude/skills/visual-verdict/SKILL.md (or your agent's skills folder).<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>
<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-100verdict: short status (pass, revise, or fail)category_match: true when the generated screenshot matches the intended UI category/styledifferences[]: concrete visual mismatches (layout, spacing, typography, colors, hierarchy)suggestions[]: actionable next edits tied to the differencesreasoning: 1-2 sentence summary<Threshold_And_Loop>
score < 90, continue editing and rerun /oh-my-claudecode:visual-verdict before any further visual review pass.<Debug_Visualization> When mismatch diagnosis is hard:
$visual-verdict as the authoritative decision.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. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/visual-verdict of Yeachan-Heo/oh-my-claudecode.
Open the folder on GitHubat commit 454bae0
Visual Verdict Screenshot QA 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Visual Verdict Screenshot QA this skillYeachan-Heo/oh-my-claudecode | 40k | — | ~609 | Automated safety check: Pass | MIT | |
| Pixel Perfect ReplicationYu-369/VibeCurb | 979 | — | ~8.7k | Automated safety check: Pass | MIT | |
| Handsontable Visual Test Demoshandsontable/handsontable | 22k | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Kc Screenshotimran31415/kube-coder | 388 | — | ~870 | Automated safety check: Notes | MIT | |
| Visual QA For Web And Terminal UIscode-yeongyu/oh-my-openagent | 70k | — | ~9.5k | Automated safety check: Pass | Custom licence | |
| Visual Diff Screenshot Comparisonkeybase/client | 9.3k | — | ~740 | Automated safety check: Pass | BSD-3-Clause |
Yu-369/VibeCurb
Image-to-code replication pipeline. An agent skill from Yu-369/VibeCurb.
handsontable/handsontable
Explains how to add or change the demo pages that Handsontable's visual regression suite photographs, including per-feature routes in the js demo and the shared grid.
imran31415/kube-coder
Capture desktop + mobile, dark + light screenshots of the kube-coder dashboard SPA for visual QA of a UI change.
code-yeongyu/oh-my-openagent
Checks a built UI against a human-interface checklist and any reference image, pairing day and night screenshots at two screen widths.
keybase/client
Captures baseline and current screenshots of the Keybase desktop app and compares them with ImageMagick to find pixel-level regressions between branches or edits.
handsontable/handsontable
Guide to Playwright visual regression tests in Handsontable: when a screenshot is justified, the tablePage fixture, naming, reg-suit comparison and demo routes.
Yeachan-Heo/oh-my-claudecode
Sends a question or task to another locally installed agent CLI, such as Codex or Gemini, through omc ask and saves the answer as a file.
Yeachan-Heo/oh-my-claudecode
Charts a foggy effort into a map of decision tickets on the repo's issue tracker and works through them one per session, producing decisions rather than deliverables.
Yeachan-Heo/oh-my-claudecode
Runs an autonomous improvement loop on a repository: agents propose and execute plans, a tournament picks the winner by benchmark, and each round is recorded and plotted.
Yeachan-Heo/oh-my-claudecode
Takes a short product idea through requirements, design, planning, parallel implementation, QA cycles and multi-reviewer validation to produce working code.
Yeachan-Heo/oh-my-claudecode
Detects and gracefully cancels whichever OMC mode, autopilot, ralph, swarm, pipeline, or team, is currently active, then clears its state.
Yeachan-Heo/oh-my-claudecode
Maps a codebase directory by directory and writes linked AGENTS.md files, each pointing to its parent, to document what each area contains.
Categories
Compares a generated UI screenshot with reference images and returns a strict JSON verdict with a score, differences and suggested edits to drive the next iteration. You give the agent one or more reference images and the current screenshot, with an optional category hint such as a news site, social feed or dashboard. It answers with JSON only: an integer score from 0 to 100, a short verdict of pass, revise or fail, whether the screenshot matches the intended UI category, a list of concrete differences in layout, spacing, typography, colors and hierarchy, matching suggestions and a brief reasoning.
Visual Verdict Screenshot QA fits situations like: checking a generated page against a design mockup before the next edit; getting a pass or fail signal for visual fidelity in layout, spacing and typography; looping on UI changes until a screenshot clears a score threshold.
Run `npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -a claude-code`. Or copy the skill folder (skills/visual-verdict in Yeachan-Heo/oh-my-claudecode) into .claude/skills/visual-verdict in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -a codex`. Or copy the skill folder (skills/visual-verdict in Yeachan-Heo/oh-my-claudecode) into .agents/skills/visual-verdict in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Yeachan-Heo/oh-my-claudecode --skill visual-verdict -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-verdict, .gemini/skills/visual-verdict, .github/skills/visual-verdict and .opencode/skills/visual-verdict in your project.
SKILL.md names no scripts, command-line tools or credentials: Visual Verdict Screenshot QA is instructions for the agent only. Our summary lists: A generated screenshot and at least one reference image file.
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.
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. Review the folder before installing.
Visual Verdict Screenshot QA is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 609 tokens (SKILL.md is roughly 2.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Visual Verdict Screenshot QA: Pixel Perfect Replication (Yu-369/VibeCurb, 979 stars), Handsontable Visual Test Demos (handsontable/handsontable, 22k stars), Kc Screenshot (imran31415/kube-coder, 388 stars) and Visual QA For Web And Terminal UIs (code-yeongyu/oh-my-openagent, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Yeachan-Heo (a GitHub user) maintains it in Yeachan-Heo/oh-my-claudecode, which has 39,751 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on October 8, 2026.
Source: Yeachan-Heo/oh-my-claudecode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.