agentsclimarketplace

Audit ux

Skill kensaurus/cursor-kenji/skills/audit-ux

πŸ¦–Curated Cursor AI agent skills, slash commands, MCP configs, subagents & rules for full-stack dev β€” React 19, Next.js 15, Supabase, Tailwind v4, TypeScript

Install
npx -y skills add kensaurus/cursor-kenji --skill audit-ux

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Audit user experience quality using research-backed frameworks: Nielsen Norman Group's 10 usability heuristics, Intuit Content Design System for microcopy, Google's HEART metrics, and Laws of UX (Fitts's, Hick's, Miller's, Jakob's, cognitive load). Evaluates information architecture, user flows, error recovery, onboarding, content clarity, and interaction patterns. Uses playwright-cli for live walkthrough, Firecrawl for current NN/g research, and Sequential Thinking for complex flows. Generic β€” works with any webapp. Use when evaluating usability, reviewing user flows, auditing microcopy, checking UX heuristics, assessing cognitive load, reviewing onboarding, or when the user mentions UX audit, usability review, heuristic evaluation, content audit, interaction design review, or user flow analysis. Focuses on per-page EXPERIENCE β€” for visual design-system compliance (tokens, components, dark mode) use audit-uiux-design-system; for cross-page user-story/IA/journey audits use audit-ux-journeys.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

20.0 KB, as published. Nobody here has run it

UX Audit Skill

Research-driven user experience evaluation grounded in NN/g heuristics, Laws of UX, Intuit Content Design principles, and Google HEART metrics.

Before ANY browser interaction, read the protocol-browser-anti-stall skill and apply its rules to every step. That skill is protocol-browser-anti-stall.

Context-First, Human-Centric Approach

UX recommendations that don't understand the WHY behind the product are surface-level checkbox audits. Before evaluating any heuristic or pattern, deeply understand:

  1. Who is the human? Not "users" β€” real people with frustrations, time pressure, emotional states, and goals beyond the screen. A tired parent filing taxes at 11pm needs different UX than a power-user analyst building dashboards at work.
  2. What's the full journey? The page you're looking at is one moment in a longer story. Understand what happened before (how they arrived, what they already know) and what happens after (what they do with the result, where they go next).
  3. What's the data pipeline? Trace data from human input β†’ API β†’ database β†’ back to screen. UX breaks when this pipeline has latency, errors, or mismatch between what the human expects and what the system returns.
  4. What's the emotional arc? Every product interaction has an emotional shape: confusion β†’ understanding β†’ action β†’ confirmation β†’ satisfaction (or frustration). Map where the product currently creates anxiety, confusion, or dead ends.

Step 0 grounds every subsequent finding β€” shallow context produces shallow recommendations.


Step 0: Deep Product and Pipeline Understanding

0a. Understand the Business and Human Context

Read README, landing page, marketing copy, and any onboarding flows to answer:

  • What problem does this solve? (Not features β€” the human pain it alleviates)
  • Who is the primary human? (Demographics, technical skill, emotional state when using)
  • What's the alternative? (What do people do without this product? Spreadsheets? Phone calls? Nothing?)
  • What's the success moment? (The "aha" β€” when the human gets what they came for)
  • What's the trust model? (Does the user trust this product with money? Health data? Business data?)

0b. Map the Full Data Pipeline

Trace how data flows through the system from the human's perspective:

Search for data-flow entry points: api/ for API routes, actions/ for server actions, hooks/use* for data-fetching hooks, lib/ for core business logic. Count occurrences of fetch|axios|ky|useSWR|useQuery|trpc in *.{ts,tsx} to map integration points.

Map the pipeline for each core task:

PIPELINE MAP (per core task):
1. Human input β†’ [form / click / gesture]
2. Client-side validation β†’ [schema / inline / none]
3. API call β†’ [endpoint, method, payload]
4. Server processing β†’ [validation, business logic, side effects]
5. Database operation β†’ [create / read / update / delete]
6. Response β†’ [shape, status codes, error format]
7. Client update β†’ [optimistic / refetch / cache invalidation]
8. Human feedback β†’ [toast / redirect / inline update / nothing]

Latency-sensitive points: [where slow responses hurt UX]
Error-prone points: [where failures are most likely]
Trust-sensitive points: [where wrong data erodes confidence]

0c. Map Routes and Information Architecture

Discover routes by framework: app/**/page.tsx (Next.js App Router), pages/**/*.tsx (Next.js Pages Router), src/routes/ (SvelteKit / Remix), router.* (Vue Router / React Router config).

