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.
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.
Triggers:
Do NOT use for:
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? |
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)
Position:
Visual Weight:
Spacing:
Labels:
Position:
Visual Weight:
Spacing:
Position:
Visual Weight:
Spacing:
| Site | Pattern |
|---|---|
| GitHub | [Sign In] [Sign Up] - secondary left, primary right |
| Stripe | [Sign In] [Start now →] - secondary left, primary right |
| [Sign In] [Create account] - same pattern | |
| Notion | [Log in] [Get Notion free] - same pattern |
Verdict: Secondary LEFT, Primary RIGHT is the standard.
| 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.
| 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.
When evaluating a component, produce this structured output:
## [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] |
See references/ for detailed UX principles:
balsamiq-button-principles.md - Button design best practicesnielsen-heuristics.md - 10 usability heuristics (to be added)Before finalizing evaluation: