ux
Skill2 starsChanged 11 months agoMITView on GitHub
Comprehensive UX/UI design assistance for web and mobile applications. Use when designing user interfaces, user flows, wireframes, mockups, or interactive prototypes. Covers iOS/Android mobile apps and responsive web applications. Helps with information architecture, design systems, component libraries, user research planning, and accessibility. Use when user requests design work, wireframes, mockups, user flows, or needs help planning app/web interfaces.
In this repository5 other files it gives its agents.
- code-reviewSkill
- devopsSkill
- product-ownerSkill
- securitySkill
- technicalSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
45 rules. About 0 are common, 35 are distinctive, and 10 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈35
Distinctive · estimate
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 72
Keyboard navigation: All interactive elements must be keyboard-accessible
- Distinctive: line 77
Clear labels: All inputs, buttons, and controls must have descriptive labels
- Distinctive: line 80
Screen readers: Use semantic HTML, ARIA labels where needed
- Distinctive: line 91
Follow this workflow for design requests:
- Distinctive: line 96
Create the design: Use appropriate templates and follow platform conventions
- Distinctive: line 97
Check accessibility: Verify all requirements are met
- Distinctive: line 113
No visual styling, just structure
- Distinctive: line 127
Use templates as starting point
- Distinctive: line 144
Use color, typography, real content
- Distinctive: line 160
Use for: Grouping related content, list items, content containers
- Distinctive: line 164
Use for: Scrollable lists, navigation items, settings options
- Distinctive: line 169
Use for: Task completion, loading states, achievement progress
- Distinctive: line 179
Use for: Primary navigation (iOS-style)
- Distinctive: line 184
Use for: Secondary navigation, menu items
- Distinctive: line 190
Use for: Primary navigation in admin interfaces
- Distinctive: line 199
Use for: Dashboard KPIs, summary statistics
- Very specific: line 224
Required: Before designing mobile interfaces, consult references/mobile-patterns.md for:
- Distinctive: line 233
Consider thumb zones for frequent actions
- Very specific: line 249
Required: Before designing web interfaces, consult references/web-patterns.md for:
- Very specific: line 275
Use the React template from assets/mobile-template.jsx as a starting point:
- Distinctive: line 280
Add platform-specific components (tab bar, navigation, etc.)
- Distinctive: line 282
Verify touch target sizes and spacing
- Very specific: line 289
Use the HTML template from assets/web-admin-template.html as a starting point:
- Distinctive: line 294
Add relevant tables, charts, or forms
- Distinctive: line 296
Test keyboard navigation flow
- Very specific: line 312
Create side-by-side variants: dashboard-option-a.jsx, dashboard-option-b.jsx
- Distinctive: line 317
Keep previous versions for reference
- Distinctive: line 318
Add version notes at top of file:
- Very specific: line 332
When user needs help with research, planning, or information architecture, consult references/ux-research.md for:
- Very specific: line 347
Create a single .jsx file with all components inline
- Distinctive: line 349
Add comments explaining key design decisions
- Very specific: line 358
Create a single .html file with inline CSS
- Distinctive: line 369
Use Mermaid diagrams for text-based flow creation
- Distinctive: line 379
Use structured text with clear hierarchy
- Distinctive: line 388
When designing for the educational planning app context:
- Distinctive: line 415
When creating multiple screens or components:
- Distinctive: line 418
Use consistent typography hierarchy
- Distinctive: line 420
Document any new patterns created
- Distinctive: line 472
Call out interaction patterns (tap, swipe, long-press)
- Very specific: line 495
Use mobile-template.jsx as base
- Distinctive: line 496
Create interactive prototype showing:
- Distinctive: line 532
Create Mermaid diagram showing:
- Distinctive: line 550
Document changes: Increase button size from 40pt to 44pt, add priority picker to subtask modal
- Very specific: line 551
Create new version: task-breakdown-v2.jsx
- Distinctive: line 552
Add version notes in file comments
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
UX Designer Skill
Assist with all aspects of UX/UI design for web and mobile applications, from research and planning through high-fidelity mockups and interactive prototypes.
Quick Decision Tree
Need to design something? Use this guide:
Is this...
├─ Early exploration/concept validation? → Low-fidelity wireframe (text/ASCII)
├─ Structural validation with real content? → Mid-fidelity mockup (HTML/React basic)
├─ Final design for stakeholders/devs? → High-fidelity prototype (React interactive)
├─ Process or navigation flow? → User flow (Mermaid diagram)
├─ Planning/research phase? → Consult ux-research.md
└─ Iterating on existing design? → See Iteration Workflow belowPlatform:
- Student/Guardian interface? → Mobile (iOS/Android)
- Teacher interface? → Web (desktop-first)
Pre-Design Checklist
Before starting ANY design work, complete these steps:
1. Understand Context
- What feature/screen/flow are we designing?
- For whom? (student/teacher/guardian/other)
- What platform? (iOS/Android/web)
- What problem does this solve for the user?
2. Determine Fidelity Level
- Is this early exploration? → Low-fidelity
- Validating structure? → Mid-fidelity
- Final design? → High-fidelity
3. Load Required References
- For mobile: Read
references/mobile-patterns.md - For web: Read
references/web-patterns.md - For research/planning: Read
references/ux-research.md - Always: Review component library section below
4. Check Accessibility Requirements
- Color contrast meets WCAG AA (4.5:1)
- Touch targets are adequate (44pt/48dp minimum)
- Keyboard navigation planned
- Screen reader compatibility considered
- Age-appropriate for educational context
5. Plan File Naming
- Use versioning convention:
feature-name-v1.jsx,feature-name-v2.jsx - Include fidelity in name if helpful:
dashboard-wireframe.html,dashboard-hifi.jsx
Accessibility Requirements (CRITICAL)
Accessibility is non-negotiable. Every design must meet these standards:
Color & Contrast
- Normal text: 4.5:1 contrast ratio minimum (WCAG AA)
- Large text (18pt+): 3:1 contrast ratio minimum
- Never rely on color alone to convey information
- Provide visual alternatives (icons, patterns, labels)
Interaction
- Touch targets: 44x44pt (iOS) / 48x48dp (Android) minimum
- Keyboard navigation: All interactive elements must be keyboard-accessible
- Focus indicators: Visible focus states for all interactive elements
- Tap/click feedback: Visual confirmation of user actions
Content
- Clear labels: All inputs, buttons, and controls must have descriptive labels
- Error messages: Specific, actionable, and positioned near the relevant field
- Reading level: Age-appropriate language for educational context
- Screen readers: Use semantic HTML, ARIA labels where needed
Common Accessibility Mistakes to Avoid
- ❌ Low contrast text on colored backgrounds
- ❌ Small touch targets close together
- ❌ Auto-playing animations without pause control
- ❌ Form inputs without labels
- ❌ Error messages that only use color (red text with no icon/message)
Design Process Overview
Follow this workflow for design requests:
- Complete pre-design checklist (above)
- Understand the context: Clarify requirements with user if needed
- Consult references: Load relevant platform patterns and design principles
- Create the design: Use appropriate templates and follow platform conventions
- Check accessibility: Verify all requirements are met
- Annotate and explain: Provide context for design decisions
When to Use Which Approach
Low-Fidelity Wireframes
Purpose: Early exploration, rapid iteration, and structural planning
When to use:
- Brainstorming multiple layout options
- Validating information hierarchy
- Quick iteration before investing in details
Output:
- Text-based wireframe descriptions with ASCII art or structured layouts
- Focus on hierarchy, layout, and content organization
- No visual styling, just structure
Example request: "Sketch out the basic layout for..."
Mid-Fidelity Mockups
Purpose: Validating structure and flow with representative content
When to use:
- Structure is locked, but visual design is still flexible
- Testing with real content before polishing
- Developer preview of general structure
Output:
- HTML or React components with basic styling
- Use templates as starting point
- Representative content and interactions
- Still relatively simple styling
Example request: "Create a wireframe showing..."
High-Fidelity Interactive Prototypes
Purpose: Final validation, stakeholder presentation, and developer handoff
When to use:
- Final design approval needed
- Demonstrating complex interactions
- Developer handoff with specifications
- User testing with realistic prototype
Output:
- React components with full styling and interactions
- Use color, typography, real content
- Interactive states and transitions
- Based on templates from
assets/
Example request: "Design an interactive mockup..." or "Create a prototype..."
Component Library Reference
Mobile Components (from assets/mobile-template.jsx)
Button
- Variants:
primary,secondary,tertiary,destructive - States: default, hover, active, disabled, loading
- Props:
variant,disabled,fullWidth,icon,loading
Card
- Use for: Grouping related content, list items, content containers
- Props:
clickable,elevated,padding
ListItem
- Use for: Scrollable lists, navigation items, settings options
- Components:
icon,title,subtitle,action(chevron/switch/badge) - Props:
onPress,showDivider,disabled
ProgressBar
- Use for: Task completion, loading states, achievement progress
- Variants:
linear,circular - Props:
progress(0-100),color,showLabel
Badge
- Variants:
status(active/inactive),count,label - Colors: primary, success, warning, danger, neutral
- Props:
variant,color,text,count
Bottom Navigation (Tab Bar)
- Use for: Primary navigation (iOS-style)
- Max items: 5 (iOS), 3-5 (Android)
- Props:
tabs,activeTab,onTabChange
Navigation Drawer (Android)
- Use for: Secondary navigation, menu items
- Props:
items,onItemSelect,headerContent
Web Admin Components (from assets/web-admin-template.html)
Sidebar Navigation
- Use for: Primary navigation in admin interfaces
- Components: Section headers, nav items with icons, active states
- Collapsible on mobile
Header
- Components: Breadcrumbs, page title, action buttons
- Sticky positioning for persistent access
Metric Cards
- Use for: Dashboard KPIs, summary statistics
- Components: Value, label, trend indicator, icon
- Variants: default, success, warning, danger
Data Table
- Features: Sortable columns, row selection, pagination, actions column
- States: Loading, empty, error
- Props:
columns,data,sortable,selectable,onRowClick
Form Components
- Input fields with labels and error states
- Select dropdowns
- Checkboxes and radio groups
- Date pickers
- File upload areas
Button Styles
- Variants: primary, secondary, tertiary, destructive, ghost
- Sizes: small, medium, large
- States: default, hover, active, disabled, loading
Platform-Specific Guidelines
Mobile Design (iOS & Android)
Required: Before designing mobile interfaces, consult references/mobile-patterns.md for:
- Platform-specific navigation patterns
- Standard components and conventions
- Touch targets and spacing
- Platform-appropriate interactions
Key considerations:
- Touch targets minimum 44x44pt (iOS) / 48x48dp (Android)
- Respect platform conventions (tab bar vs navigation drawer)
- Consider thumb zones for frequent actions
- Show loading, empty, and error states
- Design for one-handed use when possible
- Account for safe areas (notches, home indicators)
Mobile-specific states to design:
- Default/idle
- Loading/processing
- Empty state (no data)
- Error state (with recovery action)
- Success confirmation
- Pull-to-refresh
- Offline mode
Web Admin Design
Required: Before designing web interfaces, consult references/web-patterns.md for:
- Dashboard layout patterns
- Data table and visualization approaches
- Form patterns and validation
- Responsive breakpoints
Key considerations:
- Desktop-first for teacher admin tools
- Keyboard navigation and accessibility
- Efficient workflows for repetitive tasks
- Clear data hierarchy and filtering
- Responsive down to tablet (768px minimum)
- Persistent navigation and context
Web-specific patterns:
- Breadcrumb navigation
- Bulk actions with selection
- Inline editing for data tables
- Modal dialogs for focused tasks
- Toasts/notifications for feedback
- Export/download actions
Creating Designs
For Mobile Apps
Use the React template from assets/mobile-template.jsx as a starting point:
- Copy the template structure
- Customize the screen content for the specific use case
- Modify colors if needed for branding
- Add platform-specific components (tab bar, navigation, etc.)
- Include relevant UI states (loading, empty, error)
- Verify touch target sizes and spacing
- Add accessibility annotations
File naming: feature-screen-v1.jsx (e.g., task-breakdown-v1.jsx)
For Web Admin
Use the HTML template from assets/web-admin-template.html as a starting point:
- Copy the template structure
- Customize the sidebar navigation for the specific admin sections
- Modify the content area for the specific view (dashboard, detail page, etc.)
- Add relevant tables, charts, or forms
- Ensure responsive behavior
- Test keyboard navigation flow
File naming: feature-view-v1.html (e.g., student-progress-v1.html)
Iteration Workflow
Handling Feedback and Design Revisions
When receiving feedback:
- Document the feedback: List specific changes requested
- Determine scope: Minor tweaks or major revision?
- Version appropriately:
- Minor changes (color, spacing, copy): Update existing file, note changes in comments
- Major changes (layout, flow, features): Create new version file (
v2,v3)
For comparison/decision:
- Create side-by-side variants:
dashboard-option-a.jsx,dashboard-option-b.jsx - Include pros/cons of each approach in comments or separate doc
- Highlight differences clearly
Version history approach:
- Keep previous versions for reference
- Add version notes at top of file:
// v2 - 2024-01-15 // Changes: Added bulk actions, improved error states, adjusted mobile layout // Feedback from: Teacher usability testing
Communication pattern:
- Present changes clearly: "I've updated the dashboard based on your feedback. The main changes are..."
- Highlight trade-offs: "I increased the button size for accessibility, which means we can fit 3 instead of 4 per row"
- Suggest next steps: "This addresses the navigation concern. Want to review the form validation next?"
User Research and Planning
When user needs help with research, planning, or information architecture, consult references/ux-research.md for:
- User persona templates
- User story formats
- User journey mapping
- Information architecture planning
- Sitemap structures
- Wireframing principles
- Design system planning
Design Deliverable Formats
Interactive Prototypes (React)
Use for: High-fidelity designs that need interactivity
Output:
- Create a single
.jsxfile with all components inline - Include state management for interactions
- Add comments explaining key design decisions
- Show multiple states (default, hover, active, loading, error)
File naming: feature-name-v1.jsx
Static Mockups (HTML)
Use for: Presenting visual designs without complex interactivity
Output:
- Create a single
.htmlfile with inline CSS - Use realistic content
- Include annotations as comments
- Show responsive layouts if relevant
File naming: feature-name-v1.html
User Flows (SVG or Mermaid)
Use for: Process flows and navigation structures
Output:
- Use Mermaid diagrams for text-based flow creation
- Include decision points, user actions, system responses
- Label transitions and conditions
File naming: feature-flow-v1.mermaid
Text-based Wireframes
Use for: Quick, low-fidelity exploration
Output:
- Use structured text with clear hierarchy
- ASCII art for layout visualization if helpful
- Bullet points for components and content
- Clear labeling of interactions
Can be in conversation or as .txt file
Educational App-Specific Patterns
When designing for the educational planning app context:
Student Views (mobile-first):
- Task breakdown interfaces with drag-and-drop or step-by-step wizards
- Calendar integration showing existing commitments
- Progress visualization (rings, bars, streaks)
- Gentle reminders and motivational elements
- Age-appropriate language and complexity
- Achievement/reward elements
Guardian Views (mobile-first):
- Overview dashboards showing student progress
- Alert mechanisms for missed deadlines
- Communication channels with students
- Simplified interfaces focusing on key metrics
- Notification preferences
Teacher Views (web-first):
- Assignment creation with templates and recurrence
- Class and group management
- Progress tracking dashboards with filtering
- Individual student drill-down views
- Bulk actions for efficiency
- Analytics and reporting
Design System Consistency
When creating multiple screens or components:
- Establish color palette early (primary, secondary, semantic colors)
- Define spacing scale (typically 8px or 4px base unit)
- Use consistent typography hierarchy
- Reuse components across screens
- Document any new patterns created
- Maintain consistent interaction patterns
Color palette structure:
- Primary: Main brand color
- Secondary: Supporting actions
- Semantic: Success (green), Warning (yellow), Danger (red), Info (blue)
- Neutrals: Grays for text, borders, backgrounds
Spacing scale example:
- 4px: Tight spacing (icon-to-label)
- 8px: Component padding, small gaps
- 16px: Default spacing between elements
- 24px: Section spacing
- 32px+: Major layout spacing
Common Pitfalls to Avoid
Design Mistakes
- ❌ Inconsistent spacing: Use the spacing scale, don't eyeball it
- ❌ Too many font sizes: Stick to 4-5 sizes max (heading, body, caption, etc.)
- ❌ Unclear hierarchy: Users should know what to look at first
- ❌ Missing states: Always design loading, empty, error, and success states
- ❌ Platform confusion: Don't mix iOS and Android patterns
- ❌ Ignoring real content: "Lorem ipsum" hides length/formatting issues
Interaction Mistakes
- ❌ Invisible touch areas: Small icons without adequate tap targets
- ❌ No feedback: User actions should have immediate visual response
- ❌ Unclear CTAs: Primary action should be visually obvious
- ❌ Hidden navigation: Users shouldn't have to guess where to go next
- ❌ Modal overload: Too many popups/modals disrupt flow
Accessibility Mistakes
- ❌ Poor contrast: Test all text colors against backgrounds
- ❌ Tiny text: Minimum 16px for body text on mobile
- ❌ Close touch targets: Leave 8px+ between tappable elements
- ❌ No labels: Every input needs a visible label
- ❌ Color-only indicators: Pair color with icons or text
Process Mistakes
- ❌ Designing in a vacuum: Validate assumptions early with user
- ❌ Over-designing too early: Start low-fidelity, add polish later
- ❌ Not considering edge cases: What if there's no data? 100 items?
- ❌ Ignoring technical constraints: Check feasibility with developer
- ❌ Perfecting the wrong thing: Validate direction before polishing
Annotations and Handoff
For designs intended for development:
- Specify component states (default, hover, active, disabled, loading, error)
- Note responsive breakpoints and behavior
- Call out interaction patterns (tap, swipe, long-press)
- Indicate conditional logic (if X then show Y)
- Reference any platform-specific implementations
- Specify animations/transitions (duration, easing)
- Note data requirements (what API calls are needed)
Annotation format example:
// Component: TaskCard
// States: default, selected, completed, overdue
// Interaction: Tap to view details, long-press for quick actions
// Data: task.title, task.dueDate, task.progress, task.subtasks[]
// Conditional: Show overdue badge if dueDate < today && !completedExamples
Example 1: Task Breakdown Screen (Mobile)
Request: "Design a screen where students can break down a large assignment into smaller subtasks"
Response approach:
- Complete pre-design checklist
- Consult
mobile-patterns.mdfor appropriate patterns - Use
mobile-template.jsxas base - Create interactive prototype showing:
- Assignment header with due date
- Add subtask interface
- List of subtasks with checkboxes
- Calendar integration to schedule each subtask
- Progress indicator
- Empty state (no subtasks yet)
- Completed state (all subtasks done)
- Annotate interaction: "Tap '+' to add subtask, drag to reorder, tap calendar icon to schedule"
- Note accessibility: All touch targets 44pt minimum, checkboxes labeled for screen readers
File name: task-breakdown-v1.jsx
Example 2: Teacher Progress Dashboard (Web)
Request: "Design a page that shows teacher the progress on a specific assignment across all students"
Response approach:
- Complete pre-design checklist
- Consult
web-patterns.mdfor data visualization patterns - Use
web-admin-template.htmlas base - Create mockup showing:
- Summary metrics at top (completion rate, average progress, overdue count)
- Filterable/sortable table of students with progress bars
- Visual indicators for at-risk students
- Bulk action buttons (send reminder, extend deadline)
- Empty state (no submissions yet)
- Export functionality
- Note responsive behavior for tablet viewing
- Specify keyboard shortcuts (e.g., "/" for search, arrow keys for navigation)
File name: assignment-progress-v1.html
Example 3: User Flow
Request: "Show the flow from teacher assigning a task to student receiving and planning it"
Response approach:
- Create Mermaid diagram showing:
- Teacher creates assignment
- System notifies students (push + email)
- Student opens notification
- Student views assignment details
- Student breaks down into subtasks
- Student schedules subtasks
- Guardian receives summary notification
- Include decision points (e.g., if student declines task, notify teacher)
- Show system states (pending, in progress, completed)
- Note error cases (notification failed, deadline passed)
File name: assignment-flow-v1.mermaid
Example 4: Iteration Based on Feedback
Request: "The task breakdown screen needs bigger buttons and we should add a way to set priority on subtasks"
Response approach:
- Document changes: Increase button size from 40pt to 44pt, add priority picker to subtask modal
- Create new version:
task-breakdown-v2.jsx - Add version notes in file comments
- Highlight changes: "Updated button sizes for better accessibility. Added priority selection (high/medium/low) when creating/editing subtasks. Priority shown with color-coded badge on each subtask."
- Note trade-off: "Larger buttons reduced visible subtasks from 7 to 6 per screen, but improved tap accuracy significantly"
Output Format
Always provide:
- Design rationale: Brief explanation of approach and key decisions
- The design: Interactive prototype, static mockup, flow diagram, or wireframe
- Usage notes: How to interact with prototype, responsive behavior, states shown
- Accessibility notes: Key accessibility features implemented
- Next steps: Suggestions for iteration or additional screens needed
Keep the design focused on the specific request while maintaining consistency with broader app patterns.
Quick Reference Card
Starting a design?
- ✅ Complete pre-design checklist
- ✅ Read relevant reference files
- ✅ Check component library
- ✅ Verify accessibility requirements
- ✅ Name file with version number
Stuck on something?
- Need structure? → Start with wireframe
- Need to show flow? → Create Mermaid diagram
- Need to compare options? → Make variants (option-a, option-b)
- Need to iterate? → Create new version file (v2, v3)
Before delivering:
- ✅ All touch targets 44pt+ (mobile) or clickable (web)
- ✅ Color contrast checked (4.5:1 minimum)
- ✅ Multiple states shown (loading, empty, error)
- ✅ Annotations for developer handoff
- ✅ Version and date noted in file
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

