Frontend Visual QA
A rigorous visual QA protocol that audits already-rendered web, deck, dashboard, and Electron UIs with real-browser evidence and produces an evidence-backed defect report.
Dev & CodingAdvanced★ 1,323⑂ 212AI score 9/10Last updated: Aug 8, 2026
What it does
- Audits the interface a user can actually see. Build success, DOM presence, and uninspected screenshot files count only as supporting signals, never as visual proof.
- Forces a falsifiable audit contract first: target kind and canonical identity (URL, file hash, native artifact fingerprint), actor and job, conditional state (logged-out, empty, role-less, seeded), viewport matrix, design-system reference, and explicit authorization (audit-only vs fix-and-verify).
- Ranks evidence A–D (real browser/native window, DevTools/E2E, headless sweep, static reasoning) and blocks promoting weak evidence into strong claims.
- Ships scripts:
scripts/visual_layout_audit.mjs(Playwright sweep for overflow, wrapping, media state, responsive widths) andscripts/silent_degradation_probe.mjs(font-never-shipped, renamed library classes, element crops). - Exercises real journeys — downloads, share/clipboard, file dialogs, print/PDF preview, Electron shell — then reports with severity (Blocker/Major/Moderate/Minor), crops, and an explicit "not verified" list.
Who it's for
- Frontend developers doing pre-release visual review of web apps, landing pages, HTML decks, and admin dashboards.
- Teams facing the "every gate is green but the page looks cheap" problem who need a detection method.
- Electron/hybrid desktop developers verifying shell chrome, permissions, and file dialogs.
- Leads who want consistent verified / partial / blocked QA reporting.
Examples
- "Audit the dashboard at localhost:5173 across desktop, tablet, and mobile" → prove the fixture state with
--require, run the sweep, open every screenshot, then file findings. - "Does deck.html clip text at 1920x1080 projection?" → run
--file deck.html --page-type deck --viewport 1920x1080and falsify apparent clipping against DOM geometry. - "Verify the Export PDF button actually works" → trigger it in a real browser, confirm the print preview has non-blank pages, and mark anything unreachable as unverified.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/daymade/claude-code-skills/HEAD/frontend-visual-qa/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the frontend-visual-qa folder from the GitHub repo daymade/claude-code-skills into my ~/.claude/skills/frontend-visual-qa/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/daymade/claude-code-skills.git && mkdir -p ~/.claude/skills && cp -r claude-code-skills/frontend-visual-qa ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal.
- Clone the repository:
git clone https://github.com/daymade/claude-code-skills.git - Create the skills directory:
mkdir -p ~/.claude/skills - Copy this skill only:
cp -r claude-code-skills/frontend-visual-qa ~/.claude/skills/ - (Recommended) Check that the project you plan to audit already has Playwright; if not, the Level C mechanical sweep is skipped and only Level A/B evidence is used.
- Restart Claude Code, then ask something like "run a visual QA pass on this page".
- Run the bundled scripts from inside the audited project so they resolve its Playwright:
node ~/.claude/skills/frontend-visual-qa/scripts/visual_layout_audit.mjs --help
View source on GitHub ↗License: MIT