UX Review Skill
A multi-agent UX review system that browses live web applications with Playwright CLI and produces a prioritized, actionable report for solo developers and small teams.
Prerequisites
Playwright CLI must be installed. If not available, run:
npm install -g @playwright/cli@latest playwright-cli install-browser playwright-cli install --skills
Verify with playwright-cli --help .
Inputs
The user provides:
-
Target URL (required) — The application's entry point (landing page, login, dashboard, etc.)
-
Key user flows (optional) — Specific paths to test, e.g. "sign up → create project → invite team"
-
Target audience (optional) — Who uses this app and what they expect
-
Focus areas (optional) — Which review dimensions matter most (see Agent Roster below)
-
Context file (optional) — A markdown file with app description, known issues, constraints
If the user doesn't provide optional inputs, use reasonable defaults and note assumptions.
Agent Roster
Each agent has a specialized lens. All agents use Playwright CLI to interact with the live app.
Agent Focus Reference
1 First Impression Landing page clarity, value prop, CTAs, trust signals, load perception agents/first-impression.md
2 Information Architecture Navigation, page hierarchy, naming, discoverability, mental models agents/information-architecture.md
3 User Flow Task completion paths, friction, dead ends, error recovery, onboarding agents/user-flow.md
4 Visual Design Spacing, typography, color, component consistency, responsive hints agents/visual-design.md
5 Accessibility WCAG compliance, keyboard nav, ARIA, contrast, form labels, error states agents/accessibility.md
6 Copy & Microcopy Button labels, error messages, empty states, onboarding text, tone agents/copy-review.md
7 Synthesizer Reads all agent reports → produces prioritized action plan agents/synthesizer.md
Workflow
Phase 1: Setup
-
Confirm the target URL and any user-provided context
-
Ensure Playwright CLI is installed (playwright-cli --help )
-
Open a browser session: playwright-cli open <url>
-
Take an initial screenshot to confirm the page loaded: playwright-cli screenshot --filename=landing.png
-
Capture a snapshot for structural analysis: playwright-cli snapshot --filename=landing-snapshot.txt
-
Create the workspace directory for outputs
Phase 2: Discovery (Main Agent)
Before spawning review agents, do a quick site crawl to understand scope:
-
Capture the landing page snapshot
-
Identify primary navigation links from the snapshot
-
Visit 3-5 key pages (follow nav links) and snapshot each
-
Build a simple sitemap of discovered pages
-
Save discovery results to workspace/discovery.md
This discovery output is shared with all review agents as context.
Phase 3: Parallel Review (Sub-agents)
Spawn agents 1-6 in parallel. Each agent receives:
-
The target URL
-
The discovery file (workspace/discovery.md )
-
Their specific agent instructions (from agents/*.md )
-
The Playwright CLI reference (references/playwright-guide.md )
-
The heuristics reference (references/heuristics.md )
-
An output directory for their findings
Each agent:
-
Opens the app in its own Playwright CLI session (-s=<agent-name> )
-
Navigates through relevant pages
-
Takes snapshots and screenshots as evidence
-
Writes findings to their output file
If sub-agents are not available, run each review sequentially in the main loop.
Phase 4: Synthesis
After all reviews complete, the Synthesizer agent:
-
Reads all 6 agent reports
-
Deduplicates overlapping findings
-
Categorizes by severity (Critical / High / Medium / Low)
-
Ranks by impact-vs-effort (essential for solo devs)
-
Produces the final report
Phase 5: Output
Generate the final deliverable as a markdown report following the template in references/report-template.md .
Save to the workspace and present to the user.
Playwright CLI Quick Reference for Agents
Each agent should use a named session to avoid conflicts:
Agent opens its own session
playwright-cli -s=first-impression open <url>
Navigate
playwright-cli -s=first-impression goto <url>
Capture page structure (element refs, text, layout)
playwright-cli -s=first-impression snapshot --filename=<name>.txt
Take visual screenshot
playwright-cli -s=first-impression screenshot --filename=<name>.png
Interact with elements (using refs from snapshot)
playwright-cli -s=first-impression click <ref> playwright-cli -s=first-impression type <text> playwright-cli -s=first-impression fill <ref> <text>
Check navigation
playwright-cli -s=first-impression tab-list
Close when done
playwright-cli -s=first-impression close
Read references/playwright-guide.md for the full command reference.
Output Structure
workspace/ ├── discovery.md # Site structure from Phase 2 ├── screenshots/ # Visual evidence │ ├── landing.png │ ├── nav-*.png │ └── ... ├── agents/ │ ├── first-impression.md │ ├── information-architecture.md │ ├── user-flow.md │ ├── visual-design.md │ ├── accessibility.md │ └── copy-review.md └── ux-review-report.md # Final synthesized report
Coordinator Responsibilities
-
Handle Playwright CLI installation if needed
-
Run the discovery phase to build shared context
-
Spawn review agents in parallel (or sequentially if no sub-agents)
-
Ensure each agent uses its own named session (-s=<name> )
-
Collect all agent reports
-
Run the synthesizer to produce the final report
-
Clean up browser sessions: playwright-cli close-all
-
Present the final report to the user
Customization
The user can customize the review by:
-
Skipping agents: "Skip accessibility, focus on user flows and copy"
-
Adding competitor URLs: Include comparison analysis
-
Specifying user stories: "Test the checkout flow specifically"
-
Setting priorities: "I care most about conversion, less about accessibility"
-
Providing context: "This is a B2B SaaS for project managers"
Adapt the agent roster and instructions accordingly.