Best for
- Use when "audit user flows", "IA audit", "can users find X", "navigation audit", or "funnel drop-off".
kensaurus/cursor-kenji/skills/audit-ux-journeys/SKILL.md
Cross-page UX audit for user stories, task completion, and information architecture — the layer audit-ux (per-page heuristics) skips. Use when "audit user flows", "IA audit", "can users find X", "navigation audit", or "funnel drop-off". Full DS burndown → plan-uiux-unification.
Decision brief
Degree of freedom: MIXED — Story derivation, IA, and evidence tags [HIGH freedom]; Phase 2 headed walkthrough [LOW freedom — run exactly].
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/kensaurus/cursor-kenji --skill "skills/audit-ux-journeys"Inspect the Agent Skill "audit-ux-journeys" from https://github.com/kensaurus/cursor-kenji/blob/28a0bd8403c950f58ed063d47a858ee3493b0038/skills/audit-ux-journeys/SKILL.md at commit 28a0bd8403c950f58ed063d47a858ee3493b0038. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Observe — quote the story, the step, the route/nav evidence, and the walkthrough or funnel number 2. Interpret — can the persona complete the claimed task, and is the next click obvious? 3. Classify — COMPLETED / COMPLETED-WITH-FRICTION / BLOCKED; evidence tag [data] / [obser…
Review the “Phase 0 — Derive the stories and scope the trigger [HIGH freedom]” section in the pinned source before continuing.
Build the route tree, then audit structure against findability. Detailed commands and pass/fail signals in references/checklist.md.
Walk every story from Phase 0, entry → completion signal, desktop and mobile viewport (390px — most real friction is mobile). Per story record:
Review the “Phase 3 — Evidence layer (validate or label) [HIGH freedom]” section in the pinned source before continuing.
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 97/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 9 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Degree of freedom: MIXED — Story derivation, IA, and evidence tags
[HIGH freedom]; Phase 2 headed walkthrough [LOW freedom — run exactly].
A site can pass every per-page heuristic and still fail: pages clean, yet nobody
can find the feature, checkout takes nine steps with two dead ends, and nav
follows the database schema. audit-ux judges pages; this skill judges
paths and structure.
The 2026 consensus: a UX audit is not personal taste. Derive stories from the product, walk the journeys, audit IA against mental models, and ground findings in behavioral evidence when it exists. Pre-launch: qualitative walkthroughs, labeled as assumptions.
Before ANY browser interaction, read protocol-browser-anti-stall and apply
its rules to every step.
Report-first. Prioritized audit, then delegate: per-page heuristics/ microcopy →
audit-ux· single-screen →enhance-web-ux· forms →enhance-web-forms· WCAG →audit-accessibility· speed →audit-performance· feature parity →audit-realworld. Owns the cross-page journey and IA layer.
[data], [observed], or
[judgment]. Presenting [judgment] as [data] is the cardinal sin.[data] / [observed] / [judgment]Observe: Story "As a returning customer I want to reorder — done when confirmation shows." Desktop: 7 clicks; cart cleared on refresh at step 3. Mobile 390: hamburger does not open; pricing unreachable. No analytics SDK. Interpret: mobile cannot start the story; desktop completes with data-loss friction. Nothing to upgrade the evidence tag. Classify: BLOCKED (mobile nav) + COMPLETED-WITH-FRICTION (desktop cart). Evidence:
[observed]. Severity: Blocker for mobile findability; High for cart-loss. Finding: Checkout loses cart on refresh | Blocker | observed | buy §3 | High × Med | debug-error → enhance-web-ux
# Route inventory (framework-appropriate)
fd -H 'page\.(tsx|jsx|vue|svelte)' app/ src/app/ 2>/dev/null; fd -H . src/routes pages 2>/dev/null -t f
# Navigation + entry points
rg -n -i "<nav|navbar|sidebar|menu|Link.*href|routerLink|to=\"/" -g '*.{tsx,jsx,vue,svelte}' -l
# What the product promises (CTAs, marketing verbs)
rg -n -i "get started|sign up|buy|checkout|create|upload|invite|export|book|order|subscribe" -g '*.{tsx,jsx,vue,svelte,md}'
# Existing story sources — reuse, don't re-invent
fd -H -i 'prd|user-stor|journey|persona' docs/ .cursor/ 2>/dev/null
Write 5–10 stories max, each with a completion signal:
As [persona], I want [goal] — done when [observable outcome]. If design-prd
output or plan-test-coverage story inventory exists, start from it.
| Trigger | Method emphasis |
|---|---|
| KPIs dropping | Targeted: the affected funnel only; cross-validate with data; check recent changes |
| Complaints rising | Thematic: cluster complaints → walk those stories first; treat complaints as hypotheses |
| Redesign planned | Comprehensive: all stories + full IA; findings shape the redesign |
| Pre-launch / no data | Qualitative walkthroughs of critical flows (signup, onboarding, checkout); label all findings [judgment] |
| "Just optimize" | Holistic roadmap: start at highest-impact stories, surface UX debt |
Build the route tree, then audit structure against findability. Detailed commands and pass/fail signals in references/checklist.md.
| # | Check | Red flag |
|---|---|---|
| IA1 | Click depth per story target — core-story destinations reachable in ≤3 clicks from landing | Money pages buried 4+ clicks deep |
| IA2 | Orphan pages — every route reachable from some nav/link path | Routes with zero inbound links (exist only by URL) |
| IA3 | Dead ends — every page offers a forward action | Pages with no CTA/next step (journey stalls) |
| IA4 | Label consistency — nav label ≈ page title ≈ H1; same concept = same word everywhere | "Billing" in nav → "Payments" title → "Invoices" H1 |
| IA5 | Grouping vs mental model — nav organized by user tasks/goals | Organized by DB schema or team org chart |
| IA6 | First-click logic — for each story, the correct first click from the landing page is the obvious one | Correct path requires insider knowledge |
| IA7 | Wayfinding — breadcrumbs in hierarchies ≥3 deep; current location highlighted | User can't answer "where am I?" |
| IA8 | Search & filtering — present and functional for large content/data sets | 200 items, no search; filter resets on nav |
| IA9 | URL sanity — URLs human-readable, hierarchical, shareable | Opaque ids everywhere; state lost on refresh |
Verdicts: Pass / Fail / N-A with file:line or route evidence. IA6 requires the browser (Phase 2).
Walk every story from Phase 0, entry → completion signal, desktop and mobile viewport (390px — most real friction is mobile). Per story record:
STORY: [As … I want … — done when …] Trigger tag: [data|observed|judgment]
Entry: [landing/deep-link] Steps to goal: N clicks / M inputs
Friction log: [each hesitation, mislabel, backtrack, surprise — with screenshot]
Error recovery: [wrong input / back button / refresh mid-flow — data survives? path recoverable?]
Success moment: [is completion confirmed clearly? what happens next?]
Result: COMPLETED / COMPLETED-WITH-FRICTION / BLOCKED (blocker = finding, severity Blocker)
Rules: screenshots to .playwright-mcp/ per the artifact-hygiene rule; forms
judged only for flow-level friction (field-level → enhance-web-forms);
per-page heuristic violations noticed along the way are handed to audit-ux,
not re-audited here.
# What analytics exist?
rg -n -i "gtag|googletagmanager|G-[A-Z0-9]{6,}|posthog|clarity\.ms|hotjar|amplitude|mixpanel|plausible|umami|fathom" -g '*.{ts,tsx,js,jsx,html,vue,svelte}' -l
[observed] or
[judgment]. Say so in the report, and recommend minimal instrumentation
(page + funnel events on core stories) so the next audit has evidence.## UX Journey & IA Audit — [product] — [date]
**Trigger:** [scenario] · **Stories audited:** N · **Evidence:** [analytics available? which]
**Working well:** [1–3 genuine strengths — always present]
### Task-completion matrix
| Story | Result | Steps | Frictions | Blockers | Evidence |
|---|---|---|---|---|---|
| Reorder as returning customer | COMPLETED-WITH-FRICTION | 7 (target ≤4) | 3 | – | [observed] |
| Find pricing from landing | BLOCKED (mobile) | – | – | menu unreachable | [observed] |
### IA verdicts (IA1–IA9)
| Check | Verdict | Evidence |
|---|---|---|
### Findings (each: severity · evidence tag · story · impact×effort quadrant)
| # | Finding | Severity | Evidence | Story/step | Impact | Effort | Fix via |
|---|---|---|---|---|---|---|---|
| 1 | Checkout loses cart on refresh at step 3 | Blocker | observed | buy §5 | High | Med | debug-error → enhance-web-ux |
### Quick wins (high impact · low effort — do first)
### Roadmap (high impact · high effort)
### Deprioritized (low impact — listed, not scheduled)
### Validate next (all [judgment] findings + the instrumentation to settle them)
Language discipline: neutral, behavior-grounded observations ("3 of 5 walkthrough runs backtracked at X"), never accusatory. One observation per finding, one paragraph max.
Forbidden: presenting [judgment] as data; re-auditing per-page
heuristics/microcopy that audit-ux owns; inventing personas unmoored from the
product; recommending a full redesign when incremental fixes close the findings;
a findings dump with no impact×effort prioritization; only-negatives reports
(name what works); auditing without walking the stories (a route-tree grep
alone is not a journey audit).
[judgment] is never presented as [data].playwright-mcp/audit-ux; forms → enhance-web-forms; breakpoint layout → audit-responsiveaudit-responsive — page-level layout/IA at 375 / 768 / 1440 (this skill is cross-page stories)audit-ux — per-page NN/g heuristics, Laws of UX, microcopy, emotional design (the page lens to this skill's path lens)enhance-web-ux / enhance-web-forms — fix the screens and forms this audit flagsaudit-uiux-design-system — visual token/component complianceaudit-accessibility / audit-performance — WCAG and speed lenses (delegated)audit-realworld — full-stack feature parity vs the RealWorld referenceplan-test-coverage — same story inventory, test-coverage lens; share Phase 0 outputdesign-prd — where stories come from on greenfield; this skill audits them post-buildtest-playwright — turn walkthroughs into regression coverage after fixescomplete-everything — close the audited gaps to done with verificationFrequently asked questions
Degree of freedom: MIXED — Story derivation, IA, and evidence tags [HIGH freedom]; Phase 2 headed walkthrough [LOW freedom — run exactly].
The source record exposes this install command: npx skills add https://github.com/kensaurus/cursor-kenji --skill "skills/audit-ux-journeys". Inspect the command and pinned source before running it.
Alternatives
narrative-io/narrative-skills-marketplace
Translate a fuzzy analytical question into a rigorous investigation plan. Interrogates the ask, grounds the plan in the available data dictionary, applies analytical best practices, and produces a structured brief of query specifications for a downstream query-writing skill. Plans, does not write SQL. Use when: "why did X drop", "is there a relationship between A and B", "who are our highest-value customers", "what's driving the change in Y", "investigate this trend", "design an analysis for", "
JasonColapietro/suede-creator-skills
Suede-owned measurement discipline for tracking plans, event and conversion instrumentation, UTM and campaign-parameter hygiene, and verification of what actually fires. Use when setting up, auditing, or repairing analytics across web, product, paid, and lifecycle surfaces. NOT FOR: experiment design or significance decisions (use suede-ab-testing), campaign optimization (use suede-ads), attribution models, model comparison, or cross-tool reconciliation (use suede-attribution), or revenue-proces
JasonColapietro/suede-creator-skills
Suede-owned retention discipline for voluntary and involuntary churn: cancel flows, pause paths, evidence-based save offers, failed-payment recovery, proactive signals, and win-back design. Use when diagnosing subscriber loss or designing a bounded retention intervention. NOT FOR: lifecycle-email production (use suede-emails), pricing architecture (use suede-pricing), paywall design (use suede-paywalls), or event instrumentation (use suede-analytics).
K-Dense-AI/scientific-agent-skills
Analyze Neuropixels extracellular recordings end-to-end with SpikeInterface. Covers loading SpikeGLX/Open Ephys/NWB data, preprocessing, drift/motion correction, Kilosort4 (and CPU) spike sorting, quality metrics, and unit curation (threshold-based, model-based UnitRefine, and AI-assisted visual review). Use when working with Neuropixels 1.0/2.0 recordings, spike sorting, or extracellular electrophysiology analysis.