UX Audit
Walk through live web apps as a real user to find usability issues and verify functionality. Uses Chrome MCP (for authenticated apps with your session) or Playwright for browser automation. Produces structured audit reports with findings ranked by impact.
Browser Tool Detection
Before starting any mode, detect available browser tools:
- Chrome MCP (
mcp__claude-in-chrome__*) — preferred for authenticated apps. Uses the user's logged-in Chrome session, so OAuth/cookies just work.
- Playwright MCP (
mcp__plugin_playwright_playwright__*) — for public apps or parallel sessions.
- playwright-cli — for scripted flows and sub-agent browser tasks.
If none are available, inform the user and suggest installing Chrome MCP or Playwright.
See references/browser-tools.md for tool-specific commands.
Operating Modes
Mode 1: UX Walkthrough
When: "ux walkthrough", "walk through the app", "is the app intuitive?", "ux audit"
This is the highest-value mode. Instead of mechanically clicking buttons, walk through the app as a first-time user performing a realistic task.
- Ask the user for a task scenario (e.g., "I need to create a new patient and book them for surgery")
- Navigate to the app's entry point
- Attempt the task as a first-time user would — no prior knowledge of the UI
- At each screen, evaluate against the walkthrough checklist (see references/walkthrough-checklist.md):
- Is the next step obvious without thinking?
- Do labels and icons make sense?
- Is navigation discoverable?
- Are dangerous actions (delete, override) guarded?
- Is the most important information prominent?
- Does the result match my expectation?
- Take screenshots at friction points
- After completing (or failing) the task, compile findings into a UX audit report
- Write report to
docs/ux-audit-YYYY-MM-DD.md using the template from references/report-template.md
Severity levels:
- Critical — blocks the user from completing their task
- High — causes confusion or significant friction
- Medium — suboptimal but the user can work around it
- Low — polish and minor improvements
Mode 2: QA Sweep
When: "qa test", "test all pages", "check everything works", "qa sweep"
Systematic mechanical testing of all pages and features.
Discover pages: Read the app's router config, sitemap, or manually navigate the sidebar/menu to find all routes
Create a task list of areas to test (group by feature area)
For each page/feature:
- Page renders without errors
- Data displays correctly (tables, lists, details)
- Forms submit successfully (create)
- Records can be edited (update)
- Delete operations work with confirmation
- Validation fires on bad input
- Empty states display correctly
- Error states are handled
Cross-cutting concerns:
- Dark mode: all elements visible, no contrast issues
- Mobile viewport (375px): layout doesn't break, touch targets adequate
- Search and filters: return correct results
- Notifications: display and can be dismissed
Produce a QA sweep summary table:
| Page |
Status |
Issues |
| /patients |
Pass |
— |
| /patients/new |
Fail |
Form validation missing on email |
Write report to docs/qa-sweep-YYYY-MM-DD.md
Mode 3: Targeted Check
When: "check [feature]", "test [page]", "verify [component] works"
Focused testing of a specific area.
- Navigate to the specific page or feature
- Test thoroughly — all states, edge cases, error paths
- Report findings inline (no separate file unless user requests)
When to Use
| Scenario |
Mode |
| After building a feature, before showing users |
UX Walkthrough |
| Before a release, verify nothing is broken |
QA Sweep |
| Quick check on a specific page after changes |
Targeted Check |
| Periodic UX health check |
UX Walkthrough |
| Client demo prep |
QA Sweep + UX Walkthrough |
Skip this skill for: API-only services, CLI tools, unit/integration tests (use test frameworks), performance testing.
Autonomy Rules
- Just do it: Navigate pages, take screenshots, read page content, evaluate usability
- Brief confirmation: Before starting a full QA sweep (can be lengthy), before writing report files
- Ask first: Before submitting forms with real data, before clicking delete/destructive actions
Tips
- Chrome MCP is ideal for authenticated apps — it uses your real session
- For long QA sweeps, use the task list to track progress across pages
- Take screenshots at key friction points — they make the report actionable
- Run UX walkthrough before QA sweep — finding "buttons work but users are confused" is more valuable than "all buttons work"
Reference Files
| When |
Read |
| Evaluating each screen during walkthrough |
references/walkthrough-checklist.md |
| Writing the audit report |
references/report-template.md |
| Browser tool commands and selection |
references/browser-tools.md |
1---2name: ux-audit3description: Run UX walkthroughs and QA sweeps on live web apps using browser automation. Walks through apps as a real user, flags friction points and usability issues, tests CRUD operations, and produces ranked audit reports. Trigger with 'ux audit', 'ux walkthrough', 'qa test', 'test the app', or 'check all pages'.4---56# UX Audit78Walk through live web apps as a real user to find usability issues and verify functionality. Uses Chrome MCP (for authenticated apps with your session) or Playwright for browser automation. Produces structured audit reports with findings ranked by impact.910## Browser Tool Detection1112Before starting any mode, detect available browser tools:13141. **Chrome MCP** (`mcp__claude-in-chrome__*`) — preferred for authenticated apps. Uses the user's logged-in Chrome session, so OAuth/cookies just work.152. **Playwright MCP** (`mcp__plugin_playwright_playwright__*`) — for public apps or parallel sessions.163. **playwright-cli** — for scripted flows and sub-agent browser tasks.1718If none are available, inform the user and suggest installing Chrome MCP or Playwright.1920See [references/browser-tools.md](references/browser-tools.md) for tool-specific commands.2122## Operating Modes2324### Mode 1: UX Walkthrough2526**When**: "ux walkthrough", "walk through the app", "is the app intuitive?", "ux audit"2728This is the highest-value mode. Instead of mechanically clicking buttons, walk through the app as a first-time user performing a realistic task.29301. Ask the user for a **task scenario** (e.g., "I need to create a new patient and book them for surgery")312. Navigate to the app's entry point323. Attempt the task as a first-time user would — no prior knowledge of the UI334. At each screen, evaluate against the walkthrough checklist (see [references/walkthrough-checklist.md](references/walkthrough-checklist.md)):34 - Is the next step obvious without thinking?35 - Do labels and icons make sense?36 - Is navigation discoverable?37 - Are dangerous actions (delete, override) guarded?38 - Is the most important information prominent?39 - Does the result match my expectation?405. Take screenshots at friction points416. After completing (or failing) the task, compile findings into a UX audit report427. Write report to `docs/ux-audit-YYYY-MM-DD.md` using the template from [references/report-template.md](references/report-template.md)4344**Severity levels**:45- **Critical** — blocks the user from completing their task46- **High** — causes confusion or significant friction47- **Medium** — suboptimal but the user can work around it48- **Low** — polish and minor improvements4950### Mode 2: QA Sweep5152**When**: "qa test", "test all pages", "check everything works", "qa sweep"5354Systematic mechanical testing of all pages and features.55561. **Discover pages**: Read the app's router config, sitemap, or manually navigate the sidebar/menu to find all routes572. **Create a task list** of areas to test (group by feature area)583. **For each page/feature**:59 - Page renders without errors60 - Data displays correctly (tables, lists, details)61 - Forms submit successfully (create)62 - Records can be edited (update)63 - Delete operations work with confirmation64 - Validation fires on bad input65 - Empty states display correctly66 - Error states are handled674. **Cross-cutting concerns**:68 - Dark mode: all elements visible, no contrast issues69 - Mobile viewport (375px): layout doesn't break, touch targets adequate70 - Search and filters: return correct results71 - Notifications: display and can be dismissed725. Produce a **QA sweep summary table**:7374 | Page | Status | Issues |75 |------|--------|--------|76 | /patients | Pass | — |77 | /patients/new | Fail | Form validation missing on email |78796. Write report to `docs/qa-sweep-YYYY-MM-DD.md`8081### Mode 3: Targeted Check8283**When**: "check [feature]", "test [page]", "verify [component] works"8485Focused testing of a specific area.86871. Navigate to the specific page or feature882. Test thoroughly — all states, edge cases, error paths893. Report findings inline (no separate file unless user requests)9091## When to Use9293| Scenario | Mode |94|----------|------|95| After building a feature, before showing users | UX Walkthrough |96| Before a release, verify nothing is broken | QA Sweep |97| Quick check on a specific page after changes | Targeted Check |98| Periodic UX health check | UX Walkthrough |99| Client demo prep | QA Sweep + UX Walkthrough |100101**Skip this skill for**: API-only services, CLI tools, unit/integration tests (use test frameworks), performance testing.102103## Autonomy Rules104105- **Just do it**: Navigate pages, take screenshots, read page content, evaluate usability106- **Brief confirmation**: Before starting a full QA sweep (can be lengthy), before writing report files107- **Ask first**: Before submitting forms with real data, before clicking delete/destructive actions108109## Tips110111- Chrome MCP is ideal for authenticated apps — it uses your real session112- For long QA sweeps, use the task list to track progress across pages113- Take screenshots at key friction points — they make the report actionable114- Run UX walkthrough before QA sweep — finding "buttons work but users are confused" is more valuable than "all buttons work"115116## Reference Files117118| When | Read |119|------|------|120| Evaluating each screen during walkthrough | [references/walkthrough-checklist.md](references/walkthrough-checklist.md) |121| Writing the audit report | [references/report-template.md](references/report-template.md) |122| Browser tool commands and selection | [references/browser-tools.md](references/browser-tools.md) |