visual-verdict
Skill1 starsChanged 5 months agoMITView on GitHub
Structured visual QA verdict for screenshot-to-reference comparisons. Returns JSON scores driving edit iterations. Use after any UI implementation to verify visual fidelity.
We split this skill into the rules it gives an agent
11 rules. 2 are common, 6 are distinctive, and 3 are very specific to this project.
2
Common
Most of the 3 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
After implementing any UI component, page, or design change
- Distinctive: line 13
When verifying visual fidelity against Figma, ASCII mockups, or design specs
- Distinctive: line 20
When no reference image exists (use design-taste for initial design instead)
- Very specific: line 59
If score < 90, continue editing and re-run visual-verdict before any further code changes
- Distinctive: line 79
Read reference image(s) — can be:
- Very specific: line 132
If score >= 90: verdict is pass, mark complete
- Very specific: line 133
If score < 90: apply suggestions, re-screenshot, re-run visual-verdict
- Distinctive: line 134
If 3+ iterations without passing: escalate to user with full diff history
- Common: line 138
When mismatch diagnosis is hard:
- Distinctive: line 140
Keep visual-verdict as the authoritative decision
- Common: line 141
Use pixel-level diff as a secondary debug aid to localize hotspots
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Visual Verdict — Structured Visual QA
Compare generated UI screenshots against reference images and return a strict JSON verdict that drives the next edit iteration.
When to Use
- After implementing any UI component, page, or design change
- When verifying visual fidelity against Figma, ASCII mockups, or design specs
- As a gate before marking frontend work complete
- Inside design-taste and frontend-design workflows as verification step
When NOT to Use
- Pure backend/API work with no visual output
- When no reference image exists (use design-taste for initial design instead)
Inputs
| Input | Required | Source |
| Reference image(s) | Yes | Figma screenshot, design mockup, ASCII art render, or prior approved screenshot |
| Generated screenshot | Yes | /screenshot skill, Playwright MCP browser_take_screenshot, or manual screenshot |
| Category hint | Optional | e.g. dashboard, form, table, marketing, mobile |
Output Contract
Return JSON only with this exact shape:
{
"score": 0,
"verdict": "revise",
"category_match": false,
"differences": ["..."],
"suggestions": ["..."],
"reasoning": "short explanation"
}Field Rules
| Field | Type | Description |
score | int 0-100 | Overall visual fidelity score |
verdict | string | pass (90+), revise (50-89), fail (<50) |
category_match | bool | Does it match the intended UI category/style? |
differences[] | string[] | Concrete visual mismatches (layout, spacing, typography, colors, hierarchy) |
suggestions[] | string[] | Actionable next edits tied to differences |
reasoning | string | 1-2 sentence summary |
Pass Threshold
- Target: 90+ to pass
- If
score < 90, continue editing and re-run visual-verdict before any further code changes - Track iteration count — if 3+ iterations without reaching 90, flag for human review
Workflow
Step 1: Capture Current State
# Option A: Use /screenshot skill
/screenshot browser
# Option B: Use Playwright MCP
browser_take_screenshot → saved to /tmp/screenshot-{timestamp}.png
# Option C: Manual
User provides screenshot pathStep 2: Load Reference
Read reference image(s) — can be:
- Figma export screenshot
- ASCII mockup rendered to image
- Prior approved screenshot from
~/.claude/artifacts/visual-verdicts/ - Design spec image
Step 3: Compare and Score
Evaluate across these dimensions (weighted):
| Dimension | Weight | What to Check |
| Layout | 30% | Element positioning, grid alignment, spacing ratios |
| Typography | 20% | Font sizes, weights, line heights, hierarchy |
| Color | 20% | Palette adherence, contrast, semantic color usage |
| Components | 15% | Button styles, input fields, cards, icons match |
| Spacing | 15% | Padding, margins, gaps between elements |
Step 4: Generate Verdict
{
"score": 87,
"verdict": "revise",
"category_match": true,
"differences": [
"Top nav spacing is 12px tighter than reference",
"Primary button uses font-weight 500, reference shows 600",
"Card border-radius is 8px, reference shows 6px"
],
"suggestions": [
"Increase nav item horizontal padding by 12px (px-4 → px-7)",
"Set primary button font-weight to 600 (font-semibold)",
"Reduce card border-radius to 6px (rounded-md)"
],
"reasoning": "Core layout matches well. Typography weight and micro-spacing details need one more pass."
}Step 5: Save Verdict
Save to ~/.claude/artifacts/visual-verdicts/{component}-{timestamp}.json
This creates an improvement trail:
visual-verdicts/
home-page-20260401T1430.json # score: 72
home-page-20260401T1445.json # score: 87
home-page-20260401T1502.json # score: 94 ← passedStep 6: Loop or Pass
- If
score >= 90: verdict ispass, mark complete - If
score < 90: apply suggestions, re-screenshot, re-run visual-verdict - If 3+ iterations without passing: escalate to user with full diff history
Debug Visualization
When mismatch diagnosis is hard:
- Keep visual-verdict as the authoritative decision
- Use pixel-level diff as a secondary debug aid to localize hotspots
- Convert hotspots into concrete
differences[]andsuggestions[]
# If pixelmatch is available:
npx pixelmatch reference.png generated.png diff.png 0.1Integration Points
| Skill | How Visual Verdict Fits |
design-taste | Run visual-verdict after design-taste generates initial UI |
frontend-design | Verification gate before marking implementation done |
redesign | Before/after comparison for upgrade quality |
/screenshot | Input capture for generated screenshots |
review-changes | Add visual-verdict as pre-commit check for UI changes |
Example: Full Loop
1. User: "Implement the home page from the ASCII mockup"
2. → frontend-design builds the page
3. → /screenshot captures result
4. → visual-verdict compares against ASCII mockup render
5. → Score: 78, verdict: revise
6. Differences: sidebar width, heading size, card padding
7. → Apply 3 suggestions
8. → /screenshot captures updated result
9. → visual-verdict re-scores
10. → Score: 93, verdict: pass
11. → Done, commitOther versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 4
- Yeachan-Heo/oh-my-claude-sisyphus★ 40k28% same
- Yeachan-Heo/oh-my-claudecode★ 40k28% same
- lza6/claw-code-tingfeng★ 528% same
- Gopyr/gopyr-skills-hub★ 024% same
Wrote their own version · 1
- SHYXIN/skills★ 5same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use hud, ai-slop-cleaner and 5 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ibahgatSkillhud
Control omi visual HUD profile and keep status output readable in normal, compact, or hidden mode.
Also in 3 projects that use this
Jurel89Skillai-slop-cleaner
Clean AI-generated code slop with a regression-safe, deletion-first workflow and optional reviewer-only mode
Also in 3 projects that use this
ibahgatSkillralplan
Create a strict, quality-first execution plan with explicit gates and rollback-ready sequencing.
Also in 3 projects that use this
klauswgSkilldeep-interview
在明确批准执行之前,通过数学化歧义门控进行苏格拉底式深度访谈
Also in 3 projects that use this
nicepkgSkillteam
根据任务快速组建临时 AI Agent 团队协作。自动从 .claude/agents/ 中选择最合适的成员组队。
Also in 3 projects that use this
sundial-orgSkillskill
Find, install, create, improve, and publish AI agent skills through the Sundial ecosystem. Use when the user wants to find or search for skills, install a skill, create a new skill, improve or evaluate an existing skill, or publish a skill to Sundial Hub. Trigger phrases include "find a skill", "install skill", "create a skill", "make a skill", "improve this skill", "evaluate skill", "publish skill", "push skill", "search for skills".
Also in 3 projects that use this
In this repository54 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/deep-recon/agents.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- adversarial-researchSkill
- algorithmic-artSkill
- api-integrationSkill
- breakdownSkill
- c4-architectSkill
- canvas-designSkill
- coding-agentsSkill
- compound-engineeringSkill
- context-budgetSkill
- counterfactualSkill
- critiqueSkill
- d3js-visualizationSkill
- data-analyst-agentSkill
- database-migrationsSkill
- deep-reconSkill
- design-tasteSkill
- doc-coauthoringSkill
- e2b-sandboxSkill
- ecosystem-auditSkill
- excalidraw-diagramSkill
- executing-plansSkill
- frontend-designSkill
- fullstack-agentSkill
- grillSkill
- kickoffSkill
- mcp-builderSkill
- model-migrationSkill
- naming-the-machineSkill
- full-output-enforcementSkill
- package-researchSkill
- pdf-generationSkill
- pp2pSkill
- pp3pSkill
- prompt-engineerSkill
- prompt-groundingSkill
- redesignSkill
- requesting-code-reviewSkill
- reverse-engineer-to-learnSkill
- review-changesSkill
- scratchpadSkill
- shipSkill
- slack-gif-creatorSkill
- sprint-architectSkill
- techdebtSkill
- test-and-fixSkill
- threat-modelSkill
- verification-before-completionSkill
- webapp-testingSkill
- web-asset-generatorSkill
- whatdidimissSkill
- writing-plansSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

