Files
pbakaus_impeccable/source/skills/impeccable/reference/heuristics-scoring.md
T
Paul BakausandClaude Opus 4.6 b0f44f83c6 Consolidate 18 skills into 1 /impeccable skill with 20 commands
Biggest change in a while. Users previously had 18 standalone skill
entries cluttering their /menu; now they have one entry (/impeccable)
that routes to 20 specialized commands via argument dispatch. The pin
mechanism (/impeccable pin audit) restores standalone shortcuts on
demand for commands users hit all the time.

## Architecture

- Single /impeccable skill with command router section in SKILL.md
- 20 commands served via reference files under source/skills/impeccable/reference/
- /impeccable pin <command> creates a lightweight redirect shim so users
  who prefer /audit, /polish, etc. can still have them
- Context gathering (teach) auto-runs on first use
- command-metadata.json is the single source of truth for command
  descriptions, argument hints, and relationships

## Site rewrite

- Docs URL: /skills renamed to /docs (with /skills permanent redirects)
- Homepage hero frames Impeccable as "one skill with 20 commands"
- "Get Started" split into 50/50 install + how-to-use with editorial
  numbered steps, /impeccable shown as the home command with three modes
- New /docs overview: home command hero card + dense category rows
  matching the old cheatsheet density, with leads-to/pairs-with/
  combines-with relationship metadata served from a shared source
- Cheatsheet merged into /docs, /cheatsheet redirects
- Magazine spread and mobile cards show /impeccable as a stacked
  namespace label above the command name at full display size
- Periodic table updated with craft/teach/extract as first-class cells
- Skill detail pages generate from reference files, with an editorial
  wrapper per command for tagline + body
- Tutorials and anti-patterns pages updated to use /impeccable <cmd>

## Build system

- Dead code removed (scripts/lib/transformers/shared.js)
- Build log wording fixed ("1 skill" not "1 skills (1 user-invocable)")
- generateApiData fallback branch removed (throws loudly if metadata
  missing instead of silently degrading)
- Commands API includes editorial tagline alongside the long description;
  UI surfaces prefer tagline for human display, description for auto-
  trigger keyword matching

## Gitignore

- Added .claude/scheduled_tasks.lock, .claude/settings.local.json to
  ignore list (local Claude Code state that should not be tracked).
- Harness skill directories (.claude/skills/, .agents/skills/, etc.)
  remain tracked by design: npx skills reads them from this repo at
  install time and they enable clean submodule use.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 19:45:17 -07:00

8.7 KiB
Raw Blame History

Heuristics Scoring Guide

Score each of Nielsen's 10 Usability Heuristics on a 04 scale. Be honest — a 4 means genuinely excellent, not "good enough."

Nielsen's 10 Heuristics

1. Visibility of System Status

Keep users informed about what's happening through timely, appropriate feedback.

Check for:

  • Loading indicators during async operations
  • Confirmation of user actions (save, submit, delete)
  • Progress indicators for multi-step processes
  • Current location in navigation (breadcrumbs, active states)
  • Form validation feedback (inline, not just on submit)

Scoring:

Score Criteria
0 No feedback — user is guessing what happened
1 Rare feedback — most actions produce no visible response
2 Partial — some states communicated, major gaps remain
3 Good — most operations give clear feedback, minor gaps
4 Excellent — every action confirms, progress is always visible

2. Match Between System and Real World

Speak the user's language. Follow real-world conventions. Information appears in natural, logical order.

Check for:

  • Familiar terminology (no unexplained jargon)
  • Logical information order matching user expectations
  • Recognizable icons and metaphors
  • Domain-appropriate language for the target audience
  • Natural reading flow (left-to-right, top-to-bottom priority)

Scoring:

Score Criteria
0 Pure tech jargon, alien to users
1 Mostly confusing — requires domain expertise to navigate
2 Mixed — some plain language, some jargon leaks through
3 Mostly natural — occasional term needs context
4 Speaks the user's language fluently throughout

3. User Control and Freedom

Users need a clear "emergency exit" from unwanted states without extended dialogue.

Check for:

  • Undo/redo functionality
  • Cancel buttons on forms and modals
  • Clear navigation back to safety (home, previous)
  • Easy way to clear filters, search, selections
  • Escape from long or multi-step processes

Scoring:

Score Criteria
0 Users get trapped — no way out without refreshing
1 Difficult exits — must find obscure paths to escape
2 Some exits — main flows have escape, edge cases don't
3 Good control — users can exit and undo most actions
4 Full control — undo, cancel, back, and escape everywhere

4. Consistency and Standards

Users shouldn't wonder whether different words, situations, or actions mean the same thing.

Check for:

  • Consistent terminology throughout the interface
  • Same actions produce same results everywhere
  • Platform conventions followed (standard UI patterns)
  • Visual consistency (colors, typography, spacing, components)
  • Consistent interaction patterns (same gesture = same behavior)

