home / skills / mjunaidca / mjs-agent-skills / ux-evaluator

This skill evaluates UI components using a 3-dimension UX framework to produce actionable, evidence-based improvement recommendations.

npx playbooks add skill mjunaidca/mjs-agent-skills --skill ux-evaluator

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
6.7 KB
---
name: ux-evaluator
description: This skill should be used when evaluating UI components against UX best practices. Use for reviewing buttons, navigation elements, spacing, visual hierarchy, or any interface element. Provides a systematic 3-dimension framework (Position, Visual Weight, Spacing) aligned with industry standards (Balsamiq, Nielsen heuristics). Invoke when user asks to "review UX", "check button design", "evaluate layout", or references design guidelines.
---

# UX Evaluator

## Overview

Systematically evaluate UI components against established UX principles using a 3-dimension framework. Transform subjective design feedback into actionable, evidence-based recommendations by comparing against industry conventions and authoritative sources.

**Core Value**: Prevents subjective design debates by grounding decisions in documented best practices.

## When to Use This Skill

**Triggers**:
- User provides UX feedback on a component
- User references external design guidelines (Balsamiq, Nielsen, Material Design)
- User asks to "review", "evaluate", or "check" UI elements
- User questions button labels, spacing, or visual hierarchy
- Before implementing UI changes that affect user interaction

**Do NOT use for**:
- Pure visual aesthetics (colors, fonts) without UX implications
- Backend or non-UI changes
- When user has already made a firm decision and just wants implementation

## Evaluation Framework

### The 3-Dimension Analysis

For ANY UI component, evaluate these three dimensions:

| Dimension | What to Analyze | Key Questions |
|-----------|-----------------|---------------|
| **1. Position** | Where is it located relative to other elements? | Does position follow conventions? Is it discoverable? |
| **2. Visual Weight** | How prominent is it visually? | Does it compete with primary actions? Is hierarchy clear? |
| **3. Spacing** | What's the gap from adjacent elements? | Is there adequate separation? Is spacing consistent? |

### Evaluation Workflow

```
Step 1: GATHER CONTEXT
├── What component is being evaluated?
├── What user feedback or concern triggered this?
├── Is there an external reference (article, guideline)?
└── What is the component's purpose (primary CTA, utility, navigation)?

Step 2: ANALYZE CURRENT STATE
├── Position: Document exact location in layout
├── Visual Weight: Describe styling (filled, ghost, icon-only, etc.)
├── Spacing: Measure gaps from adjacent elements
└── Compare to industry conventions (see references/)

Step 3: PRODUCE VERDICT
├── For each dimension: CORRECT / NEEDS CHANGE / ACCEPTABLE
├── If NEEDS CHANGE: Specific recommendation with rationale
├── Reference authoritative source for each recommendation
└── Prioritize changes (P1: breaks UX, P2: suboptimal, P3: polish)
```

## Component-Specific Guidelines

### Buttons (Action Elements)

**Position**:
- Primary action (Sign Up, Submit, Buy) → RIGHT side
- Secondary action (Cancel, Sign In) → LEFT of primary
- Utility controls (theme, settings) → FAR RIGHT after primary actions

**Visual Weight**:
- Primary: Filled background, brand color, shadow
- Secondary: Ghost/outline, no fill, subtle border
- Utility: Icon-only or minimal text, neutral color

**Spacing**:
- Between button groups: 1.5rem (24px) minimum
- Between buttons in same group: 0.5rem-0.75rem (8-12px)
- Touch targets: 44px minimum height on mobile

**Labels**:
- Use conventional labels: "Sign Up" not "Get Started", "Sign In" not "Login"
- Say exactly what happens: "Delete Account" not "Proceed"
- Verb-first for actions: "Create Project", "Send Message"

### Navigation Elements

**Position**:
- Logo → LEFT
- Primary nav → CENTER or after logo
- Utility items (search, auth, theme) → RIGHT

**Visual Weight**:
- Active state clearly distinguished
- Current page indicator visible
- Don't compete with page content

**Spacing**:
- Group related items visually
- Clear separation between nav groups
- Adequate click/tap targets

### Form Elements

**Position**:
- Labels above or to the left of inputs
- Submit button at bottom, right-aligned or full-width
- Error messages adjacent to field

**Visual Weight**:
- Required fields marked clearly
- Error states prominent (red border/text)
- Success states confirmatory (green checkmark)

**Spacing**:
- Consistent vertical rhythm between fields
- Label-to-input gap: 0.25-0.5rem
- Field-to-field gap: 1-1.5rem

## Industry Conventions Reference

### Button Order (Major Sites)

