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---5
6# UX Audit
7
8Walk 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.
9
10## Browser Tool Detection
11
12Before starting any mode, detect available browser tools:
13
141. **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.
17
18If none are available, inform the user and suggest installing Chrome MCP or Playwright.
19
20See [references/browser-tools.md](references/browser-tools.md) for tool-specific commands.
21
22## Operating Modes
23
24### Mode 1: UX Walkthrough
25
26**When**: "ux walkthrough", "walk through the app", "is the app intuitive?", "ux audit"
27
28This is the highest-value mode. Instead of mechanically clicking buttons, walk through the app as a first-time user performing a realistic task.
29
301. 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 point
323. Attempt the task as a first-time user would — no prior knowledge of the UI
334. 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 points
416. After completing (or failing) the task, compile findings into a UX audit report
427. Write report to `docs/ux-audit-YYYY-MM-DD.md` using the template from [references/report-template.md](references/report-template.md)
43
44**Severity levels**:
45- **Critical** — blocks the user from completing their task
46- **High** — causes confusion or significant friction
47- **Medium** — suboptimal but the user can work around it
48- **Low** — polish and minor improvements
49
50### Mode 2: QA Sweep
51
52**When**: "qa test", "test all pages", "check everything works", "qa sweep"
53
54Systematic mechanical testing of all pages and features.
55
561. **Discover pages**: Read the app's router config, sitemap, or manually navigate the sidebar/menu to find all routes
572. **Create a task list** of areas to test (group by feature area)
583. **For each page/feature**:
59 - Page renders without errors
60 - Data displays correctly (tables, lists, details)
61 - Forms submit successfully (create)
62 - Records can be edited (update)
63 - Delete operations work with confirmation
64 - Validation fires on bad input
65 - Empty states display correctly
66 - Error states are handled
674. **Cross-cutting concerns**:
68 - Dark mode: all elements visible, no contrast issues
69 - Mobile viewport (375px): layout doesn't break, touch targets adequate
70 - Search and filters: return correct results
71 - Notifications: display and can be dismissed
725. Produce a **QA sweep summary table**:
73
74 | Page | Status | Issues |
75 |------|--------|--------|
76 | /patients | Pass | — |
77 | /patients/new | Fail | Form validation missing on email |
78
796. Write report to `docs/qa-sweep-YYYY-MM-DD.md`
80
81### Mode 3: Targeted Check
82
83**When**: "check [feature]", "test [page]", "verify [component] works"
84
85Focused testing of a specific area.
86
871. Navigate to the specific page or feature
882. Test thoroughly — all states, edge cases, error paths
893. Report findings inline (no separate file unless user requests)
90
91## When to Use
92
93| 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 |
100
101**Skip this skill for**: API-only services, CLI tools, unit/integration tests (use test frameworks), performance testing.
102
103## Autonomy Rules
104
105- **Just do it**: Navigate pages, take screenshots, read page content, evaluate usability
106- **Brief confirmation**: Before starting a full QA sweep (can be lengthy), before writing report files
107- **Ask first**: Before submitting forms with real data, before clicking delete/destructive actions
108
109## Tips
110
111- Chrome MCP is ideal for authenticated apps — it uses your real session
112- For long QA sweeps, use the task list to track progress across pages
113- Take screenshots at key friction points — they make the report actionable
114- Run UX walkthrough before QA sweep — finding "buttons work but users are confused" is more valuable than "all buttons work"
115
116## Reference Files
117
118| 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) |