heuristic

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<!-- HARNESS MIRROR — do not edit here. Canonical source: skills/ or commands/. After editing source, copy into cli/assets/<harness>/ and repo-root harness mirrors. -->
Context: this sub-skill is one lens of the broader
ui-craft
skill. If the
ui-craft
skill is also installed, read its SKILL.md first for Discovery + Anti-Slop + Craft Test, then apply the specific lens below.
Score the UI at
$ARGUMENTS
against Nielsen's 10 + 6 design laws. Load the
ui-craft
skill.
Step 1 — Load the methodology. Read
references/heuristics.md
for the full rubric, scoring definitions, design law details, and the required output format. Do NOT invent a new format or a new scale.
Step 2 — Walk Nielsen's 10 heuristics. Score each 1-5 per the rubric:
  • 1 blocks users · 2 severe friction · 3 works but confusing · 4 works, minor polish · 5 best-in-class
For every heuristic, write a concrete finding — quote text, count elements, name the broken flow. Vague findings are rejected.
Step 3 — Audit the 6 design laws. PASS / FAIL each with a specific detail:
  • Fitts's Law — touch target sizing, CTA placement
  • Hick's Law — choice density, nav + select sizing
  • Doherty Threshold — perceived latency, optimistic UI
  • Cleveland-McGill — chart encoding choice
  • Miller's Law — nav depth, form section counts
  • Tesler's Law — where complexity lives
Step 4 — Persona walkthrough (if
--persona=
present).
If the args include
--persona=<name>
, load
references/personas.md
and run the matching walkthrough checklist. Supported:
priya
,
jordan
,
adaeze
,
kwame
,
margo
,
all
. Output the walkthrough as a
| Checklist item | Pass/Fail | Finding | Impact |
table. Without the flag, skip this step.
Step 5 — Rank findings by impact tag. Impact order:
blocks-conversion > adds-friction > reduces-trust > minor-polish
. Include at most 5 findings in the ranked list; cut anything at
minor-polish
unless there are no higher-impact findings.
Step 6 — Compute the UsabilityScore. Roll the scorecard into a 0-100 number + grade per the UsabilityScore formula in
references/heuristics.md
:
heuristic_base = round(((mean(nielsen_scores) − 1) / 4) × 100)
, minus
5 × (failed design laws)
, clamped [0,100]. Same A/B/C/D/F bands as UICraftScore. Always label it
(judged)
— it is not deterministic and must never gate CI. If the args include
--json
, also emit the machine-readable block. If the user asks for the full picture, build the Extended quality report by fetching the deterministic UICraftScore (
node scripts/eval.mjs <path> --json
or the
score_ui
MCP tool) and placing both side by side — never average them.
Step 7 — Output. Use the exact scorecard format in
references/heuristics.md
:
  1. ## Heuristic Scorecard
    table
  2. ## Design Law Audit
    table
  3. ## Persona Walkthrough
    table (only if
    --persona=
    was passed)
  4. ## Top findings (ranked by impact)
    — numbered list, 3-5 items
  5. ## UsabilityScore
    block — the 0-100 score + grade + component breakdown
Knob awareness: knob-agnostic. Usability is not a knob — a 2 is a 2 whether
CRAFT_LEVEL
is 3 or 9. Do not soften scores based on
CRAFT_LEVEL
.
Output contract:
  • This command produces a critique artifact, not code. No edits unless the user explicitly asks in a follow-up.
  • The scorecard is machine-parseable markdown. A PM can paste it into any issue tracker and file tickets row-by-row. Frame it that way in any preamble.
  • No "First Impressions" paragraph, no hedging, no praise padding. Tables + ranked list only.
