其他
当需要评估 UI 可用性时,用 Nielsen 10…
对指定 UI 做启发式评审,输出可粘贴到问题跟踪器的评分卡、按影响排序的发现和 0-100 的 UsabilityScore(judged 分数)。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 56/100 ×0.15
适用场景
当需要评估 UI 可用性时,用 Niel特定
解决思路
- 如果也安装了 `ui-craft` skill,先阅读其 SKILL.md,获取 Discovery + Anti-Slop + Craft Test,再应用本子技能这一视角。
- 对 `$ARGUMENTS` 指定的 UI 进行评分,对照 Nielsen 的 10 项启发式和 6 条设计法则。
- 加载 `ui-craft` skill。
- 阅读 `references/heuristics.md`,获取完整评分标准、评分定义、设计法则细节和要求的输出格式。
- 不要自行发明新格式或新量表。
- 逐项检查 Nielsen 的 10 项启发式,并按评分标准给每项打 1-5 分。
- 使用评分含义:1 = 阻断用户;2 = 严重摩擦;3 = 可用但令人困惑;4 = 可用,仅有小问题需打磨;5 = 同类最佳。
- 对每项启发式都写具体发现:引用文本、统计元素数量、指出断裂的流程。
- 拒绝模糊发现。
- 审计 6 条设计法则,对每条给 PASS / FAIL,并附具体细节。
- Fitts's Law:检查触控目标尺寸、CTA 位置。
- Hick's Law:检查选择密度、导航和 select 的规模。
- Doherty Threshold:检查感知延迟、乐观 UI。
- Cleveland-McGill:检查图表编码选择。
- Miller's Law:检查导航深度、表单区块数量。
- Tesler's Law:检查复杂性位于何处。
- 如果参数中包含 `--persona=<name>`,加载 `references/personas.md` 并运行匹配的 walkthrough checklist。
- 支持的人设:`priya`、`jordan`、`adaeze`、`kwame`、`margo`、`all`。
- 将 persona walkthrough 输出为表格:`| Checklist item | Pass/Fail | Finding | Impact |`。
- 如果没有 `--persona=` 标志,跳过 persona walkthrough 步骤。
- 按 impact tag 给发现排序。
- 影响顺序:`blocks-conversion > adds-friction > reduces-trust > minor-polish`。
- 排名列表最多包含 5 条发现;如果存在更高影响发现,就删去 `minor-polish` 的内容;仅当没有更高影响发现时才保留。
- 计算 UsabilityScore:按 `references/heuristics.md` 中的公式,把评分卡汇总为 0-100 数字 + 等级。
- 使用公式:`heuristic_base = round(((mean(nielsen_scores) − 1) / 4) × 100)`,再减去 `5 × (failed design laws)`,并 clamp 到 `[0,100]`。
- 使用与 UICraftScore 相同的 A/B/C/D/F 等级区间。
- 始终将 UsabilityScore 标注为 `(judged)`;它不是确定性的,绝不能用于 gate CI。
- 如果参数中包含 `--json`,额外输出机器可读块。
- 如果用户要求完整视图,构建 Extended quality report:获取确定性 UICraftScore(运行 `node scripts/eval.mjs <path> --json` 或使用 `score_ui` MCP tool),并将两者并排展示;绝不对二者取平均。
- 输出时使用 `references/heuristics.md` 中的精确 scorecard 格式。
- 输出第 1 部分:`## Heuristic Scorecard` 表格。
- 输出第 2 部分:`## Design Law Audit` 表格。
- 输出第 3 部分:`## Persona Walkthrough` 表格(仅当传入 `--persona=` 时)。
- 输出第 4 部分:`## Top findings (ranked by impact)` —— 编号列表,3-5 项。
- 输出第 5 部分:`## UsabilityScore` 块 —— 0-100 分 + 等级 + 组成部分拆解。
- 保持 knob-agnostic:可用性不是 knob,`CRAFT_LEVEL` 是 3 还是 9,2 分就是 2 分。
- 不要因为 `CRAFT_LEVEL` 而软化评分。
- 本命令产出 critique artifact,不是代码。
- 除非用户在后续明确要求,否则不要做编辑。
- scorecard 使用机器可解析 markdown;PM 可粘贴到任何 issue tracker,并按行提交 ticket;在 preamble 中这样说明。
- 不要写 「First Impressions」 段落,不要模棱两可,不要赞美填充;只输出表格 + 排名列表。
- 不要编辑代码;这是带评分的 critique。
- 下一步:修复发现的问题,然后运行 `/finalize` —— scorecard 是受控发布(rung 3)的输入。
适用边界 · 注意事项
- 不适用于需要直接改代码或实现修复的任务;除非用户在后续明确要求,否则只产出评审 artifact。
- 不适用于把 UsabilityScore 当作确定性 CI 门禁;它是 `(judged)`,绝不能 gate CI。
- 不适用于未安装 `ui-craft`/缺少 `references/heuristics.md` 等依赖文件的场景;也禁止自行发明评分格式或量表。