Comprehensive UX analysis using cognitive psychology, ADHD-friendly design, Gestalt principles, and flow state engineering. Specializes in friction audits, user journey simulation, cognitive load optimization, and Fitts' Law application. Activate on "analyze UX", "friction audit", "user journey", "ADHD-friendly", "optimize flow", "reduce cognitive load", "UX audit", "conversion optimization". NOT for visual design execution (use web-design-expert), A/B testing implementation (use frontend-developer), or accessibility compliance auditing (use accessibility-auditor).
npx skills add https://github.com/curiositech/some_claude_skills --skill ux-friction-analyzer
A comprehensive skill for analyzing and optimizing user experience through cognitive psychology, ADHD-friendly design, and flow state engineering.
Use this skill when:
Trigger phrases: "analyze UX", "friction audit", "user journey", "ADHD-friendly", "optimize flow", "reduce cognitive load"
Apply these patterns to ALL interfaces:
| Principle | Implementation | Why It Matters |
|-----------|----------------|----------------|
| Progressive Disclosure | Show one task at a time; hide future steps | Prevents overwhelm, maintains focus |
| Context Preservation | Auto-save every keystroke; never lose work | Reduces anxiety about losing progress |
| Gentle Reminders | Status updates, not alarms; no red urgency | Avoids panic, maintains calm |
| Pause & Resume | Session state persists across days/weeks | Respects inconsistent schedules |
| Minimal Distractions | Single focus area; dim non-active panels | Reduces competing stimuli |
| Chunked Progress | Visual cards/steps, not endless scrolling | Creates completion dopamine hits |
| Predictable Navigation | Same layout always; no surprises | Reduces reorientation cost |
| Calm Mode Option | Reduced animations, muted colors on demand | Accommodates sensory sensitivity |
Apply these perception principles:
PROXIMITY
─────────
Elements close together = perceived as related
White space creates natural boundaries
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Related │ │ Related │ │ Other │ │ Other │
│ Item A │ │ Item B │ │ Group A │ │ Group B │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
↑ CLOSE = GROUPED ↑ SEPARATE = DISTINCT
SIMILARITY
──────────
Same color/shape/size = perceived as related function
┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
│ BLUE │ │ BLUE │ │ BLUE │ │ CORAL│ │ CORAL│
│ Save │ │ Copy │ │ Edit │ │ Del │ │ Clear│
└──────┘ └──────┘ └──────┘ └──────┘ └──────┘
↑ SAME = Related actions ↑ DIFFERENT = Destructive
CONTINUITY
──────────
Eye follows lines/paths naturally
Step 1 ──→ Step 2 ──→ Step 3 ──→ Complete
●──────────●──────────●──────────●
CLOSURE
───────
Brain completes incomplete shapes
Use for progress indicators, loading states
[ ████████░░░░░░░░ ] 50% - brain "sees" the end
Three types of mental load to manage:
| Type | Definition | Strategy |
|------|------------|----------|
| Intrinsic | Task complexity itself | Can't eliminate; acknowledge it |
| Extraneous | Poor design adding effort | ELIMINATE THIS - your job |
| Germane | Learning/understanding | Minimize for repeat users |
Working Memory Limits:
Reduce Extraneous Load By:
Time to acquire target = f(Distance / Size)
IMPLICATIONS FOR BUTTONS:
─────────────────────────
┌───────────────────┐ vs ┌──┐
│ GENERATE │ │Go│
│ │ └──┘
└───────────────────┘
↑ ↑
44px+ touch target Hard to hit
Easy to acquire Frustrating
MINIMUM SIZES:
- iOS: 44x44 CSS pixels
- Android: 48x48 CSS pixels
- Desktop: 32x32 minimum, 44x44 preferred
EDGE TARGETS ARE INFINITE:
┌─────────────────────────────────────────────────────┐
│ ■ LOGO MENU ■ │
│ │
│ Screen edges = can't overshoot │
│ Place critical actions at corners/edges │
│ │
│ ■ HELP EXPORT ■ │
└─────────────────────────────────────────────────────┘
ICON + LABEL > ICON ALONE:
- Larger target area
- Reduced ambiguity
- Faster acquisition
Key Metrics:
Flow Conditions:
Preserve Flow By:
Map every user path with probabilities:
┌─────────────┐
│ USER LANDS │
└──────┬──────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Action A │ │ Action B │ │ Action C │
│ (40%) │ │ (45%) │ │ (15%) │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
▼ ▼ ▼
[Next] [Next] [Next]
For each edge, record:
Create detailed simulations for each persona:
Template:
TIME ACTION COGNITIVE STATE FRICTION
─────────────────────────────────────────────────────────────────────────────
0:00 [User action] [Mental state] Low/Med/High
└─ [System response or UI shown]
0:15 [Next action] [How they feel] Low/Med/High
└─ [What happens]
└─ PROBLEM: [Friction point if any]
...continue...
─────────────────────────────────────────────────────────────────────────────
TOTAL TIME: X minutes
FRICTION POINTS: N (list them)
ABANDONMENT RISKS: N (critical moments)
DELIGHT MOMENTS: N (positive surprises)
Personas to simulate:
Quantify and prioritize:
| Friction Point | Users Affected | Severity (1-10) | Fix Difficulty | Priority Score |
|----------------|---------------|-----------------|----------------|----------------|
| [Issue 1] | X% | N | Easy/Med/Hard | HIGH/MED/LOW |
| [Issue 2] | X% | N | Easy/Med/Hard | HIGH/MED/LOW |
Priority Formula:
Priority = (Users Affected × Severity) / Fix Difficulty
Compare current vs ideal:
TASK CURRENT IMPEDANCE IDEAL IMPEDANCE
────────────────────────────────────────────────────────────────────
[Task 1] Low (X sec) ✓ Optimal
[Task 2] Medium (X sec) Could be Y sec
[Task 3] HIGH (X min) Should be Y sec
Calculate context switch costs:
Action Frequency Time Lost Each Total Impact
─────────────────────────────────────────────────────────────────────────
[Interruption type 1] X/session Y min Z min
[Interruption type 2] X/session Y min Z min
─────────────────────────────────────────────────────────────────────────
TOTAL CONTEXT SWITCH LOSS Z min/session
<button class="cta" style="min-height: 60px; min-width: 200px;">
Primary Action
<span class="subtext">Supporting text</span>
</button>
┌─────────────────────────────────────────────┐
│ Welcome back! Here's where you left off: │
│ │
│ ✓ Step 1: Complete │
│ → Step 2: In progress (60%) │
│ ○ Step 3: Not started │
│ │
│ [Continue where I left off] │
└─────────────────────────────────────────────┘
Before shipping any feature, verify:
When running this skill, produce a document with:
Core Philosophy: Every click, every second of confusion, every moment of "where am I?" is friction stealing from your users. Design for the distracted, optimize for the overwhelmed, and everyone benefits.
Rigorous visual validation expert specializing in UI testing, design system compliance, and accessibility verification. Masters screenshot analysis, visual regression testing, and component validation. Use PROACTIVELY to verify UI modifications have achieved their intended goals through comprehensive visual analysis.
Use when you need a deterministic inspection of a WordPress repository (plugin/theme/block theme/WP core/Gutenberg/full site) including tooling/tests/version hints, and a structured JSON report to guide workflows and guardrails.
Implement accessible user interfaces with semantic HTML, keyboard navigation, sufficient color contrast, screen reader support, ARIA attributes, and proper focus management. Use this skill when creating or editing React components (.tsx, .jsx files), when implementing forms with labels and inputs, when building interactive elements (buttons, modals, menus, dialogs), when implementing keyboard navigation, when choosing colors and ensuring contrast ratios, when adding ARIA attributes, when testing with screen readers, when implementing focus states and focus management, or when creating heading structures and page landmarks.
Build mobile-first responsive layouts with fluid containers, relative units, standard breakpoints, and touch-friendly design that adapts seamlessly across devices. Use this skill when creating or modifying layouts, implementing media queries, defining breakpoints, choosing sizing units, optimizing for mobile devices, or testing UI across screen sizes. Apply when working with responsive design, mobile layouts, tablet views, desktop views, viewport configuration, or any styling that needs to adapt to different screen sizes and device capabilities.
MUST USE after building/changing any UI or when asked whether a page, component, or TUI looks right. Rigorous visual QA across web/page and terminal UIs. Prefer browser:control-in-app-browser for unauthenticated browser/page QA in Codex, then Playwright/agent-browser/dev-browser. Captures screenshot/TUI evidence with bundled diff scripts, runs design-system/functional and visual-fidelity/CJK reviewer passes, then synthesizes a good/bad verdict. Triggers: visual QA, screenshot/pixel diff, UI looks wrong, reference fidelity, design system check, responsive check, CJK text clipping, TUI alignment, box-drawing drift.
Adds interactive widget previews to the project using the previews.dart system. Use when creating new UI components or updating existing screens to ensure consistent design and interactive testing.
Use when you need a deterministic inspection of a WordPress repository (plugin/theme/block theme/WP core/Gutenberg/full site) including tooling/tests/version hints, and a structured JSON report to guide workflows and guardrails.
29 production-ready scripts for iOS app testing, building, and automation. Provides semantic UI navigation, build automation, accessibility testing, and simulator lifecycle management. Optimized for AI agents with minimal token output.
Take curiositech/ux-friction-analyzer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.