Do NOT edit code. This is a scored critique.
Next step: Fix the findings, then
/finalize
— the scorecard is the input to a gated ship (rung 3).
<!-- HARNESS MIRROR — 请勿在此编辑。官方源文件路径:skills/ 或 commands/。编辑源文件后,复制到 cli/assets/<harness>/ 以及仓库根目录的 harness 镜像目录中。 -->
背景: 此子技能是更宽泛的
ui-craft
技能的一个分析维度。如果同时安装了
ui-craft
技能,请先阅读其SKILL.md中的Discovery、Anti-Slop和Craft Test相关内容,再应用以下特定分析维度。
依据尼尔森10+6设计法则对
$ARGUMENTS
指定的UI进行评分。加载
ui-craft
技能。
步骤1 — 加载方法论。 阅读
references/heuristics.md
获取完整评分规则、评分定义、设计法则详情以及要求的输出格式。请勿发明新的格式或评分尺度。
步骤2 — 梳理尼尔森10项启发式原则。 按照评分规则为每项打1-5分:
  • 1 阻碍用户操作 · 2 严重阻碍 · 3 可用但易混淆 · 4 可用,需小幅优化 · 5 业界领先
针对每一项启发式原则,撰写具体的发现——引用文本、统计元素数量、指出有问题的流程。模糊的发现不予通过。
步骤3 — 审核6项设计定律。 每项判定为PASS / FAIL,并附上具体细节:
  • 菲茨定律 — 触摸目标尺寸、CTA位置
  • 希克定律 — 选择密度、导航与选择器尺寸
  • 多尔蒂阈值 — 感知延迟、乐观UI
  • 克利夫兰-麦吉尔法则 — 图表编码选择
  • 米勒定律 — 导航深度、表单分区数量
  • 泰斯勒定律 — 复杂度的承载位置
步骤4 — 用户角色走查(如果存在
--persona=
参数)。
如果参数中包含
--persona=<name>
,加载
references/personas.md
并执行对应的走查清单。支持的角色:
priya
、
jordan
、
adaeze
、
kwame
、
margo
、
all
。将走查结果输出为
| 检查项 | 通过/失败 | 发现 | 影响 |
格式的表格。没有该参数则跳过此步骤。
步骤5 — 按影响标签对发现结果排序。 影响优先级顺序:
blocks-conversion > adds-friction > reduces-trust > minor-polish
。排序列表中最多包含5项发现;除非没有更高影响的发现,否则剔除所有
minor-polish
级别的内容。
步骤6 — 计算UsabilityScore。 根据
references/heuristics.md
中的UsabilityScore公式,将记分卡结果换算为0-100的分数和等级:
heuristic_base = round(((mean(nielsen_scores) − 1) / 4) × 100)
,再减去
5 × (未通过的设计定律数量)
,最终分数限制在[0,100]区间内。等级划分与UICraftScore相同,采用A/B/C/D/F五级制。始终为其标注
(judged)
——它不是确定性的,绝不能用于CI门禁。如果参数中包含
--json
,还需输出机器可读的代码块。如果用户要求完整视图,通过获取确定性的UICraftScore(使用
node scripts/eval.mjs <path> --json
命令或
score_ui
MCP工具)生成扩展质量报告,将两个分数并列展示——绝对不要取平均值。
步骤7 — 输出。 严格遵循
references/heuristics.md
中规定的记分卡格式:
  1. ## 启发式记分卡
    表格
  2. ## 设计定律审核
    表格
  3. ## 用户角色走查
    表格(仅当传入
    --persona=
    参数时展示)
  4. ## 核心发现(按影响排序)
    —— 编号列表,包含3-5项
  5. ## UsabilityScore
    模块 —— 0-100分分数 + 等级 + 组成明细
旋钮感知: 与旋钮无关。可用性不是可调节的旋钮——无论
CRAFT_LEVEL
是3还是9,2分就是2分。请勿根据
CRAFT_LEVEL
放宽评分标准。
输出约定:
  • 此命令生成的是评估产物,而非代码。除非用户在后续对话中明确要求,否则不要进行任何修改。
  • 记分卡是机器可解析的Markdown格式。产品经理可以将其粘贴到任何问题跟踪系统中,逐行创建工单。在任何前言中都要以此为前提进行表述。
  • 不要有“第一印象”之类的段落,不要模棱两可,不要堆砌赞美之词。仅包含表格和排序列表。
请勿修改代码。这是一份带评分的评估报告。
下一步: 修复发现的问题,然后执行
/finalize
——记分卡是门禁发布(第3级)的输入。