mcpbeat

Nielsen Heuristics

glebis/nielsen-heuristics

This skill should be used to run a formal heuristic evaluation of a design artifact against Jakob Nielsen's 10 usability heuristics, producing an evidence-backed, severity-scored report. Use it when the user wants a "heuristic evaluation", "usability review", "Nielsen heuristics check", "UX heuristic audit", or asks whether a screenshot, live URL, HTML page, codebase UI, interface description, or JTBD/spec document holds up against usability principles. Accepts five input types (screenshot/image, live URL, codebase/HTML, interface description, JTBD/spec doc) and adapts its rigor and output honestly to what is actually observable. Can render the report as plain markdown (default) or as a Tufte-style HTML report, and can export findings above a severity threshold as Linear or Beads (bd) tasks after confirmation.

317k tokens
context cost
the whole folder, loaded on every use
7
files
instructions only
0
copies elsewhere
how many repositories repackaged it
337
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/glebis/claude-skills --skill nielsen-heuristics

What comes with it

1 262 333 bytes besides the instruction
assets/jakob-nielsen.png
references/artifact-guide.md
references/heuristics.md
references/report-template.md
references/task-export.md
references/tufte-preset.md

The instruction itself

8 sections, as written by the author

Nielsen Heuristics Validator

> Mascot: assets/jakob-nielsen.png — a line-art portrait of Jakob Nielsen. Surface it (embed or attach) when producing a rendered/HTML report or a shareable summary, as the evaluation's signature. It is an output asset, not context to read while evaluating.

Run a rigorous, evidence-disciplined heuristic evaluation against Jakob Nielsen's 10 usability heuristics (Nielsen & Molich 1990, refined 1994). The value over an ad-hoc "critique this UI" prompt is a consistent rubric plus honesty guards: sharp per-heuristic probes, a per-finding severity scale, a mandatory evidence-locator requirement, and correct handling of artifacts that have no observable interface.

Scope guard (read first)

This skill does ONE thing: a formal heuristic inspection. It does NOT run a parallel accessibility (WCAG) audit, performance audit, or general design critique. Flag an accessibility issue only when it is also a heuristic violation (e.g., an invisible focus state violates H1: visibility of system status). If the user wants comprehensive multi-dimension auditing, defer to the impeccable:audit skill instead.

Step 1 — Detect artifact type and select a mode

Heuristic evaluation is an inspection of an *interface*. Some inputs have one to observe; some only describe one that does not yet exist. Detect the input type, then announce the mode and why.

Evaluation mode (observable interface → findings are severity-scored):

  • Screenshot / image — read it visually.
  • Live URL — drive it with browser tools to observe states and flows.
  • Codebase / HTML page — grep and read the UI source.

Design-risk review mode (interface described but not built → findings are UNSCORED risk flags):

  • Interface description (text/markdown).
  • JTBD / spec document.

Never assign a 0–4 severity to a pure spec or JTBD doc — there is no running system to observe, so a number would be speculation dressed as measurement. Reframe the question as *"which heuristics does this design direction put at risk when built."*

See references/artifact-guide.md for how to ingest each type, which heuristics are assessable vs. N/A for it, and which mode applies.

Step 2 — Inventory (mandatory, before judging)

Enumerate the concrete units that will be examined BEFORE forming any finding. This is the structural safeguard against shallow, agreeable output.

  • Evaluation mode: list the screens, key elements, and flows observed.
  • Design-risk mode: list the spec sections / described flows.

Walk this inventory in Step 3. Do not evaluate from vibes.

Step 3 — Walk all 10 heuristics

Load references/heuristics.md for the definition, "what to look for" probes, common violations, and the 0–4 severity rubric. For EACH of the 10 heuristics:

  • Produce zero or more findings (not exactly one — real evaluations have zero for some heuristics and several for others).
  • Every finding MUST cite an evidence locator. Unevidenced findings are disallowed. A locator is one of: a described screenshot region, a DOM element/CSS selector, a file:line reference, a quoted sentence from the spec, or the specific URL interaction performed.
  • In evaluation mode, assign a severity 0–4 per finding. In design-risk mode, mark each as an unscored risk flag ("potential, unverified").
  • If a heuristic is not assessable from this artifact (e.g., undo/redo on a static screenshot), mark it N/A and state why.
  • If a heuristic has no findings, state what was checked ("checked X, Y, Z — no issues") — never silently bless it.

Step 4 — Emit the report (choose an output format)

Findings are always grouped by heuristic with a max-severity rollup, followed by Top-3 prioritized fixes and the Verdict. Two render targets:

  • markdown (default) — emit inline using references/report-template.md. Use this unless the user asks for a rendered/shareable report.
  • tufte — a Tufte-style standalone HTML report. Follow references/tufte-preset.md: build the structured findings first, then invoke the tufte-report skill with that preset (which maps findings onto its strip-chart / status-strip / flyout blocks and uses assets/jakob-nielsen.png as the hero). Trigger when the user says "tufte report", "HTML report", "shareable report", or "make it pretty".

Select the format from the user's request; if ambiguous and they only said "report", default to markdown.

Verdict (scoped — never "ready to ship")

A single evaluator finds only ~1/3 of usability problems (Nielsen); 3–5 evaluators are recommended for confidence. The verdict must carry this caveat and use these defined levels (evaluation mode):

  • Blockers present — one or more severity-4 findings.
  • Major issues — one or more severity-3, none at 4.
  • Minor issues only — nothing above severity-2.
  • No blockers found in heuristic inspection — clean pass, with the explicit single-evaluator caveat.

Design-risk mode produces a risk summary (which heuristics are most at risk, and what to specify to de-risk them) instead of a scored verdict — there are no severities to roll up.

Step 5 — Export findings as tasks (optional)

When the user asks to "create tasks", "file these", "make Linear issues", "open beads", etc., turn qualifying findings into tracker issues. Follow references/task-export.md for the exact command templates and field mapping.

Rules (all defaults overridable per run):

  • Threshold: default severity ≥ 3 (Major + Catastrophe). The user may set another (≥ 4, ≥ 2). In design-risk mode there are no severities — only export flags the user explicitly selects or the "highest-risk" flags named in the risk summary, and say so.
  • Propose, then confirm (mandatory gate): first print the list of tasks that WOULD be created — title, severity, target tracker, and the heuristic — and ask for confirmation. Create nothing until the user approves. This gate is required for Linear (outward-facing/cloud); keep it for Beads too.
  • Target: Linear (linear CLI, cloud) or Beads (bd CLI, local/per-repo). Ask which if unspecified. Beads requires being inside the target repo (its .beads dir); confirm the repo before creating.
  • One task per finding, titled [H<n>] <short finding>, with the evidence locator, fix, and severity in the body. Map severity → tracker priority per references/task-export.md.
  • After creation, report back the created issue IDs/URLs.

How to use it

Copy the folder

Take glebis/nielsen-heuristics from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.