Scoring:

Score Criteria
0 Inconsistent everywhere — feels like different products stitched together
1 Many inconsistencies — similar things look/behave differently
2 Partially consistent — main flows match, details diverge
3 Mostly consistent — occasional deviation, nothing confusing
4 Fully consistent — cohesive system, predictable behavior

5. Error Prevention

Better than good error messages is a design that prevents problems in the first place.

Check for:

  • Confirmation before destructive actions (delete, overwrite)
  • Constraints preventing invalid input (date pickers, dropdowns)
  • Smart defaults that reduce errors
  • Clear labels that prevent misunderstanding
  • Autosave and draft recovery

Scoring:

Score Criteria
0 Errors easy to make — no guardrails anywhere
1 Few safeguards — some inputs validated, most aren't
2 Partial prevention — common errors caught, edge cases slip
3 Good prevention — most error paths blocked proactively
4 Excellent — errors nearly impossible through smart constraints

6. Recognition Rather Than Recall

Minimize memory load. Make objects, actions, and options visible or easily retrievable.

Check for:

  • Visible options (not buried in hidden menus)
  • Contextual help when needed (tooltips, inline hints)
  • Recent items and history
  • Autocomplete and suggestions
  • Labels on icons (not icon-only navigation)

Scoring:

Score Criteria
0 Heavy memorization — users must remember paths and commands
1 Mostly recall — many hidden features, few visible cues
2 Some aids — main actions visible, secondary features hidden
3 Good recognition — most things discoverable, few memory demands
4 Everything discoverable — users never need to memorize

7. Flexibility and Efficiency of Use

Accelerators — invisible to novices — speed up expert interaction.

Check for:

  • Keyboard shortcuts for common actions
  • Customizable interface elements
  • Recent items and favorites
  • Bulk/batch actions
  • Power user features that don't complicate the basics

Scoring:

Score Criteria
0 One rigid path — no shortcuts or alternatives
1 Limited flexibility — few alternatives to the main path
2 Some shortcuts — basic keyboard support, limited bulk actions
3 Good accelerators — keyboard nav, some customization
4 Highly flexible — multiple paths, power features, customizable

8. Aesthetic and Minimalist Design

Interfaces should not contain irrelevant or rarely needed information. Every element should serve a purpose.

Check for:

  • Only necessary information visible at each step
  • Clear visual hierarchy directing attention
  • Purposeful use of color and emphasis
  • No decorative clutter competing for attention
  • Focused, uncluttered layouts

Scoring:

Score Criteria
0 Overwhelming — everything competes for attention equally
1 Cluttered — too much noise, hard to find what matters
2 Some clutter — main content clear, periphery noisy
3 Mostly clean — focused design, minor visual noise
4 Perfectly minimal — every element earns its pixel

9. Help Users Recognize, Diagnose, and Recover from Errors

Error messages should use plain language, precisely indicate the problem, and constructively suggest a solution.

Check for:

  • Plain language error messages (no error codes for users)
  • Specific problem identification ("Email is missing @" not "Invalid input")
  • Actionable recovery suggestions
  • Errors displayed near the source of the problem
  • Non-blocking error handling (don't wipe the form)

Scoring:

Score Criteria
0 Cryptic errors — codes, jargon, or no message at all
1 Vague errors — "Something went wrong" with no guidance
2 Clear but unhelpful — names the problem but not the fix
3 Clear with suggestions — identifies problem and offers next steps
4 Perfect recovery — pinpoints issue, suggests fix, preserves user work

10. Help and Documentation

Even if the system is usable without docs, help should be easy to find, task-focused, and concise.

Check for:

  • Searchable help or documentation
  • Contextual help (tooltips, inline hints, guided tours)
  • Task-focused organization (not feature-organized)
  • Concise, scannable content
  • Easy access without leaving current context

Scoring:

Score Criteria
0 No help available anywhere
1 Help exists but hard to find or irrelevant
2 Basic help — FAQ or docs exist, not contextual
3 Good documentation — searchable, mostly task-focused
4 Excellent contextual help — right info at the right moment

Score Summary

Total possible: 40 points (10 heuristics × 4 max)

Score Range Rating What It Means
3640 Excellent Minor polish only — ship it
2835 Good Address weak areas, solid foundation
2027 Acceptable Significant improvements needed before users are happy
1219 Poor Major UX overhaul required — core experience broken
011 Critical Redesign needed — unusable in current state

Issue Severity (P0P3)

Tag each individual issue found during scoring with a priority level:

Priority Name Description Action
P0 Blocking Prevents task completion entirely Fix immediately — this is a showstopper
P1 Major Causes significant difficulty or confusion Fix before release
P2 Minor Annoyance, but workaround exists Fix in next pass
P3 Polish Nice-to-fix, no real user impact Fix if time permits

Tip: If you're unsure between two levels, ask: "Would a user contact support about this?" If yes, it's at least P1.