| Site | Pattern |
|------|---------|
| GitHub | [Sign In] [Sign Up] - secondary left, primary right |
| Stripe | [Sign In] [Start now →] - secondary left, primary right |
| Google | [Sign In] [Create account] - same pattern |
| Notion | [Log in] [Get Notion free] - same pattern |

**Verdict**: Secondary LEFT, Primary RIGHT is the standard.

### Theme Toggle Placement

| Site | Placement |
|------|-----------|
| GitHub | Far right, after user menu |
| VS Code Docs | Far right |
| Stripe Docs | Far right |
| Discord | In settings, not navbar |

**Verdict**: Far right (after auth) or in settings dropdown.

### Utility Control Visual Weight

| Control | Expected Weight |
|---------|-----------------|
| Theme toggle | Icon-only, subtle, doesn't compete with CTAs |
| Search | Icon trigger or compact input, expandable |
| Language selector | Icon or compact dropdown |

**Verdict**: Utilities should be accessible but subordinate to primary actions.

## Output Format

When evaluating a component, produce this structured output:

```markdown
## [Component Name] Evaluation

### Current State
- **Position**: [Description]
- **Visual Weight**: [Description]
- **Spacing**: [Measurements]

### Analysis

| Dimension | Assessment | Rationale |
|-----------|------------|-----------|
| Position | [OK/CHANGE] | [Why, with reference] |
| Visual Weight | [OK/CHANGE] | [Why, with reference] |
| Spacing | [OK/CHANGE] | [Why, with reference] |

### Verdict: [CORRECT / NEEDS CHANGES]

### Recommendations (if any)
| Priority | Change | Rationale |
|----------|--------|-----------|
| P1 | [Specific change] | [Reference to principle] |
| P2 | [Specific change] | [Reference to principle] |
```

## References

See `references/` for detailed UX principles:
- `balsamiq-button-principles.md` - Button design best practices
- `nielsen-heuristics.md` - 10 usability heuristics (to be added)

## Self-Monitoring

Before finalizing evaluation:
- [ ] All 3 dimensions analyzed (Position, Visual Weight, Spacing)
- [ ] Current state documented with specifics (not vague descriptions)
- [ ] Each recommendation references an authoritative source or convention
- [ ] Compared against industry conventions (GitHub, Stripe, etc.)
- [ ] Priorities assigned (P1/P2/P3) based on UX impact
- [ ] Verdict is clear and actionable

Overview

This skill evaluates UI components against UX best practices using a concise, evidence-based framework. It turns subjective design opinions into actionable recommendations that align with industry conventions like Nielsen heuristics and common patterns from major sites. Use it to reduce debate and prioritize changes that improve usability and discoverability.

How this skill works

The skill inspects three dimensions for any interface element: Position (placement and discoverability), Visual Weight (prominence and hierarchy), and Spacing (separation and touch targets). It documents the current state, compares it to conventions, and issues a verdict per dimension (OK / NEEDS CHANGE / ACCEPTABLE) with prioritized recommendations. Each recommendation references common patterns and authoritative guidelines to justify the change.

When to use it

  • When you ask to 'review UX', 'evaluate layout', or 'check button design'.
  • Before implementing interface changes that affect user flows or primary actions.
  • When button order, labels, or visual hierarchy feel unclear or inconsistent.
  • When navigation placement or utility controls (search, theme) might compete with CTAs.
  • When spacing or touch targets may impact mobile usability.

Best practices

  • Always evaluate Position, Visual Weight, and Spacing for every component.
  • Place primary actions to the right and secondary actions to the left in horizontal groups.
  • Make primary CTAs visually dominant (filled brand color), secondary subtle (outline/ghost).
  • Maintain consistent spacing: button groups ≥24px, between buttons 8–12px, mobile touch 44px min.
  • Reference a concrete convention (GitHub/Stripe/Google) when recommending changes.
  • Prioritize recommendations (P1 critical, P2 important, P3 polish) and give exact measurements.

Example use cases

  • Reviewing a modal with unclear primary/secondary button placement before release.
  • Checking navbar layout to ensure logo, primary nav, and utilities follow conventions.
  • Evaluating form layout for label placement, error visibility, and submit button position.
  • Assessing a dashboard toolbar where utility icons may be competing with CTAs.
  • Validating mobile button sizes and spacing to meet touch target recommendations.

FAQ

Does this skill handle color or typography critiques?

Only when they affect usability or hierarchy; pure aesthetic choices are out of scope.

What output format does the skill produce?

A structured evaluation describing current state, a per-dimension assessment, a clear verdict, and prioritized recommendations with rationale.