mcpField
D
design-review

design-review

github.com/pproenca设计与 UI220163 次安装11 周前更新
代码仓库

关于 design-review

design-review 是只读的 UI 代码审查技能,输出按影响排序的评议。它结合设计、无障碍和浏览器运行时检查,指出具体修改并说明原因。

主要功能

  1. 01以 Markdown 表格列出优先级问题
  2. 02支持静态代码与浏览器运行时审查
  3. 03检查层级、间距、字体和对比度
  4. 04审查无障碍、交互与导航
  5. 05提供具体修复及排名前三项

适用场景

  1. 01评议观感未完成的界面或组件
  2. 02审查 CSS、JSX 或 Tailwind 拉取请求
  3. 03检查无障碍与视觉细节
  4. 04在浏览器中测量交互或导航问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill design-review

安装后在 Claude Code 中输入/design-review确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
metadata.json
assets/templates/
_template.md
references/
_runtime-capture.md
_sections.md
access-name-icon-controls.md
access-respect-reduced-motion.md
access-semantic-elements.md
color-avoid-pure-black.md
color-hsl-scales.md
color-limit-accents.md
color-meet-contrast.md
color-not-only-signal.md
flow-consistent-shell.md
flow-entry-point-integrity.md
flow-preserve-state-on-nav.md
flow-wayfinding.md
hier-emphasis-color-weight.md
hier-one-focal-point.md
hier-one-primary-action.md
hier-replace-borders-with-space.md
hier-values-over-labels.md
interact-bridge-route-transitions.md
interact-feedback-spans-async.md
interact-move-focus-on-navigation.md
motion-ease-out-custom.md
motion-enter-origin-scale.md
motion-needs-purpose.md
motion-transform-opacity-only.md
motion-under-300ms.md

详细介绍

设计评审

对 UI 代码进行设计评审,并按优先级返回评估意见。评审视角遵循 Emil Kowalski 的设计工程理念——品味是差异化的关键;那些不易察觉的细节会不断累积;引导视线关注重点——并结合 Refactoring UI、WCAG 和 MDN 中的启发式原则,将其落实为具体评审标准。

这是一项只读评审技能:用于诊断问题并提出修复建议,不会改写代码库。每条发现都会指出代码采用了哪种不理想的默认做法、具体修复方案,以及问题的重要性。

适用场景

  • 用户要求“评审这个 UI”、进行“设计评审”或“批评”某个组件、屏幕或页面。
  • 用户表示输出“看起来不太对劲”“像 AI 生成的”“像线框图”或“感觉很普通”,并想了解原因。
  • PR 涉及 CSS/JSX/Tailwind,用户希望在合并前获得设计反馈。
  • 用户希望提升现有界面的视觉精致度或无障碍性。

不适用于从头构建 UI(使用 web-taste),也不适用于详尽的动画规则集(使用 emilkowal-animations)。

如何进行评审

**两种模式。**默认采用静态评审,即阅读代码。运行时评审还会驱动真实浏览器,测量代码本身无法体现的内容——动画时序和丢帧、布局偏移、实时焦点顺序和无障碍树,以及端到端点击完成的多页面流程。当评审结论取决于渲染行为时(motion-、interact- 和 flow- 类别),请切换到运行时评审,并参阅 runtime-capture.md。

  1. **了解界面——0.5 秒测试。**逐行阅读之前,先想象渲染后的屏幕。视线首先落在哪里?是否有单一的视觉焦点,还是所有内容的权重都相同?这有助于确定哪些类别对当前 UI 最重要。
  2. 按优先级顺序检查各类别(见下表)。对于代码中的每项设计决策,阅读对应的参考文件,并据此检查代码。视觉层级和间距是最常见、影响最大的问题——从这里开始。
  3. **对于多页面或由交互驱动的 UX,请在浏览器中走查。**如果需求描述的是一个流程(例如“评审这个新手引导流程”),或问题出现在动态交互中(卡顿、路由闪白、焦点丢失),请参阅 runtime-capture.md 获取运行时证据,确保 Before 栏中记录的是测量值,而非猜测。
  4. 将每个问题记录为一条发现,包含 Before(具体代码或测量值)、After(明确的修复方案)、Why(设计原则)以及结合上下文判定的严重程度。
  5. 最后给出评审结论:按影响程度排列最重要的 3 项修复建议,让作者知道应先修改什么。

输出格式(必需)

请将发现报告为单个 Markdown 表格,每个问题占一行。请勿将发现写成散文,也不要把 Before: / After: 分成单独的行。

严重程度修改前修改后原因
高transition: all 300ms ease-intransition: opacity 180ms cubic-bezier(0.23, 1, 0.32, 1)ease-in 会让进入动画显得迟缓;请指定属性,并使用明显的缓出曲线
高所有按钮都使用 bg-indigo-600一个实心主按钮;其他按钮使用幽灵或描边样式按钮权重相同会互相争抢注意力;设置一个主按钮可以让下一步一目了然
中在 #fff 背景上使用 color: #000color: hsl(222 47% 11%)纯黑比墨色更刺眼,视觉上显得生硬
严重<div onClick={remove}><button type="button" onClick={remove}>键盘无法访问 div,屏幕阅读器也无法识别

错误格式——切勿这样做:

Before: transition: all 300ms
After: transition: opacity 180ms ease-out
────────────────────────────
Before: color #000
After: color slate-900

严重程度指南(根据每项问题对当前 UI 的影响分配):

严重程度含义
严重破坏可用性或无障碍体验——对比度不达标、无法通过键盘访问、文本无法阅读
高明显损害设计——缺乏层次、间距拥挤、主操作互相争抢
中存在明显的细节瑕疵——使用默认缓动、行高统一、缺少按下反馈
低细微调整——某个值略微偏离比例尺度

最后请写:优先修复的 3 项——按作者应着手处理的顺序,列出影响最大的几项。

规则类别

#类别前缀涵盖内容
1视觉层次hier-焦点、强调手法、一个主操作、数值优先于标签、用留白替代边框
2间距与布局space-间距比例、充足留白、邻近分组、限制宽度
3排版type-字体比例、行长、行高、对齐、易读的正文
4颜色与对比度color-近黑色文本、WCAG 对比度、HSL 色阶、克制的强调色、颜色加提示
5组件状态与反馈state-按下反馈、可见焦点、完整的状态矩阵、空状态
6动效与动画motion-目的与频率、缓出曲线、低于 300ms、进入方向/缩放、仅使用变换
7响应式设计与触控resp-流式移动优先布局、44px 点击目标、限制悬停状态
8无障碍与语义access-语义元素、无障碍名称、减少动态效果
9流程与导航flow-应用外壳一致性、视图状态持久化、入口完整性、路径指引
10交互连贯性interact-衔接路由切换、异步反馈、导航时的焦点

快速参考

1. 视觉层次(hier-)
2. 间距与布局(space-)
3. 排版(type-)
4. 颜色与对比度(color-)
5. 组件状态与反馈(state-)
6. 动效与动画(motion-)

对于拖动、手势、弹簧效果、交错动画、clip-path 以及完整的时长/缓动表,请参考 emilkowal-animations 技能。

7. 响应式设计与触控(resp-)
8. 无障碍与语义(access-)
9. 流程与导航(flow-)

评审跨页面的体验,这是单屏评审无法发现的。请在浏览器中走查流程(runtime-capture.md)。

10. 交互连续性(interact-)

评估体验能否随时间推移和跨越不同状态保持连续——这是截图无法呈现的维度。最好结合捕获的跟踪记录(runtime-capture.md)进行评估。

使用方法

当代码审查中遇到相关决策时,请阅读对应的参考文件。每条规则都会指出要纠正的错误默认做法,然后展示规范修复方式(仅当错误做法确实容易造成问题时,才会对比错误与正确做法)。请在“Why”列中注明规则的标识符,以便作者进一步了解。

  • 运行时捕获 — 驱动真实浏览器(chrome-devtools-mcp),在静态阅读不足以判断时,测量动态效果、卡顿、焦点顺序和多页面流程
  • 章节定义 — 类别结构和顺序
  • 规则模板 — 用于添加新规则
  • AGENTS.md — 自动生成的所有规则目录

相关技能

  • emilkowal-animations — 全面的动画规则集(缓动、手势、弹簧、交错);本技能将动画细节交由它处理。
  • web-taste — 从零开始打造有品位的 React/Next/Tailwind UI(对应的构建指南)。
  • tailwind-ui-refactor — 将这些修复应用为 Tailwind 重构。
  • ui-design — 更广泛的构建阶段前端参考(Core Web Vitals、表单、深色模式)。对于两者重叠的内容(语义、对比度、焦点、单一主要操作),编写代码时请参考 ui-design,审查代码时请参考 design-review。

参考文件

文件描述
references/_runtime-capture.md浏览器驱动的捕获指南(通过 mcporter 使用 chrome-devtools-mcp)
references/_sections.md类别定义和排序
assets/templates/_template.md新规则模板
metadata.json版本和来源引用

评论

支持 Markdown