ux-audit

jezweb/claude-skills · updated Apr 19, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/jezweb/claude-skills --skill ux-audit
0 commentsdiscussion
summary

Real-user dogfooding with emotional friction tracking, click efficiency counting, and resilience testing to produce ranked audit reports.

  • Supports three operating modes: UX Walkthrough (persona-based task completion), QA Sweep (systematic feature testing), and Targeted Check (focused area validation)
  • Tracks emotional friction signals (trust, anxiety, confusion), click efficiency, form resilience (mid-navigation, back button, refresh), and asks \"would I come back?\"
  • Three depth level
skill.md

UX Audit

Dogfood web apps by browsing them as a real user would — with their goals, their patience, and their context. Goes beyond "does it work?" to "is it good?" by tracking emotional friction (trust, anxiety, confusion), counting click efficiency, testing resilience, and asking the ultimate question: "would I come back?" 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:

  1. Chrome MCP (mcp__claude-in-chrome__*) — preferred for authenticated apps. Uses the user's logged-in Chrome session, so OAuth/cookies just work.
  2. Playwright MCP (mcp__plugin_playwright_playwright__*) — for public apps or parallel sessions.
  3. 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.

URL Resolution

If the user didn't provide a URL, find one automatically. Prefer the deployed/live version — that's what real users see.

  1. Check wrangler.jsonc for custom domains or routes:

    grep -E '"pattern"|"custom_domain"' wrangler.jsonc 2>/dev/null
    

    If found, use the production URL (e.g. https://app.example.com).

  2. Check for deployed URL in CLAUDE.md, README, or package.json homepage field.

  3. Fall back to local dev server — check if one is already running:

    lsof -i :5173 -i :3000 -i :8787 -t 2>/dev/null
    

    If running, use http://localhost:{port}.

  4. Ask the user as a last resort.

Why live over local: The live site has real data, real auth, real network latency, real CDN behaviour, and real CORS/CSP policies. Testing locally misses deployment-specific issues (missing env vars, broken asset paths, CORS errors, slow API responses). The UX audit should test what the user actually experiences.

When local is better: The user explicitly says "test localhost", or the feature isn't deployed yet.

Depth Levels

Control how thorough the audit is. Pass as an argument: /ux-audit quick, /ux-audit thorough, or default to standard.

Depth Duration Autonomy What it covers
quick 5-10 min Interactive One user flow, happy path only. Spot check after a change.
standard 20-40 min Semi-autonomous Full walkthrough + QA sweep of main pages. Default.
thorough 1-3 hours Fully autonomous Multiple personas, all pages, all modes combined. Overnight mode.
exhaustive 4-8+ hours Fully autonomous Every interactive element on every page. Every button clicked, every dialog opened, every form filled, every state triggered. Leave nothing untested.

Exhaustive Mode

The exhaustive mode goes beyond thorough. Thorough tests workflows and pages. Exhaustive tests every single interactive element in the application.

For each page discovered:

  1. Inventory all interactive elements — buttons, links, inputs, selects, checkboxes, toggles, tabs, accordions, modals triggers, dropdowns, context menus, drag handles, sliders
  2. Click/interact with every one — open every dialog, expand every accordion, select every tab, toggle every switch, trigger every dropdown
  3. Screenshot each state — default, hover, active, open, closed, expanded, collapsed, selected, error
  4. Test every form — fill with valid data, submit. Fill with invalid data, submit. Leave empty, submit. Test every field individually.
  5. Test every combination — if there are filters, test each filter value. If there are tabs, test each tab. If there are sort options, test each sort.
  6. Dark mode + light mode — every page, every dialog, every state in both modes
  7. Three viewport widths — 1280px, 768px, 375px for every page and dialog
  8. Keyboard navigation — tab through every page, verify focus order, test Enter/Space/Escape on every interactive element
  9. Right-click/context menus — if the app has custom context menus, test every option in every context
  10. Edge states — what happens with 0 items, 1 item, 100 items, 1000 items? What happens with very long text in every field?
  11. Concurrent tabs — open the same page in two tabs, interact in both, check for conflicts
  12. Every error path — trigger every validation error, every 404, every permission denied, every timeout

Progress tracking: This mode generates a LOT of findings. Write findings to the report incrementally — don't hold everything in memory. Update docs/ux-audit-exhaustive-YYYY-MM-DD.md after each page is complete.

Element inventory format (per page):

/clients — 47 interactive elements
  [x] "Add Client" button — opens modal ✓, form submits ✓, validation ✓
  [x] Search input — filters correctly ✓, clear button works ✓, empty search ✓
  [x] Sort dropdown — all 4 options work ✓, persists on navigation ✗ (BUG)
  [x] Client row click — navigates to detail ✓
  [x] Star button — toggles ✓, persists on refresh ✓
  [ ] Pagination — next ✓, prev ✓, page numbers ✓, items per page ✗ (not tested - no data)
  ...

Thorough Mode: Overnight Workflow

The thorough mode is designed to run unattended. Kick it off at end of day, review the report in the morning. The user should NOT need to find issues themselves — this mode catches everything.

Mindset: Don't run through a checklist. Think about the real person who will use this app every day. What are the threads of their workday? How will they move through the system? Will they understand what they're looking at? Will the app teach them how to use it through its design, or will they be guessing? Read references/workflow-comprehension.md before starting.

  1. Discover all routes — read router config, crawl navigation, build complete page inventory
  2. Identify workflow threads — what are the 3-5 real tasks a user does in a day? Map them before testing individual pages. See references/workflow-comprehension.md.
  3. Create a task list — track progress across the audit
  4. Visual & layout sweep (every page):
    • Screenshot at 1280px, 1024px, 768px, 375px widths
    • Screenshot in light mode and dark mode
    • Run JS overflow detection on each page (see below)
    • Check for clipped text, overlapping elements, broken grids
    • Compare sidebar + content alignment across all pages
  5. Workflow thread testing — follow each identified thread end to end:
    • Does the next step suggest itself at every point?
    • Can the user leave and come back without losing their place?
    • Do transitions between pages preserve context (filters, selections)?
    • Do nav labels match how a user would describe their work?
    • After creating/saving/deleting, does the app take them somewhere logical?
  6. UX Walkthrough x3 personas:
    • First-time user (non-technical, time-poor, first visit)
    • Power user (daily user, knows the app, looking for efficiency)
    • Mobile user (phone, touch targets, small viewport)
  7. Full QA sweep — every page, all CRUD, all states (empty, error, loading, populated)
  8. Resilience testing — every form: bad data, mid-navigation, back button, refresh, double-submit
  9. Accessibility basics — heading hierarchy, alt text, focus order, colour contrast
  10. Console error sweep — check browser console on every page for JS errors, failed network requests, deprecation warnings
  11. Wayfinding & comprehension check — on each page: do I know where I am? Can I get back? Does the heading tell me what I can do here? Are visual cues guiding me to the right action?
  12. Scenario tests — run all six from references/scenario-tests.md:
    • New hire onboarding (can you figure out the app with zero guidance?)
    • Interrupted workflow (start a task, close the tab, come back — what survived?)
    • Wrong turn recovery (go to the wrong page, how many clicks to get back on track?)
    • Day two (repeat the same tasks — is it faster? are there shortcuts?)
    • Explain it to a colleague (write a 2-min guide for each workflow — gaps = UX failures)
    • What changed? (log in after creating data — can you tell what needs attention?)
  13. Screenshot everything — save to .jez/screenshots/ux-audit/ (numbered chronologically)
  14. Comprehensive reportdocs/ux-audit-thorough-YYYY-MM-DD.md with issue counts by severity
  15. Summary — top 5 critical issues, workflow gaps, scenario test results, "one thing to fix first"

Automated Layout Detection (JS Injection)

On each page, inject JavaScript via the browser tool to programmatically detect layout issues:

// Detect elements overflowing their parent
document.querySelectorAll('*').forEach(el => {
  const r = el.getBoundingClientRect();
  const p = el.parentElement?.getBoundingClientRect();
  if (p && (r.left < p.left - 1 || r.right > p.right + 1)) {
    console.warn('OVERFLOW:', el.tagName, el.className, 'extends beyond parent');
  }
});

// Detect text clipped by containers
document.querySelectorAll('h1,h2,h3,h4,p,span,a,button,label').forEach(el => {
  if (el.scrollWidth > el.clientWidth + 2 || el.scrollHeight > el.clientHeight + 2) {
    console.warn('CLIPPED:', el.tagName, el.textContent?.slice(0,50));
  }
});

// Detect elements with zero or negative visibility
document.querySelectorAll('*').forEach(el => {
  const s = getComputedStyle(el);
  const r = el.getBoundingClientRect();
  if (r.width > 0 && r.height > 0 && r.left + r.width < 0) {
    console.warn('OFF-SCREEN LEFT:', el.tagName, el.className);
  }
});

// Detect low contrast text (rough check)
document.querySelectorAll('h1,h2,h3,p,span,a,li,td,th,label,button').forEach(el => {
  const s = getComputedStyle(el);
  if (s.color === s.backgroundColor || s.opacity === '0') {
    console.warn('INVISIBLE TEXT:', el.tagName, el.textContent?.slice(0,30));
  
how to use ux-audit

How to use ux-audit on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add ux-audit
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/jezweb/claude-skills --skill ux-audit

The skills CLI fetches ux-audit from GitHub repository jezweb/claude-skills and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/ux-audit

Reload or restart Cursor to activate ux-audit. Access the skill through slash commands (e.g., /ux-audit) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.549 reviews
  • Dhruvi Jain· Dec 24, 2024

    ux-audit reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Soo Anderson· Dec 20, 2024

    ux-audit is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Arjun Yang· Dec 16, 2024

    ux-audit fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Neel Patel· Dec 16, 2024

    ux-audit has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Arya Lopez· Dec 8, 2024

    Keeps context tight: ux-audit is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Xiao Smith· Nov 27, 2024

    ux-audit has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Oshnikdeep· Nov 15, 2024

    I recommend ux-audit for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Valentina Chawla· Nov 11, 2024

    Solid pick for teams standardizing on skills: ux-audit is focused, and the summary matches what you get after install.

  • Zara Tandon· Nov 7, 2024

    Keeps context tight: ux-audit is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Zara Brown· Oct 26, 2024

    ux-audit is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

showing 1-10 of 49

1 / 5