skills/ui-ux-design/SKILL.md
Design user interfaces and experiences for web applications without requiring design tools. Use for wireframing in text/ASCII, defining user flows, creating component hierarchies, establishing design systems, planning responsive layouts, and making accessibility decisions.
npx skillsauth add simplerick0/com.ackhax.configs ui-ux-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Design user interfaces and experiences using structured thinking and text-based artifacts.
[Start] → (Action) → [Screen] → <Decision> → [End]
Example: Password Reset
[Login Page]
→ (Click "Forgot Password")
→ [Email Input]
→ (Submit email)
→ <Email exists?>
Yes → [Check Email Message] → (Click link) → [Reset Form] → [Success]
No → [Error: Email not found]
## Flow: User Registration
### Happy Path
1. Landing Page → Click "Sign Up"
2. Registration Form → Enter email, password
3. Email Verification → Click link in email
4. Profile Setup → Add name, avatar (optional)
5. Dashboard → Onboarding tour
### Error States
- Invalid email format → Inline validation
- Email already exists → Link to login
- Weak password → Requirements tooltip
- Verification expired → Resend option
┌─────────────────────────────────────┐
│ Logo [Search...] [Login]│
├─────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ │
│ │ Card │ │ Card │ │
│ │ ----- │ │ ----- │ │
│ │ text │ │ text │ │
│ └─────────┘ └─────────┘ │
│ │
│ ┌─────────┐ ┌─────────┐ │
│ │ Card │ │ Card │ │
│ └─────────┘ └─────────┘ │
│ │
├─────────────────────────────────────┤
│ Footer links © 2024 │
└─────────────────────────────────────┘
## Component: User Card
### Layout
- Avatar (48x48, left)
- Name (bold, truncate at 20 chars)
- Role (muted text, below name)
- Actions menu (right, icon button)
### States
- Default: White background
- Hover: Light gray background
- Selected: Blue border
- Loading: Skeleton placeholder
### Responsive
- Desktop: Horizontal layout
- Mobile: Stack avatar above text
Primary Nav (always visible)
├── Dashboard
├── Projects
│ ├── Active
│ ├── Archived
│ └── [Create New]
├── Team
└── Settings
Secondary Nav (contextual)
└── Project Detail
├── Overview
├── Tasks
├── Files
└── Settings
Page: Project Dashboard
├── H1: Project Name
├── Meta: Status, Owner, Due Date
├── Section: Quick Actions
│ └── [New Task] [Upload] [Invite]
├── Section: Recent Activity
│ └── Activity feed (5 items)
├── Section: Tasks Overview
│ └── Kanban or list view
└── Section: Team
└── Member avatars + invite
## Buttons
- Primary: Main actions (1 per screen)
- Secondary: Supporting actions
- Ghost: Tertiary/cancel actions
- Destructive: Delete/remove (red)
Sizes: sm (32px), md (40px), lg (48px)
States: default, hover, active, disabled, loading
## Form Inputs
- Text input (single line)
- Textarea (multi-line)
- Select (dropdown)
- Checkbox / Radio
- Toggle switch
All inputs need: label, placeholder, error state, disabled state
## Feedback
- Toast: Temporary, auto-dismiss (success, error, info)
- Alert: Persistent, in-page (warning, error)
- Modal: Blocking, requires action
- Empty state: No data illustration + CTA
4px - xs (tight elements)
8px - sm (related items)
16px - md (default spacing)
24px - lg (section gaps)
32px - xl (major sections)
48px - 2xl (page sections)
Mobile: < 640px (single column)
Tablet: 640-1024px (2 columns)
Desktop: > 1024px (full layout)
## Navigation
- Desktop: Horizontal top bar
- Mobile: Hamburger → slide-out drawer
## Data Tables
- Desktop: Full table with columns
- Mobile: Card-based list, key info only
## Forms
- Desktop: 2-column where logical
- Mobile: Single column, full width inputs
## Images/Media
- Desktop: Grid layout
- Mobile: Single column, swipeable carousel
<!-- Use proper hierarchy -->
<header> - Site header
<nav> - Navigation
<main> - Primary content
<aside> - Secondary content
<footer> - Site footer
<!-- Headings in order -->
<h1> → <h2> → <h3> (no skipping)
<!-- Only when HTML semantics insufficient -->
<button aria-expanded="false">Menu</button>
<div role="alert">Error message</div>
<input aria-describedby="help-text">
## Screen: [Name]
### Purpose
One sentence explaining what user accomplishes here.
### Layout
[ASCII wireframe or description]
### Components Used
- Header (sticky)
- Card (with hover state)
- Button (primary)
- Empty state
### Interactions
- Click card → Navigate to detail
- Hover card → Show quick actions
- Click delete → Confirm modal
### Data Requirements
- User list (paginated, 20/page)
- User object: id, name, email, avatar, role
### Edge Cases
- Empty: Show illustration + "Add first user" CTA
- Loading: Skeleton cards
- Error: Inline error with retry
development
Manage VSCode/Cursor configuration in this dotfiles repository. Use when working with settings.json, keybindings.json, or tasks.json files, or when asked about VSCode/Cursor configuration structure.
development
Testing specialist focused on comprehensive test coverage for Python applications. Use for pytest patterns, unit/integration/E2E testing, fixtures, mocking, property-based testing with Hypothesis, and factory patterns.
development
Project management adapted for solo developers working without a team. Use for personal project planning, time-boxing work sessions, managing scope creep alone, maintaining momentum on side projects, tracking progress without overhead, making decisions without external input, and staying accountable to yourself.
development
System design, architectural patterns, and technical decision-making for software projects. Use for system design, API design, database modeling, scalability planning, technology selection, and architectural documentation.