Verifies web changes by exercising them in a real browser with DevTools — console, network, interaction, states, and layout. Use after any UI or front-end change, when debugging browser-only bugs, or before claiming a web change is done.
Instalação
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Verifies web changes by exercising them in a real browser with DevTools — console, network, interaction, states, and layout. Use after any UI or front-end change, when debugging browser-only bugs, or before claiming a web change is done.
Browser Checks
Code that looks right and code that works in the browser are different claims. Compilation, unit
tests, and static review cannot prove runtime behavior, layout, network timing, or interaction. For
anything the browser renders or runs, prove it by driving the real page: load it, interact,
watch the console and network, and capture evidence.
Run the browser checks checklist alongside this
process. For accessibility verification in the browser, finish with [[accessibility]]. For systematic
debugging when something fails, switch to [[fault-recovery]]. For UI quality beyond verification,
see [[ui-craft]].
When to Use
After any change observable in the browser (UI, routing, data fetching, forms, auth flows)
Before marking a front-end task or PR as done
A bug report that only reproduces in the running app
Diagnosing console errors, failed requests, layout breakage, or interaction issues
Validating a fix — confirm the failure is gone, not just that the code changed
Skip as the primary skill when the change has no browser surface (pure types, CLI tooling, unrelated
backend-only logic with no UI impact).
Process
Work in order. Stop and diagnose before moving on if something is broken — a red console often
invalidates everything else.
1. Run the app and reach the affected view
Start the app the way users/devs actually run it (local dev server, preview deploy, staging).
Hard reload after edits unless hot-module reload is confirmed active for your change.
Open DevTools before interacting — console history clears on navigation unless "Preserve log"
is enabled.
Navigate to the exact route, role, and feature flag state the change affects. A fix verified
only as admin on /dashboard may still break a guest on /.
If auth or cookies matter, note whether you're incognito, logged in, or impersonating — state
changes what you see.
2. Check the console first
The console is the app's voice. Read it before clicking anything else.
Errors (red): treat as blockers unless you can prove they're pre-existing and unrelated.
Warnings (yellow): triage — hydration mismatches, deprecated APIs, and CORS warnings often
indicate real bugs.
Enable "Preserve log" when testing flows that navigate or reload.
Watch for framework-specific signals:
React: hydration errors, key warnings, "Cannot update during render"
Next.js: routing errors, RSC boundary issues, failed server actions
Click through to source when a stack trace appears — confirm the failing line is in your
change or a dependency you touched.
If the console isn't clean, fix or explain before claiming done.
3. Inspect the network panel
What the UI shows and what the server returned are often different stories.
Filter by Fetch/XHR (or your app's request type) to cut noise.
Look for:
Failed requests (4xx/5xx, CORS blocks, cancelled)
Unexpected duplicates — same endpoint fired twice on mount
Waterfalls — serial requests that could run in parallel
Wrong payloads — missing fields, stale cache, error bodies swallowed by the UI
Slow calls on the critical path (rough signal; deep perf work uses [[perf-budget]])
Click a request: verify status, response body, and timing. Does the UI match what came back?
For mutations (POST/PUT/PATCH/DELETE): confirm the follow-up read reflects the change.
Throttle to Slow 3G once for loading-state and timeout behavior if the change touches data
fetching or skeletons.
4. Exercise the actual interaction
Don't eyeball the static render — drive the flow a user would.
Perform the primary action your change enables or fixes (click, type, submit, drag, select).
Confirm resulting state: DOM update, URL change, toast, redirect, persisted data on refresh.
Test keyboard for interactive changes — Tab to controls, Enter/Space to activate, Esc to
close overlays. Quick keyboard pass catches issues visual review misses.
Test edge inputs: empty submit, very long text, special characters, paste, rapid double-click.
If the change touches navigation: test browser back/forward, deep link (paste URL in new tab),
and refresh mid-flow.
5. Test all visible states
The happy path is the easy 60%. Users hit the rest first.
State
What to confirm
Loading
Skeleton/spinner shows; no flash of wrong content; no layout jump when data arrives
Empty
Meaningful empty message and next action — not a blank screen
Error
Error is visible, readable, recoverable; failed network doesn't leave a broken half-UI