This step builds context only. For a full structural IA audit (click depth, orphan pages, label consistency, findability) and end-to-end user-story walkthroughs, use audit-ux-journeys β€” this skill stays on the per-page experience lens.

Build the information architecture mental model:

INFORMATION ARCHITECTURE:
- Navigation structure: [flat / hierarchical / hub-and-spoke]
- Depth: [max clicks from landing to deepest page]
- Cross-links: [can users jump between sections, or must they go back?]
- Dead ends: [pages with no forward navigation]

0d. Identify Emotional Touchpoints

Map the emotional arc of core user journeys:

EMOTIONAL MAP (per core flow):
- Entry emotion: [anxious / curious / frustrated / neutral]
- Friction points: [where confusion or anxiety spikes]
- Confidence builders: [where the product earns trust]
- Peak moment: [the most positive or negative experience]
- End emotion: [satisfied / relieved / confused / abandoned]

0e. Record Full Discovery

PRODUCT CONTEXT:
- Type: [SaaS / e-commerce / dashboard / etc.]
- Human problem solved: [the pain, not the feature]
- Primary human: [description including emotional context]
- Core tasks: [list top 3-5]
- Success moment: [what "done" looks like to the human]
- Trust level: [what's at stake β€” money / data / time / reputation]
- Page count: [N]
- Auth required: [YES/NO β€” pattern]
- Locale/i18n: [YES β€” languages / NO]
- Pipeline health: [known latency or error-prone points]

Step 1: Research Current UX Standards

1a. NN/g β€” Usability Heuristics and Methods

firecrawl:firecrawl_search
{
 "query": "site:nngroup.com heuristic evaluation checklist [current year]",
 "limit": 5,
 "sources": [{ "type": "web" }]
}

1b. Intuit Content Design β€” Microcopy Principles

firecrawl:firecrawl_search
{
 "query": "site:contentdesign.intuit.com UX writing principles",
 "limit": 5,
 "sources": [{ "type": "web" }]
}

Scrape the most relevant result for detailed writing guidelines.

1c. Laws of UX β€” Interaction Psychology

firecrawl:firecrawl_scrape
{
 "url": "https://lawsofux.com",
 "formats": ["markdown"],
 "onlyMainContent": true
}

1d. Domain-Specific UX Research

firecrawl:firecrawl_search
{
 "query": "<PRODUCT_TYPE> UX best practices usability patterns [current year]",
 "limit": 5,
 "sources": [{ "type": "web" }]
}

Scrape the best result for domain-specific UX patterns.


Step 2: Nielsen's 10 Usability Heuristics (Deep Evaluation)

For each heuristic, perform both code analysis and live browser verification.

H1: Visibility of System Status

The system should keep users informed through timely feedback.

What to find in code:

Search *.tsx for feedback patterns: loading|isLoading|isPending|skeleton|Skeleton|spinner|Spinner (loading states); progress|Progress|step.*of|currentStep (multi-step progress); toast|Toast|notification|Notification|snackbar (user notifications).

What to verify in browser:

SignalPassFail
Loading statesSkeleton/spinner visible during data fetchBlank screen or frozen UI
Form submissionButton shows loading, success/error feedbackNo feedback, user clicks again
Progress indicationMulti-step flows show step countUser doesn't know where they are
Active navigationCurrent page/section highlightedNo indication of current location
Real-time updatesOptimistic UI or polling feedbackStale data, no refresh indication

H2: Match Between System and Real World

Use language and concepts familiar to users, not internal jargon.

What to find in code:

Search *.tsx for copy-quality TODOs: TODO.*wording|TODO.*copy|TODO.*label|TODO.*text (case-insensitive).

What to verify in browser:

SignalPassFail
Labels and terminologyDomain-appropriate language users expectTechnical jargon, internal codenames
IconsUniversally recognized or labeledAmbiguous icons without text labels
Data formatDates, currency, numbers in user's localeISO dates, raw numbers, wrong currency
Logical groupingInformation organized by user mental modelOrganized by database schema or dev convenience
MetaphorsReal-world analogies aid understandingForced metaphors that confuse

H3: User Control and Freedom

Emergency exits, undo, cancel β€” users make mistakes.

What to find in code:

Search *.tsx for emergency-exit patterns: onCancel|handleCancel|onClose|handleClose|onDismiss (cancel/close handlers); undo|Undo|revert|Revert (undo actions); confirm.*delete|confirm.*remove|AlertDialog|ConfirmDialog (destructive-action guards).

What to verify in browser:

SignalPassFail
Modal escapeClose button + Escape key + backdrop clickNo way to close, trapped
Form abandonmentBack button works, drafts savedData lost on navigation
Destructive actionsConfirmation dialog with clear consequencesOne-click delete, no undo
Multi-step flowsBack/previous step without data lossCan only go forward
UndoUndo available after significant actionsIrreversible changes without warning

H4: Consistency and Standards

Same thing = same treatment. Follow platform conventions.

What to verify in browser:

SignalPassFail
Button hierarchyPrimary/secondary/ghost used consistentlyRandom button styles
TerminologySame action = same label everywhere"Save" / "Submit" / "Confirm" / "Apply" for same action
Layout patternsConsistent page structure across viewsEach page has different layout logic
Interaction patternsSame gesture = same resultClick sometimes navigates, sometimes opens modal
Platform conventionsFollows web conventions (links underlined, form patterns)Custom patterns that break expectations

H5: Error Prevention

Prevent problems before they happen.

What to find in code:

Search *.tsx for prevention patterns: disabled.*(!|=.*false)|isDisabled|isInvalid (disabled/invalid states); required|min.*length|max.*length|pattern= (input constraints). Check package.json for validation libraries: zod|yup|joi|superstruct|valibot.

What to verify in browser:

SignalPassFail
Input constraintsDate pickers (not free text), dropdowns for known optionsFree text for structured data
Inline validationValidation on blur/change, before submitOnly validates on submit
Destructive guardsRequires confirmation, type-to-confirm for critical actionsOne-click irreversible actions
DefaultsSmart defaults reduce input neededAll fields blank, user guesses
Disabled statesButtons disabled when form invalid, with explanationEnabled but silently fails

H6: Recognition Over Recall

Make options visible. Don't force users to memorize.

What to verify in browser:

SignalPassFail
NavigationAll major sections visible in navFeatures hidden in deep menus
SearchSearch available for large data setsUser must scroll/browse to find
BreadcrumbsBreadcrumbs in hierarchical contentUser loses context in deep pages
Recent itemsRecently accessed items surfacedMust remember and navigate from scratch
Contextual helpTooltips, placeholders explain fieldsLabels without context

H7: Flexibility and Efficiency of Use

Accelerators for experts, simplicity for novices.

What to find in code:

Search *.tsx for efficiency patterns: keyboard|shortcut|hotkey|useHotkeys|Cmd\+|Ctrl\+ (keyboard accelerators); bulk|batch|selectAll|multiSelect (bulk operations).

What to verify in browser:

SignalPassFail
Keyboard shortcutsPower-user shortcuts availableMouse-only interaction
Bulk actionsMulti-select, batch operationsOne-at-a-time only
Filters and sortFilter/sort on data-heavy pagesMust scan manually
CustomizationUsers can configure views/preferencesOne-size-fits-all
Quick actionsCommon tasks reachable in 1-2 clicksCore tasks buried in menus

H8: Aesthetic and Minimalist Design

Every element competes for attention. Show only what's needed.

What to verify in browser:

SignalPassFail
Information densityProgressive disclosure, expand-on-demandEverything visible at once
Visual hierarchyClear primary/secondary/tertiary contentEverything same visual weight
WhitespaceBreathing room between sectionsCramped, dense layout
CTAs1 primary action per view, clearly distinguishedMultiple competing CTAs
Content priorityMost important content first/prominentCritical info buried below fold

H9: Help Users Recognize, Diagnose, and Recover from Errors

Error messages in plain language, with solutions.

What to find in code:

Search *.tsx for error-handling patterns: error.*message|errorMessage|Error.*:.*' (error message strings); try.*catch|\.catch\(|onError (catch sites); fallback|ErrorBoundary|error\.tsx (fallback components β€” list files with matches, not just count).

What to verify in browser:

SignalPassFail
Error languagePlain language, no codes"Error 500", "ECONNREFUSED", raw stack trace
SpecificitySays exactly what went wrong"Something went wrong"
Recovery actionSuggests what user can do nextDead end, user must guess
Inline errorsField-level errors near the inputSingle error at top of form
Empty statesHelpful empty states with next actionBlank page, "No data"

H10: Help and Documentation

Easy to search, task-focused, concise.

What to find in code:

Search *.tsx for in-app help: Tooltip|tooltip|HelpCircle|InfoIcon|help.*text|aria-describedby (contextual help); onboarding|tour|walkthrough|guide|Onboarding (guided flows).

What to verify in browser:

SignalPassFail
Contextual helpTooltips on complex fields/featuresNo explanation, user must guess
OnboardingFirst-time user guidance availableDropped into complex UI cold
DocumentationHelp accessible from within the appMust search external docs
Input guidancePlaceholders, hint text, format examplesBare input fields

Step 3: Laws of UX Evaluation

Evaluate against key psychological principles from lawsofux.com. For each law, check BOTH the current state AND recommend specific improvements.

LawPrincipleWhat to CheckHow to Fix Violations
Jakob's LawUsers expect your site to work like other sitesNavigation, form patterns, checkout flows follow platform conventionsResearch 3 competitors via Firecrawl, adopt their common patterns
Fitts's LawLarger, closer targets are faster to clickPrimary CTAs large enough, not in corners. Touch targets β‰₯44pxIncrease CTA size, move primary actions to natural thumb zones on mobile
Hick's LawMore choices = longer decisionsMenus ≀7 items, option lists not overwhelming, progressive disclosureGroup options, add search/filter, hide advanced options behind "More"
Miller's LawWorking memory holds ~7 itemsGroups of >7 chunked. Nav items ≀7 per levelChunk long lists, add category headers, paginate
Cognitive LoadMinimize mental effortNo unnecessary fields, no memory burden between stepsRemove optional fields from default view, show only what's needed now
Aesthetic-UsabilityBeautiful = perceived as easierFirst impression inspires confidenceVisual polish on landing + key flows. Personality, not just correctness
Tesler's LawComplexity can't be eliminated, only movedComplex tasks simplified for the user, not pushed to themSmart defaults, auto-detection, progressive disclosure of complexity
Doherty ThresholdProductivity rises when response <400msDo interactions feel instant?Optimistic UI, skeleton screens, prefetching, perceived performance tricks
Postel's LawBe liberal in what you acceptFlexible input parsing (phone, date, case)Accept multiple input formats, auto-format, don't reject valid variations
Peak-End RulePeople judge by peaks and endingsSuccess moment satisfying? Error moments handled gracefully?Celebrate completions (confetti, clear confirmation). Soften errors

Step 4: Content and Microcopy Audit (Intuit Content Design Principles)

Evaluate all user-facing text against Intuit's content design standards.

4a. Voice and Tone

PrinciplePassFail
ConversationalReads like talking to a friendReads like a legal document or robot
Active voice"We saved your changes""Your changes have been saved by the system"
Second person"You" for the user, "We" for the productThird person, passive constructions
ContractionsNatural contractions used ("don't", "we'll")Stilted formal language ("do not", "we will")

4b. Clarity and Precision

PrinciplePassFail
Specific language"We can't connect to Square right now""Something went wrong. Try again later"
Consistent termsSame word for same concept throughout"Save" / "Submit" / "Confirm" / "Apply" used interchangeably
Simple verbsPresent/past/future simple tenseProgressive, perfect, complex tenses
Short sentences≀20 words per sentenceRun-on sentences with multiple clauses

4c. Microcopy Quality

Check these locations in the browser:

LocationWhat to Evaluate
Button labelsAction-oriented, specific ("Save invoice" not just "Submit")
Error messagesPlain language, specific cause, recovery action
Empty statesHelpful, guides next action, not just "No data"
ConfirmationsClear consequence ("Delete this invoice? This can't be undone")
TooltipsConcise, answers one question, not paragraphs
PlaceholdersFormat hints ("e.g., [email protected]"), not labels
Loading textInformative when possible ("Loading your invoices...")
Success messagesConfirms what happened ("Invoice sent to John")

4d. Internationalization Readiness

CheckPassFail
Hardcoded stringsAll strings in i18n filesStrings inline in components
Cultural idiomsNeutral metaphorsCulture-specific slang or humor
Text expansionUI handles 40% longer translated textLayout breaks with longer strings
RTL readinessLogical properties (margin-inline-start)Physical properties (margin-left)

Find violations: search *.tsx for >([\w\s]{3,})< to surface hardcoded visible text strings that may be i18n misses.


Step 5: Emotional Design and Human-Centric Evaluation

This step evaluates the FEELING of using the product β€” the layer most audits miss.

5a. First Impression Test (5-Second Test)

Navigate to the landing/home page. In the first 5 seconds of the screenshot:

QuestionEvidence
Can you tell what this product does?[yes/no β€” what's communicated]
Do you trust it?[visual polish, credibility signals, brand presence]
Do you know what to do first?[clear CTA, obvious starting point]
Does it feel like a real product or a template?[personality, craft, vs generic bootstrap]

Further reading

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.