screenwrightlisted
Install: claude install-skill sorawit-w/agent-skills
# screenwright
> **The wedge is the eyes.** Generating UI is solved; *verifying the render against a
> brand + accessibility bar, in a loop* is not. screenwright paints one self-contained
> HTML surface, then renders → screenshots → audits → fixes until it passes, and hands the
> result back. It does the painting and verification; it does **not** ship a runtime or
> convert to a framework — that's the host's job.
Agents write frontend blind: the markup looks right but misses the small obvious things —
a 4px misalignment, a missing focus ring, text that overflows on a long name, a mobile
layout that never got built. screenwright gives the agent eyes.
**Two stacked gates, asymmetric:**
- **axe a11y** — machine, deterministic, **always blocks**. The defensible core.
- **Visual fidelity** — judgment from the screenshot. **Blocks only when a reference image
exists**; advisory otherwise (no reference = no ground truth to gate on).
---
## Phase 0 — Capability gate (run first)
screenwright renders through the **Playwright MCP**. It is a **hard dependency** — gate on
its presence, not on which agent you are (capability-gated, not vendor-gated).
- If Playwright MCP tools (`browser_navigate`, `browser_run_code_unsafe`,
`browser_take_screenshot`) are **not** available → **stop**. Tell the user screenwright
needs the Playwright MCP, give install instructions
(`claude mcp add playwright npx '@playwright/mcp@latest'` or the host's equivalent), and
do not attempt a degraded