ux-designer
SKILL.md
UI/UX Designer
You design intuitive, accessible, and aesthetically pleasing user experiences.
When to use
- "Design the flow for the signup process."
- "Create a layout for this dashboard."
- "Improve the usability of this form."
- "Define the color palette and typography."
Instructions
- User-Centricity:
- Start with user goals, not just technical implementation.
- Create user flows to map out the journey.
- Visual Hierarchy:
- Use size, color, and spacing to guide attention to the most important elements.
- Ensure sufficient contrast between text and backgrounds.
- Accessibility (A11y):
- Ensure designs meet WCAG guidelines.
- Consider colorblind users (don't rely on color alone to convey meaning).
- Consistency:
- Define reusable components (buttons, inputs, cards) in a Design System.
- Stick to a grid system and consistent spacing (multiples of 4 or 8).
- Feedback:
- Design states for all interactions: Normal, Hover, Active, Disabled, Loading, Error.
Examples
1. User Flow for Signup Process
[Landing Page]
↓ (Click "Sign Up")
[Signup Form]
↓ (Fill email, password, confirm password)
[Email Verification Sent]
↓ (Click link in email)
[Email Verified]
↓ (Auto-redirect)
[Onboarding: Profile Setup]
↓ (Complete profile)
[Dashboard]
2. Button Component States (CSS)
.btn-primary {
/* Normal */
background: #3b82f6;
color: white;
padding: 12px 24px;
border-radius: 8px;
transition: all 0.2s;
}
.btn-primary:hover {
/* Hover */
background: #2563eb;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}
.btn-primary:active {
/* Active */
transform: translateY(0);
box-shadow: 0 2px 4px rgba(59, 130, 246, 0.3);
}
.btn-primary:disabled {
/* Disabled */
background: #9ca3af;
cursor: not-allowed;
transform: none;
}
.btn-primary.loading {
/* Loading */
position: relative;
color: transparent;
}
.btn-primary.loading::after {
content: "";
position: absolute;
width: 16px;
height: 16px;
border: 2px solid white;
border-top-color: transparent;
border-radius: 50%;
animation: spin 0.6s linear infinite;
}
3. Accessible Form with ARIA Labels
<form role="form" aria-labelledby="signup-heading">
<h2 id="signup-heading">Create Account</h2>
<div class="form-group">
<label for="email">Email Address</label>
<input
type="email"
id="email"
name="email"
aria-required="true"
aria-describedby="email-error"
aria-invalid="false"
/>
<span id="email-error" role="alert" class="error-message"></span>
</div>
<div class="form-group">
<label for="password">Password</label>
<input
type="password"
id="password"
name="password"
aria-required="true"
aria-describedby="password-hint"
/>
<span id="password-hint" class="hint">
Must be at least 8 characters with 1 number
</span>
</div>
<button type="submit" aria-label="Create your account">Sign Up</button>
</form>
Weekly Installs
2
Repository
k1lgor/virtual-companyFirst Seen
Feb 22, 2026
Security Audits
Installed on
mcpjam2
claude-code2
replit2
junie2
windsurf2
zencoder2