Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Conduct heuristic evaluation of user interfaces using Nielsen's 10 usability principles. Use this skill when the user needs to audit a website, app, or interface for usability issues, prioritize UX improvements, or conduct a quick expert review without user testing — even if they say 'review this UI', 'find usability problems', or 'why do users struggle with our app'.
.claude/skills/asgard-ai-platform-ux-heuristic/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 59% | 0% |
Heuristic evaluation is an expert review method that assesses a user interface against established usability principles. It's fast (2-4 hours), cheap (no user recruitment), and finds 40-60% of usability issues. Use it as a complement to, not replacement for, user testing.
IRON LAW: Every Violation Gets a Severity Rating
Finding a violation is half the work. Rating its severity is the other half.
A cosmetic inconsistency and a critical workflow blocker are both "violations"
but require completely different response urgency.
0 = Not a usability problem
1 = Cosmetic only — fix if time permits
2 = Minor — low priority
3 = Major — important to fix, high priority
4 = Catastrophe — must fix before release| # | Heuristic | Question to Ask | |---|-----------|----------------| | 1 | Visibility of system status | Does the user always know what's happening? (loading indicators, progress bars, confirmations) | | 2 | Match between system and real world | Does it use the user's language, not system jargon? Are conventions familiar? | | 3 | User control and freedom | Can users undo, redo, go back, cancel? Is there an emergency exit? | | 4 | Consistency and standards | Are the same actions/words used consistently? Does it follow platform conventions? | | 5 | Error prevention | Does the design prevent errors before they happen? (confirmations, constraints, defaults) | | 6 | Recognition rather than recall | Are options visible? Can users recognize rather than remember? | | 7 | Flexibility and efficiency of use | Are there shortcuts for experts? Can users customize frequent actions? | | 8 | Aesthetic and minimalist design | Is every element necessary? Does extra information compete with relevant info? | | 9 | Help users recognize, diagnose, and recover from errors | Are error messages helpful? Do they explain what went wrong and how to fix it? | | 10 | Help and documentation | Is help available? Is it searchable, task-oriented, and concise? |
markdown# Heuristic Evaluation: {Product/Feature} ## Summary - Total violations found: {N} - Severity 4 (catastrophe): {N} - Severity 3 (major): {N} - Severity 2 (minor): {N} - Severity 1 (cosmetic): {N} ## Critical Issues (Severity 3-4) | # | Location | Heuristic | Issue | Severity | Recommendation | |---|----------|-----------|-------|----------|---------------| | 1 | {screen/element} | {#N: name} | {description} | 3/4 | {fix} | ## Other Issues (Severity 1-2) | # | Location | Heuristic | Issue | Severity | |---|----------|-----------|-------|----------| | ... | ... | ... | ... | ... |
Scenario: Evaluating a food delivery app checkout flow
| Location | Heuristic | Issue | Severity | |----------|-----------|-------|----------| | Cart page | #1 Visibility | No loading indicator when adding items — user taps multiple times | 3 | | Payment | #5 Error prevention | No confirmation before placing order — accidental orders happen | 4 | | Error screen | #9 Error recovery | "Error 500" with no explanation or retry button | 4 | | Address form | #6 Recognition | User must type full address instead of selecting from saved addresses | 2 |
Priority: Fix #5 and #9 immediately (severity 4) ✓
references/wcag-checklist.md| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 20,175 | 46,082 | +128% | 1 | 1 | 0% | 3,047 | 4,014 | +32% | 0 | 0 | — |
case-02 | fail→pass | 26,033 | 11,287 | -57% | 1 | 1 | 0% | 4,106 | 3,442 | -16% | 0 | 0 | — |
case-03 | fail→pass | 56,154 | 14,088 | -75% | 1 | 1 | 0% | 3,894 | 3,285 | -16% | 0 | 0 | — |
case-04 | fail→pass | 10,705 | 4,854 | -55% | 1 | 1 | 0% | 1,807 | 1,950 | +8% | 0 | 0 | — |
case-05 | fail→pass | 12,066 | 12,140 | +1% | 1 | 1 | 0% | 2,127 | 3,038 | +43% | 0 | 0 | — |
case-06 | pass→pass | 10,829 | 9,276 | -14% | 1 | 1 | 0% | 1,795 | 2,505 | +40% | 0 | 0 | — |
case-07 | pass→pass | 11,571 | 8,450 | -27% | 1 | 1 | 0% | 1,587 | 2,652 | +67% | 0 | 0 | — |
case-08 | fail→fail | 9,172 | 6,394 | -30% | 1 | 1 | 0% | 1,242 | 2,309 | +86% | 0 | 0 | — |
case-09 | pass→pass | 13,399 | 6,507 | -51% | 1 | 1 | 0% | 1,809 | 2,278 | +26% | 0 | 0 | — |
case-10 | pass→pass | 13,132 | 10,646 | -19% | 1 | 1 | 0% | 2,181 | 2,544 | +17% | 0 | 0 | — |
case-11 | fail→pass | 12,184 | 8,491 | -30% | 1 | 1 | 0% | 1,689 | 2,682 | +59% | 0 | 0 | — |
case-12 | pass→pass | 12,862 | 28,386 | +121% | 1 | 1 | 0% | 2,103 | 3,753 | +78% | 0 | 0 | — |
case-13 | pass→pass | 12,719 | 15,048 | +18% | 1 | 1 | 0% | 1,898 | 3,145 | +66% | 0 | 0 | — |
case-14 | pass→pass | 16,932 | 13,492 | -20% | 1 | 1 | 0% | 2,470 | 2,866 | +16% | 0 | 0 | — |
case-15 | pass→pass | 15,703 | 17,303 | +10% | 1 | 1 | 0% | 2,288 | 3,726 | +63% | 0 | 0 | — |
case-16 | fail→pass | 8,622 | 4,694 | -46% | 1 | 1 | 0% | 1,387 | 2,070 | +49% | 0 | 0 | — |
case-17 | fail→pass | 19,483 | 16,492 | -15% | 1 | 1 | 0% | 3,205 | 3,485 | +9% | 0 | 0 | — |
case-18 | pass→pass | 9,898 | 9,598 | -3% | 1 | 1 | 0% | 1,688 | 2,802 | +66% | 0 | 0 | — |
case-19 | pass→fail | 11,530 | 7,836 | -32% | 1 | 1 | 0% | 1,822 | 2,532 | +39% | 0 | 0 | — |
case-20 | pass→pass | 7,142 | 6,396 | -10% | 1 | 1 | 0% | 1,044 | 2,228 | +113% | 0 | 0 | — |
case-21 | pass→pass | 22,008 | 23,188 | +5% | 1 | 1 | 0% | 2,964 | 4,433 | +50% | 0 | 0 | — |
case-22 | pass→pass | 20,636 | 24,089 | +17% | 1 | 1 | 0% | 2,958 | 4,698 | +59% | 0 | 0 | — |
case-23 | pass→pass | 21,119 | 26,398 | +25% | 1 | 1 | 0% | 3,670 | 4,941 | +35% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +26 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.