skills/browser-workbench-setup/SKILL.md
Set up browser automation and UI QA for a new repository using playwright-interactive as the primary interactive tool and agent-browser as the secondary CLI smoke-check tool. Use when a user wants to bootstrap browser testing, screenshots, auth-state reuse, or local UI debugging conventions in a fresh repo.
npx skillsauth add bjornmelin/dev-skills browser-workbench-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to configure a new repository for browser-based UI work with the smallest durable setup.
Default tool split:
playwright-interactive is the primary tool for iterative UI/UX work, auth flows, layout debugging, screenshots, and deeper investigation.agent-browser is the secondary tool for quick smoke checks, annotated screenshots, fast snapshots, and lightweight CLI automation.Do not create a custom framework, wrapper package, or shared browser helper layer unless the user explicitly asks for one.
Load references only as needed:
If the repo uses Neon with an upstream identity provider such as Clerk or Auth0, read both auth-neon.md and the upstream provider file. Neon may be the database auth verifier while the browser login still belongs to the upstream provider.
playwright-interactive is installed and available in Codex.agent-browser CLI is installed.js_repl = true.danger-full-access when using playwright-interactive.If any of those are missing, fix that first before touching the repository.
For a normal web repository, finish with:
playwright-interactive vs agent-browserInspect the repository first.
package.json, lockfiles, and any repo AGENTS.md.@clerk/, CLERK_, NEXT_PUBLIC_CLERK_@supabase/, SUPABASE_URL, SUPABASE_, createBrowserClient, createServerClient@auth0/, AUTH0_, /auth/login, Auth0Clientneon_auth, Neon auth endpoints, Neon JWT/JWKS setup, provider-owned auth integrationInstall Playwright in the repo with the repo's package manager.
bun add -d playwright
bunx playwright install chromium
Create a minimal artifact convention.
output/playwright/screenshots/output/playwright/traces/output/playwright/auth/output/agent-browser/reports/ or output/ convention if the repo already has one.Add ignore rules for local-only artifacts.
output/playwright/
output/agent-browser/
playwright/.auth/
Standardize auth-state handling.
storageState for authenticated iteration and reusable test sessions.agent-browser profiles or session names only for quick local smoke work.Keep the responsibility split explicit.
playwright-interactive for:
agent-browser for:
Avoid unnecessary additions.
~/.agent-browser/config.json belong outside the repo.After the initial repo scan:
playwright-interactive.md for the primary workflow.agent-browser.md for CLI setup and persistence.auth-neon.mdauth-neon.md plus that upstream provider fileDo not load every provider reference by default.
When the user asks to set this up in a repo, complete the work end to end:
agent-browser persistence with either a profile path or a session name conventionWhen no repo convention conflicts:
playwrightoutput/When you finish, report:
playwright-interactiveWhen setup or QA evidence needs a structured handoff, use ui_audit.v1 with
target.framework set to browser-workbench.
findings for missing or broken verification capabilities, such as no
repeatable auth-state path, screenshots/traces written to tracked locations,
or unavailable browser tooling that blocks UI validation.observations for chosen package manager, installed browser, artifact
directories, auth provider, and the selected playwright-interactive versus
agent-browser responsibility split.severity: error only when a missing browser workflow blocks release or
verification; use warning for setup gaps that are important but not
release-blocking.After setup, suggest a first real task such as:
Use $playwright-interactive to open the local app, verify sign-in, test theme persistence, run desktop and mobile passes, and capture screenshots.
development
Repo/monorepo modernization: dependency upgrades, security fixes, deprecation cleanup, framework migrations, dependency-native refactors, and verified hard-cut simplification.
development
Use this skill for Browser Web Animations API: Element.animate(), Animation, KeyframeEffect, playback control, generated keyframes, cancel/finish, commitStyles, and cleanup. Trigger on Element.animate, WAAPI, Web Animations API, KeyframeEffect, Animation object, commitStyles. Do not use for near-miss tasks outside these boundaries; route to adjacent motion or platform skills when they own the implementation.
tools
Use this skill for Three.js, React Three Fiber, Drei, Canvas/createRoot lifecycle, loaders, GLTF, useFrame, disposal, SSR/client boundaries, DPR, and browser proof. Trigger on Three.js, THREE, @react-three/fiber, @react-three/drei, R3F Canvas, useFrame, GLTF, WebGLRenderer. Do not use for near-miss tasks outside these boundaries; route to adjacent motion or platform skills when they own the implementation.
development
Use this skill for Tailwind CSS v4 transition, animation, duration, easing, motion-safe/motion-reduce, @theme motion tokens, and static class safety. Trigger on Tailwind animation, transition-all, motion-safe, motion-reduce, @theme, animate-, duration-. Do not use for near-miss tasks outside these boundaries; route to adjacent motion or platform skills when they own the implementation.