ux-design
Use this skill when flows feel clunky, users are confused, navigation needs planning, onboarding needs design, or accessibility needs implementation. Covers information architecture, user flows, interaction patterns, progressive disclosure, and error handling UX.
Best use case
ux-design is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use this skill when flows feel clunky, users are confused, navigation needs planning, onboarding needs design, or accessibility needs implementation. Covers information architecture, user flows, interaction patterns, progressive disclosure, and error handling UX.
Teams using ux-design should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ux-design/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ux-design Compares
| Feature / Agent | ux-design | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use this skill when flows feel clunky, users are confused, navigation needs planning, onboarding needs design, or accessibility needs implementation. Covers information architecture, user flows, interaction patterns, progressive disclosure, and error handling UX.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# UX Design — Flows, Structure & Interaction
Design how users move through the app, find what they need, and accomplish tasks with minimal friction. This skill covers the structural and behavioral layer of UX — information architecture, navigation, user flows, interaction patterns, and error handling. For visual design (colors, typography, layout), see the beautify and ui-patterns skills. For onboarding flows, see ONBOARDING.md. For accessibility implementation, see ACCESSIBILITY.md.
## Information Architecture
The goal of IA is that users never have to think about where to find something. Navigation should match the user's mental model, not the database schema or org chart.
### Core Principles
- **Flat > deep.** Every additional level of nesting loses users. Aim for max 2 levels of hierarchy in navigation.
- **Labels are architecture.** Vague labels cause wrong turns. If a label needs explanation, change the label.
- **Group by user task, not data type.** "Marketing Assets" beats "Images | Documents | Videos." Users think in workflows, not file formats.
- **5-9 items per group** (Miller's Law). More than 9 items in a nav section means it needs restructuring.
- **Most-used items first.** Alphabetical ordering is lazy architecture — prioritize by frequency of use.
### URL Structure
URLs must mirror the information architecture:
```
/dashboard
/projects
/projects/[id]
/projects/[id]/settings
/settings/profile
/settings/billing
```
Rules:
- Nouns, not verbs: `/projects` not `/manage-projects`
- Lowercase with hyphens: `/team-members` not `/teamMembers`
- Meaningful IDs when possible: `/projects/acme-q4` not `/projects/a1b2c3`
- Max 3 levels of depth in the URL path
- Filter state in query params (`?status=active&owner=me`) for shareability
### Page Content Hierarchy
Every page must answer four questions in visual priority order:
1. **Where am I?** — Page title + breadcrumbs
2. **What can I do here?** — Primary actions visible above the fold
3. **What are the sub-sections?** — Tabs, cards, or clearly labeled sections
4. **What's most important?** — Visual hierarchy (size, weight, position) makes this obvious without reading
### Page Types
- **Dashboard:** Overview metrics + quick actions + recent activity. Never just a list of links.
- **List page:** Filterable, sortable, searchable collection. Primary CTA to create new item. Show item count.
- **Detail page:** Single object with all its information. Actions in the page header. Related objects linked.
- **Settings page:** Grouped form fields. Save per-section, not one giant save button for the entire page.
- **Empty state:** Explains what this page will contain + single CTA to add the first item. Never show an empty table with column headers.
## Navigation Patterns
Choose the pattern based on product complexity and number of sections:
### Decision Framework
| Pattern | When to use | Item count |
|---------|------------|------------|
| **Top nav (horizontal)** | Sections are equally important, product is simple | 3-7 top-level items |
| **Sidebar (vertical)** | Complex product, long sessions, sections have subsections | 5-20 items with grouping |
| **Tabs** | Related views of the same object (Overview / Activity / Settings) | 2-6 tabs on a single entity |
| **Command palette** | Power users, large apps, cross-cutting actions | Any size — supplements primary nav |
| **Breadcrumbs** | Depth > 2 levels — always show path back to parent | On all pages except homepage |
### Sidebar Best Practices
Group items with visual section headers. Use collapsible sections for depth. Structure:
```
WORKSPACE
Dashboard
Projects
Templates
SETTINGS
Profile
Billing
Integrations
```
### Command Palette (Cmd+K)
Implement as a modal overlay triggered by Cmd+K / Ctrl+K. Include three types of results:
- **Navigation:** "Go to Settings," "Open Projects"
- **Actions:** "Create project," "Invite teammate"
- **Search:** "Find user John," "Search invoices"
### Search and Filtering
- Global search accessible from every page (header search bar)
- Filters visible, not hidden in menus — show count of applied filters
- Common filter dimensions: Status, Date range, Owner, Tags/Labels
- Support saved/preset filters for common queries
- Persist filter state in URL query params for shareability and bookmarking
## User Flows
### Task Analysis
When designing or improving a flow, map the current steps a user takes to accomplish their goal. Then reduce:
1. **List every step** the user takes from intent to completion (including navigation, clicks, form fields, confirmations).
2. **Identify friction points:** Where does the user pause, make decisions, wait, or get confused?
3. **Eliminate steps:** Every step must earn its place. Can two steps merge? Can a default eliminate a choice? Can a step be deferred to later?
4. **Target: 3-click rule for common tasks.** The most frequent user actions should require no more than 3 interactions from any starting point.
### Step Reduction Principles
- **Smart defaults** over blank forms — pre-fill everything inferable from context
- **Inline creation** over navigate-to-form — let users create items where they need them
- **Bulk operations** over one-at-a-time — if users do it to 10 items, let them do it to 10 at once
- **Remember choices** — if the user picked a filter or view last time, restore it
- **Combine related steps** — name + description on the same screen, not two separate screens
## Interaction Patterns
### Feedback — What Happens When You Click
Every user action must produce visible feedback within 100ms. If the operation takes longer:
- **< 1 second:** Show a spinner on the button or inline indicator
- **1-10 seconds:** Show a progress indicator or skeleton screen
- **> 10 seconds:** Show a progress bar with estimated time; allow background processing with notification on completion
### Confirmation vs. Undo
| Approach | When to use |
|----------|------------|
| **No confirmation** | Reversible actions with no data loss (archiving, toggling, moving) |
| **Undo toast** | Destructive but recoverable actions (deleting a list item, removing a team member). Show "Undo" for 5-8 seconds. |
| **Confirmation dialog** | Irreversible, high-stakes actions only (deleting an account, publishing to production, bulk delete). Require typing a confirmation string for the most dangerous actions. |
Default to undo over confirmation dialogs. Confirmation dialogs interrupt flow and users click "OK" without reading them.
### Inline vs. Modal Editing
- **Inline editing** for single-field changes (rename, status change, quick note). Click to edit, blur or Enter to save.
- **Modal/drawer** for multi-field edits that need context isolation (edit profile, configure integration).
- **Full page** for complex creation flows (multi-step wizard, document editor).
### Optimistic vs. Pessimistic Updates
- **Optimistic** (update UI immediately, sync in background): Use for low-risk operations where failure is rare — toggling, liking, reordering, editing text. Roll back on failure with an error toast.
- **Pessimistic** (wait for server, then update UI): Use for financial transactions, permission changes, external API calls, and anything where partial failure creates inconsistency.
## Progressive Disclosure
Reveal complexity gradually. Four levels:
| Level | What to show | Example |
|-------|-------------|---------|
| **Essential** | Always visible — the core data and primary actions | List view with key columns, main CTA |
| **On interaction** | Revealed by hover, click, or expand | Row hover actions, expandable details, tooltip info |
| **On demand** | Available through explicit navigation or settings | Advanced settings, raw data view, export options |
| **Discoverable** | For power users who seek it out | Keyboard shortcuts, API access, bulk actions, command palette |
### When Hiding Makes UX Worse
Do not hide behind progressive disclosure:
- **Error states** — always surface errors prominently
- **Destructive consequences** — always show what will be deleted/changed
- **Required information** — never put required fields in collapsed sections
- **Current state** — the user should always see what's active, selected, or in progress
## Error Handling UX
### Error Message Pattern
Every error message must answer three questions:
1. **WHAT happened** — "Your payment failed" (not "Error 402")
2. **WHY it happened** — "Your card was declined by your bank"
3. **HOW TO FIX it** — "Update your payment method or try a different card" [with a link to payment settings]
### Error State Design
- **Form validation:** Validate inline on blur, not on submit. Show the error adjacent to the field, not in a banner at the top. Use `aria-invalid` and `aria-describedby` to link error text to the field.
- **Empty results:** "No projects match your filters" with a CTA to clear filters — never a blank screen.
- **Failed loads:** Show the last known good state with a "Retry" option, or a friendly error state with clear next steps.
- **Partial failures:** If 8 of 10 items succeed, show success for the 8 and specific errors for the 2.
### Retry Patterns
- Auto-retry network failures with exponential backoff (1s, 2s, 4s) — max 3 attempts
- Show a manual "Retry" button after auto-retries are exhausted
- For background operations, queue retries silently and notify on persistent failure
### Graceful Degradation
When a feature or service is unavailable:
- Show the rest of the page normally — do not block the entire UI
- Display a contextual message where the failed component would appear
- Provide an alternative path if one exists ("Analytics are temporarily unavailable. View raw data instead.")
## Performance Perception
Perceived speed matters more than actual speed. Techniques by situation:
| Technique | When to use |
|-----------|------------|
| **Optimistic updates** | User actions on their own data (edits, toggles, creates). Update UI immediately. |
| **Skeleton screens** | Initial page loads and data fetching. Show the layout shape before content arrives. Better than spinners for content-heavy pages. |
| **Progress indicators** | File uploads, data imports, long computations. Show percentage or steps completed. |
| **Lazy loading** | Below-the-fold content, images, secondary data. Load what's visible first. |
| **Prefetching** | Links the user is likely to click next (visible nav items, "next" in a pagination). Fetch data on hover or viewport entry. |
### Rules
- Never show a blank white screen. Always show structure (skeleton) or previous state.
- Animate transitions between states (loading → loaded) to avoid jarring layout shifts.
- If an operation completes in < 200ms, do not show a loading indicator — it creates a flash that feels slower.
- Prioritize above-the-fold content. The user does not need everything loaded before they can start reading or interacting.Related Skills
design-review
Use this skill when the user wants a design audit, asks what to fix, wants to compare against reference apps, asks if something is good enough to ship, or wants to elevate AI-generated UI to production quality. The quality gate for visual design.
validate
Use this skill when the user needs to validate a business idea, test demand before building, run a smoke test, create an MVP experiment, or decide whether an idea is worth pursuing. Covers demand validation, smoke tests, fake-door tests, landing page experiments, and go/no-go decision frameworks for bootstrapped founders.
ui-patterns
Use this skill when the user needs to build a dashboard, settings page, data table, or any page layout. Also use when choosing component libraries, implementing responsive design, dark mode, or handling UI states (loading, empty, error). Covers component selection, page composition, and responsive implementation.
translate
Use this skill when the user is a domain expert (lawyer, doctor, contractor, accountant, etc.) who wants to turn their professional knowledge into a software product. Also use when the user says 'I have an idea for my industry,' 'I know this problem exists,' 'I want to build something for [profession],' or is struggling to describe what they want the software to do. Helps identify which professional pain is worth building for, then translates it into requirements AI tools can execute.
test
Use this skill when the user needs to test features before deployment, create test scenarios, find edge cases, or verify bug fixes. Covers manual testing workflows, cross-browser testing, edge case identification, and testing checklists for non-technical founders.
technical-seo
Use this skill to implement technical SEO optimizations in code — meta tags, schema markup, Core Web Vitals, crawlability, robots.txt, sitemaps, and GEO (Generative Engine Optimization) for AI search engines. This is the implementation skill — for strategy see seo, for content writing see seo-content, for auditing see seo-audit.
support
Use this skill when the user needs to create help docs, build a knowledge base, set up self-serve support, or reduce support tickets. Covers documentation strategy, help center structure, support tone, and scaling support without hiring.
social-media
Use this skill when the user needs to grow a social media presence, create content for Twitter/X, LinkedIn, or other platforms, build a founder brand, or use social media as a distribution channel. Covers platform strategy, content frameworks, posting cadence, and audience building for bootstrapped SaaS founders.
seo
Use this skill when the user needs to plan SEO content, do keyword research, build a content calendar, map search intent to page types, or create an internal linking strategy. Also use when the user says 'how do I rank higher,' 'what should I write about for SEO,' 'SEO plan,' 'what keywords should I target,' or 'how to get organic traffic.' This is the strategy and planning skill — for writing content see seo-content, for technical implementation see technical-seo, for auditing see seo-audit.
seo-content
Use this skill when the user needs to write SEO content — blog posts, landing pages, feature pages, comparison pages, how-to guides, or any content meant to rank in search and get cited by AI. Covers content briefs, humanized writing that avoids AI detection, SERP feature targeting, entity optimization, content refresh, and quality self-checks. This is the writing skill — for strategy see seo, for technical implementation see technical-seo, for auditing see seo-audit.
seo-audit
Audit a codebase for SEO and AI-answer visibility, then produce a prioritized fix-it plan. Use this skill whenever a user says things like "audit my SEO", "check my site for search visibility", "how do I rank better", "optimize for Google", "optimize for AI answers", "SEO review", "GEO audit", "run the SEO agent", or anything about improving organic traffic or search rankings. Also trigger when someone mentions wanting visibility in AI-generated answers (ChatGPT, Gemini, Perplexity, Claude). Works on any web project — static sites, Next.js, Astro, Hugo, WordPress themes, or anything that outputs HTML.
secure
Use this skill when the user needs to secure their SaaS app, implement authentication, protect user data, secure APIs, or check for vulnerabilities. Also use when the user says 'is my app secure,' 'security check,' 'I'm worried about hackers,' 'how do I protect user data,' or 'security before launch.' Covers OWASP Top 10, auth best practices, data protection, and security checklists for apps built with AI tools.