Use when you need a structural visual review of a website across breakpoints (mobile/tablet/desktop) to catch layout breaks, overflow, and spacing issues without a baseline or hosted regression service. NOT for CRO/conversion/copy review, NOT for new UI design work, NOT for automated pixel-diff regression gating in CI, NOT for accessibility/contrast auditing.
72
90%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
A one-shot, structural visual review of how a website actually renders across screen sizes — not a pixel-diff regression tool, not a conversion/copy audit, not an aesthetic design critique. It answers one question: does the layout hold together at mobile, tablet, and desktop widths, right now?
Works on any website (static, SPA, SSR, CMS) — all it needs is a reachable URL (local dev server or live). No baseline, no third-party visual-regression account, no prior screenshot history required.
http://localhost:8080, or a live URL) and, if the site is
multi-language, which language(s) to sample — one is usually enough
unless layout differs meaningfully per language (e.g. longer strings in
German, RTL scripts). When reviewing a live site and a local checkout
also exists, note which commit is deployed: a finding that the local
build no longer has is reported as fixed, not deployed, not as a
new bug.For each page × breakpoint combination, capture a full-page screenshot (not just the viewport) — layout breaks below the fold are the most common kind missed by manual spot-checks.
Use whatever browser automation is available in the environment (an automation tool the agent can drive, or a short script with a headless browser): set the viewport, load the page, capture full-page.
Measure overflow as well — screenshots can't show it. An element that
is invisible (opacity: 0, visibility: hidden, positioned off-screen)
still widens the page and causes horizontal scroll on a phone. On each
page × breakpoint, run this in the page and record the result:
(() => {
const vw = document.documentElement.clientWidth;
const overflow = document.documentElement.scrollWidth - vw;
const offenders = [...document.querySelectorAll('body *')]
.filter((el) => el.getBoundingClientRect().right > vw + 1)
.map((el) => `${el.tagName.toLowerCase()}${el.id ? '#' + el.id : ''}${el.className && typeof el.className === 'string' ? '.' + el.className.trim().split(/\s+/).join('.') : ''}`)
.slice(0, 10);
return { overflow, offenders };
})()overflow > 0 is a finding even when every screenshot looks fine; the
offender list names where to look (the outermost offender is usually the
cause, its children inherit the overflow).
Name captures predictably: <page-slug>-<breakpoint-label>.png (e.g.
homepage-mobile.png), saved to the scratchpad directory — this is a
throwaway review artifact, not something to commit.
Walk every captured screenshot against this checklist. Compare the same page across its three breakpoints side by side where a finding spans more than one.
Layout integrity
overflow value, not the screenshotText
Images & media
Spacing & consistency
Cross-breakpoint regressions
Report findings severity-ranked, each with: page, breakpoint, screenshot reference, and a one-line description of what's wrong — concrete enough to act on (e.g. "pricing table overflows viewport at 360px, third column cut off" not "mobile layout needs work").
| Severity | Examples |
|---|---|
| Critical | Content unreadable/inaccessible at a breakpoint, broken checkout/signup form layout, horizontal scroll on primary pages |
| High | Overlapping elements, broken images on key pages, nav unusable on mobile |
| Medium | Inconsistent spacing, awkward text wrapping, minor cross-breakpoint drift |
| Low | Cosmetic nitpicks, non-critical page, wide-desktop-only quirks |
Do not fix anything automatically — hand the findings back for triage, the same way an audit skill reports, rather than editing CSS/templates inline. If the user wants fixes applied, treat that as a separate, explicit follow-up step per finding — small, verified, one at a time.
vannifr/agent-skills
0e43fd4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.