← ClaudeAtlas

screenwrightlisted

Paints one self-contained HTML surface (page, mobile screen, or component) to a brand spec, then SEES it: renders via the Playwright MCP, screenshots, runs an axe-core accessibility audit, critiques fidelity, and fixes in a bounded loop until it passes — then hands the verified HTML back for conversion to a real stack. Triggers when the user or an agent mid-build wants a UI surface built or fixed with the render actually checked: "build this screen", "paint a component", "match this mockup", "fix this UI", "make this accessible", "the layout looks off", "screenwright this". Resolves brand from a DESIGN.md, or bootstraps one from the repo / a template / a described vibe. Does NOT trigger for: multi-page flows, routing, or full app builds; framework/stack conversion (it outputs portable HTML for the host to port); pure copywriting (use ghostwriter); brand-identity or logo work (use brand-workshop); pixel-art or illustration (use pixel-art); backend, data, or non-UI code.
sorawit-w/agent-skills · ★ 1 · Web & Frontend · score 75
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