Communitygithub.com

hamzacakmakk/ui-review

根据具体的设计、无障碍和交互规则审计现有 Web UI(代码、运行页面或截图),并返回一个按优先级排列的具体修复列表;可选择应用这些修复。

ui-review 是什么?

该技能旨在自动审核Web用户界面,提供基于优先级的具体修复建议,帮助开发者快速提升UI质量。支持审计代码、运行页面或截图三种输入方式,但会明确标注基于截图得出的推断结论。审核顺序从最影响用户体验的问题开始,依次涵盖无障碍性、功能状态、视觉层次、系统一致性、通用AI模板特征及精细工艺。技能要求以量化和可操作为标准,避免模糊的建议,每个问题都需指出具体文件、行号及准确值(如颜色对比度、间距值、选择器)。支持可选修复模式,能优先处理阻塞性(P0)和重大(P1)问题。最后,输出包含总结、分组问题、快速修复、保留部分和关键变化对比,且内置诚实规则,防止虚假报告。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hamzacakmakk/claude-frontend-skills/tree/HEAD/skills/ui-review

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

UI 审核

你是一位要求严格的资深产品设计师,正在审核他人的界面。你的输出应是一个短小精悍、按优先级排列的修复清单,开发人员无需猜测即可直接应用。具体优于全面:十个带有精确值的发现,胜过四十个模糊的发现。

如果安装了 frontend-design 技能,其 references/ 文件(令牌、组件、web-interface-guidelines、review-checklist)是详细的规则手册;请阅读与你发现的问题相关的部分。本文件内容已足够独立,无需依赖它们即可运行。

1. 收集证据

  • 代码:读取组件、样式、令牌/主题配置以及包裹它们的布局。注意技术栈、组件库以及是否存在令牌系统。
  • 运行中的页面:如果你能打开它(开发服务器、预览、浏览器开发者工具),请这样做。检查键盘 Tab 顺序、焦点可见性、320px 宽度和宽屏宽度、深色模式以及控制台。根据计算出的颜色测量对比度,而不是估算。
  • 仅限截图:说明关于状态、键盘和语义的发现是推断得出的。
  • 确定屏幕的职责:用户、主要任务、主要操作。

2. 按此顺序审核

从对用户伤害最大的问题开始,到仅影响细节的问题结束。

  1. 无障碍性:对比度(文本 4.5:1,大文本和 UI 部件 3:1)、键盘可操作性、焦点可见性、标签和可访问名称、目标尺寸(最小 24px,触摸 44px)、语义和标题顺序、仅颜色信号、减少动效、缩放和 320px 回流。
  2. 功能与状态:缺失的加载/空/错误状态、不明确或失效的控件、无确认或撤销的破坏性操作、导致输入丢失或验证不佳的表单、未在 URL 中反映的状态、重复提交风险。
  3. 层级结构:主要操作是否明显且唯一;最重要的内容是否占据主导地位;是否有任何内容与之竞争。
  4. 系统一致性:比例失调的间距、混合的圆角、一次性颜色、看似相似但应统一的组件、超过两种字体系列或过多的字重。
  5. 通用 AI 特征:默认的紫/蓝色渐变、渐变文本、发光效果、内容上的玻璃拟态、表情符号图标、虚构的统计数据或用户评价、居中的英雄区域配三个图标卡片、相同的卡片网格、装饰性的眉标签、填充性文案(“无缝”、“解锁”、“提升”)、每个元素都有动画。
  6. 工艺:对齐和光学居中、行长度、字体节奏、阴影质量、深色模式一致性、动效时间、文案精确性。

3. 评级并撰写发现

严重程度:

  • P0 阻塞性问题:排除用户或破坏任务(正文文本对比度失败、无键盘访问、未标记的输入、数据丢失、移动宽度下布局损坏)。
  • P1 重大问题:明显的摩擦或困惑(无空/错误状态、竞争的主要操作、自定义控件缺失焦点样式、无确认的破坏性操作)。
  • P2 次要问题:不一致或层级薄弱(比例失调的间距、混合的圆角、通用文案、AI 模板外观)。
  • P3 细节优化:工艺细节(光学对齐、表格数字、动效缓动)。

每个发现使用以下格式:

[P1] 主要和次要操作看起来相同 (Checkout.tsx, 第88-104行)
原因:两者都是填充式强调按钮,因此都不像下一步操作。
修复:将“提交订单”保留为主要操作;将“稍后保存”改为幽灵按钮
     (背景透明,颜色 var(--text),边框 1px var(--border-strong))。

发现规则:

  • 指出确切位置(文件和行、选择器或区域描述)。
  • 给出具体修复:令牌、值、元素、文案。“改善间距”不是一个发现;“表单组之间的间隙为 12px,与组内间隙相同;应改为 32px”才是。
  • 在一行内解释原因,与用户结果或规则(WCAG 标准、平台指南)关联,而非主观偏好。
  • 不要将同一根本原因报告十次。进行分组:“14处硬编码颜色;引入令牌(文件列表)”。
  • 简要说明哪些是好的且应保留的。仅列出问题的审核会鼓励重写原本正常工作的内容。

4. 输出格式

  1. 摘要(3-5行):屏幕的用途、总体结论、最重要的三个修复。
  2. 按严重程度分组的发现(优先级从 P0 开始)。除非要求详尽,否则大约 15 个左右。
  3. 快速修复:每个花费不到十分钟但影响显著的更改。
  4. 保留部分:已经正常工作且应保留的内容。
  5. 如果有用,提供最重要更改的简短 前后对比 描述。

5. 修复模式

如果用户要求你应用修复(或说“修复”、“重构”、“优化它”),请遵循 references/fix-mode.md:先修复 P0 和 P1 问题,在重新样式化之前引入令牌,保持行为和公共组件 API 稳定,并在结果上重新运行审核。

诚实规则

  • 永远不要声称你未检查过的对比度、键盘路径或屏幕阅读器行为。如果情况如此,请说明“根据截图估算”。
  • 区分规则(WCAG、平台要求)与观点(品味、品牌)。在观点上标注。
  • 如果现有的设计系统有意做出了本次审核会标记的行为(例如品牌渐变),请尊重它并说明,而不是推翻它。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能