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

  1. User-Centricity:
    • Start with user goals, not just technical implementation.
    • Create user flows to map out the journey.
  2. Visual Hierarchy:
    • Use size, color, and spacing to guide attention to the most important elements.
    • Ensure sufficient contrast between text and backgrounds.
  3. Accessibility (A11y):
    • Ensure designs meet WCAG guidelines.
    • Consider colorblind users (don't rely on color alone to convey meaning).
  4. Consistency:
    • Define reusable components (buttons, inputs, cards) in a Design System.
    • Stick to a grid system and consistent spacing (multiples of 4 or 8).
  5. 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
First Seen
Feb 22, 2026
Installed on
mcpjam2
claude-code2
replit2
junie2
windsurf2
zencoder2