Communitygithub.com

sukirman1901/polish

抛光 UI 微细节,让界面感觉更舒适——光学对齐、表格数字、文本换行、可打断过渡、按压反馈、点击区域,避免使用 transition:all。在构建/审查 UI 抛光、感觉不对劲、需要微调细节、悬停/按压反馈,或执行反草稿设计后使用。结构性布局、圆角语言和 WCAG 合规性属于其他模块。

polish 是什么?

该技能专注于 UI 抛光微细节,解决“感觉不对劲”或需要精细调整的问题,适合在构建或审查 UI、处理悬停/按压反馈以及执行反草稿设计后使用。它通过提供一系列启发式规则和着手点(如嵌套圆角、图标光学居中、按压缩放 `scale(0.96)`、表格数字 `tabular-nums`、文本平衡 `text-wrap: balance`、≥44x44 触摸区域等),帮助开发者在不改动结构布局、不违背设计系统 token 的前提下,仅通过最便宜的 CSS 或复用现有 token 来提升 UI 的感知质量。该技能支持所有主流 AI 代理平台(如 Claude Code、Cursor、Codex),工作流程包括界定范围、扫描渲染效果、检查控制组件矩阵(纯文本、前导/尾随图标、仅图标、加载/待机状态以及 LTR/RTL)、应用最便宜的修复,并输出前后对比报告。核心约束包括:必须基于渲染预览而非源码判断、优先使用 token 而非自定义值、禁用 `transition: all`、保持按压过渡可打断、以及确保移动端适配(全宽主按钮、安全区域、拇指可达区域)。与结构布局、设计表面、版式、动效和无障碍等专业领域明确分工,避免跨界。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sukirman1901/frontend-expert/tree/HEAD/skills/polish

在你喜欢的 AI 中提问

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

文档

抛光

概述

在 token、结构和反草稿设计之后,应用微观工艺,使 UI 在渲染表面上感觉恰当。除非某项标准或项目 token 另有规定,否则此处列举的数字配方均为启发式规则。

何时使用

  • 完成 /ui 构建(在 anti-slop-design 之后)
  • /polish / “微调细节” / “感觉不对劲”
  • 悬停、按压、进入/退出、图标切换等微交互

何时跳过

  • 结构性网格/间距/层级 → design-foundations
  • 比较渲染方向 / 强调所有状态 → prototype
  • 嵌套圆角 / 高度语言 → design-surfaces
  • 类型角色、换行、截断 → design-typography
  • 合规性(对比度、名称、键盘) → accessibility
  • 动效系统 / 命名系列 → motion
  • 纯文案 / “AI 写作” / 空状态措辞 → content-design
  • “整理代码” / 生成式实现 → anti-slop-code
  • 仅后端修改,无渲染 UI 变化

MUST 规则

规则详情
渲染证实根据渲染后的 UI 判断换行、对齐、按压和圆角,而非仅看源码
Token 优先使用 --radius、间距和类型 token;当存在 token 时,不要发明一次性值
分类配方将 0.96、交错毫秒等类似数字标记为启发式规则
最便宜的有效修复删除装饰样式 → 原生 CSS → 复用项目 token → 最后添加抽象层
移动端工艺小于 768px 时全宽主 CTA;粘性栏使用安全区域;操作按钮需拇指可及
禁止 transition: all命名属性;跳过 Tailwind 的裸 transition
控制组件几何证明在验收光学对齐前,渲染完整的控制组件矩阵,包括待机/加载状态以及适用的 LTR/RTL

工艺(着手点)

关注点着手点分类移交至
嵌套圆角当曲线共享中心时,外侧 ≈ 内侧 + 内边距启发式design-surfaces
控件中的图标在几何中心基础上进行光学微调建议—
模块深度项目的边框/高度语言项目默认design-surfaces
悬停/切换可打断的 CSS 过渡建议如有编排则移交 motion
按压需要按压反馈时使用 scale(0.96)启发式—
动态数字tabular-nums建议design-typography
短标题text-wrap: balance建议design-typography
点击区域触摸 44×44 / 密集桌面 ≥40建议如需 WCAG 2.5.8(24px)则移交 accessibility

例外情况:药丸形/圆形按钮、密集工具栏(禁用按压缩放)、减少动效、非同心品牌语言、不需要轮廓的图像。

控制组件几何

  • 渲染后的光学变体矩阵:纯文本、前导图标、尾随图标、仅图标以及待机/加载。

几何居中(inline-flex / items-center / justify-center)是必要的但不是证明。不存在通用的像素偏移量:先比较渲染后的矩阵,然后在固定图标槽或字形内应用最小的补偿。

判断组合图标-标签内容组及其感知视觉重量是否在不同变体和状态下平衡且居中。单独评估标签基线/大写字母高度与图标的关系;在图标+文本变体中,标签本身不必占据控件中心。一起验证图标视觉重量、token 间距、对称 token 内边距、焦点、点击区域、禁用、待机和加载状态,确保没有意外的内容组或控件宽度变化。当产品支持 RTL 时,应包括 LTR 和 RTL。

稳定待机几何是默认情况。对于明确的测量变形异常(references/component-patterns.md),检查两个端点及其目标播放,确认相邻操作保持稳定,并附上证据报告该异常。有意的变形不能成为意外位移或缺失无障碍名称的借口。

工作流程

  1. 界定范围 — 命名表面;跳过结构性或 token 系统工作。
  2. 扫描 — 1x/2x 渲染、亮/暗主题、悬停/按压/焦点、移动宽度。
  3. 控制组件矩阵 — 在渲染尺寸下比较纯文本、前导/尾随图标、仅图标、待机/加载以及适用的 LTR/RTL。
  4. 修复 — 最便宜的有效更改;将值映射到 token;将光学补偿保持在图标槽内。
  5. 报告 — 按原则分组的 Before/After 表格;将未检查的状态标记为 Not verified。

界限

  • 可决定: 光学微调、命名过渡、tabular-nums、换行辅助、当项目没有按压反馈时添加上。
  • 不可做: 将 0.96、弹跳 0 或同心圆角视为普遍法则;在有问题的布局上抛光;替换品牌字体。

检查清单

  • 嵌套圆角已光学验证(或移交至 design-surfaces)
  • 图标在看起来不对的地方已光学居中
  • 已检查完整渲染的控制组件矩阵:纯文本、前导/尾随图标、仅图标、待机/加载以及适用的 LTR/RTL
  • 组合图标-标签组/感知视觉质量已居中;标签基线/大写字母高度关系、图标视觉重量、token 间距/内边距已验证
  • 焦点、点击区域、禁用和加载状态保持几何形状,无标签或宽度变化
  • 无 transition: all;悬停/按压可打断
  • 动态数字使用 tabular-nums 以避免抖动
  • 标题使用 text-balance;短文案在有用时使用 text-pretty
  • 点击区域满足 44/40 指导要求且无重叠
  • 移动端工艺:小于 768px 时全宽主按钮、安全区域、拇指区域
  • 启发式规则已标注;未测试状态标记为 Not verified

深度

完整示例:references/polish.md。 相关模块:design-surfaces、design-foundations、design-typography、motion、accessibility、references/evidence-policy.md。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能