把《Refactoring UI》变成可执行的代码:一个让AI自动遵循设计原则的Claude Skill

> 一个将《Refactoring UI》设计法则编码化,让Claude Code自动生成符合专业设计规范界面的Skill工具。 ## 痛点:AI生成界面,为什么总差一口气? 如果你用过Claude、ChatGPT等工具生成网页或组件,大概率有过这种体验:**结构完整、功能齐全,但视觉上总透着一股“AI味”**——间距随意、颜色刺眼、字体大小毫无章法、阴影乱飞。这不是模型能力不足,而是缺少一套**可执行的、具体到数值的设计规范**。 大多数开发者并非不懂设计,而是缺少系统性的设计决策框架。而《Refactoring UI》这本书恰好提供了这样一套框架,但它是一本300多页的书,AI模型虽然读过,却很难在生成代码时**逐条遵守**那些抽象原则(比如“不要用纯黑色”“间距要成倍递增”)。 `s0xDk/refactoring-ui-skill` 正是为了解决这个gap而生:它把书中的设计原则**转译成Claude Code可以读取并执行的Skill文件**,让AI在生成或修改界面时,能像遵循代码规范一样遵循设计规范。 ## 这个项目做了什么? 简单说,这是一个**Claude Code Skill**——Claude Code是Anthropic推出的终端编程助手,支持通过“Skills”机制加载特定领域的知识包。这个项目把《Refactoring UI》中的核心设计规则,拆解为: - **间距系统**:使用4px基准的倍增尺度(4、8、12、16、20、24、32、40、48、64、80、96、128、160、192、224、256) - **颜色系统**:定义主色、灰色、强调色的生成策略,包括色相偏移规则(如暖色偏黄、冷色偏蓝) - **字体系统**:字号阶梯(12、14、16、18、20、24、30、36、48、60、72),以及字重对比规则 - **阴影系统**:基于光源方向的阴影层次,而非随意模糊 - **层级表达**:通过颜色深浅、字重、尺寸而非边框和分隔线来区分层级 - **深度模拟**:通过阴影方向和透明度模拟真实光照 这些规则不是写在README里的泛泛而谈,而是**结构化、可被程序读取的指令**,Claude在生成代码时会主动引用这些规则。 ## 安装与使用:三步上手 ### 前提条件 - 安装Claude Code(需Anthropic账号) - 一个前端项目(React/Vue/纯HTML均可) ### 安装步骤 bash # 1. 克隆项目到本地 git clone https://github.com/s0xDk/refactoring-ui-skill.git # 2. 将skill目录复制到Claude Code的skills目录 # 在项目根目录下执行: mkdir -p .claude/skills cp -r refactoring-ui-skill/skill/* .claude/skills/ # 3. 在Claude Code中启用(在对话中直接引用) ### 使用示例 在Claude Code中,你可以这样要求: # 使用refactoring-ui-skill来创建一个登录表单组件 请使用refactoring-ui-skill规则,生成一个React登录表单,包含邮箱、密码输入框和登录按钮。 Claude会自动应用以下规则: - 输入框高度设为40px(间距尺度中的第5档) - 按钮使用主色,文字用白色,边框圆角用4px - 表单间距使用24px(尺度第7档) - 错误提示用红色但明度降低,避免纯红刺眼 - 阴影使用两层:一层是底部环境光,一层是顶部定向光 如果你已有代码,还可以让它“修正”: 请用refactoring-ui-skill规则审查并修复当前页面的间距和颜色层级问题 它会输出具体的修改建议,例如: diff - padding: 15px; /* 不在尺度表内,应改为16px */ - color: #000; /* 纯黑应改为#1a202c这类深灰 */ - box-shadow: 0 2px 5px rgba(0,0,0,0.3); /* 阴影太生硬,应分层 */ + padding: 16px; + color: #2d3748; + box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.08); ## 核心亮点:为什么它比“提示词工程”更有效? ### 1. 规则是结构化的,而非口头描述 很多开发者尝试用提示词让AI遵守设计规范,比如“请使用好的间距”“颜色要和谐”。但模型对“好”的理解是概率性的,每次生成可能不同。而Skill文件提供了**具体的数值表和判定标准**,模型可以精确匹配,输出稳定。 ### 2. 覆盖了“隐性知识” 《Refactoring UI》中很多规则是反直觉的,比如: - “不要用纯黑,用深灰” - “阴影不是越大越好,而是越远越模糊” - “强调文字用颜色+字重,而不是下划线” - “按钮的层级通过颜色饱和度区分,而不是边框” 这些知识通过读书可以理解,但写代码时容易忘。Skill让它们成为默认约束。 ### 3. 可组合、可扩展 Skill文件是纯Markdown+YAML格式,你可以: - 修改间距基数(比如从4px改为8px) - 添加品牌色板 - 添加组件级规则(如导航栏、卡片) - 与其他Skill组合使用(如Tailwind规则) ### 4. 与Claude Code深度集成 不像其他工具需要单独运行,它直接嵌入Claude Code的工作流。你可以在同一个会话中“生成→审查→修复”循环,无需切换工具。 ## 适用场景 - **前端开发者**:快速生成设计达标的UI原型,减少反复修改 - **全栈开发者**:后端逻辑写完,前端页面不再“惨不忍睹” - **独立开发者**:没有设计师搭档,但想让产品看起来专业 - **AI辅助开发团队**:统一AI生成界面的设计标准,减少人工审查负担 - **设计系统维护者**:将设计规范编码化,让AI自动遵循 ## 同类项目对比 | 项目 | 方式 | 优点 | 缺点 | |------|------|------|------| | **refactoring-ui-skill** | Claude Code Skill | 结构化、可编程、与IDE集成 | 仅限Claude Code | | **纯提示词模板** | 在Prompt中写设计规则 | 通用 | 不稳定、易遗忘、长Prompt消耗token | | **Tailwind CSS** | CSS框架 | 自带设计尺度 | 只解决样式,不解决布局和层级决策 | | **Chakra UI / MUI** | 组件库 | 开箱即用 | 定制性受限,不教AI如何思考 | | **Figma插件** | 设计工具 | 可视化 | 不生成代码 | 可以看出,这个项目的独特价值在于:**它不是给你一套组件,而是给AI一套“设计大脑”**。其他工具解决“写什么样式”,它解决“为什么这样写”。 ## 深入技术细节:Skill文件内部结构 项目主要包含以下文件: refactoring-ui-skill/ ├── SKILL.md # 主入口,定义技能描述和触发条件 ├── rules/ # 按主题划分的规则文件 │ ├── spacing.md # 间距尺度表 │ ├── typography.md # 字体层级 │ ├── color.md # 调色板生成策略 │ ├── shadow.md # 阴影与深度 │ └── hierarchy.md # 视觉层级规则 └── examples/ # 示例代码和对比 以 `spacing.md` 为例,它不只是写“间距要一致”,而是: markdown ## 间距尺度表 - 基础单位:4px - 有效值:4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80, 96, 128, 160, 192, 224, 256 - 规则: - 元素内部padding:使用8px或16px - 元素之间margin:使用16px或24px - 区块间距:使用32px或48px - 页面级间距:使用64px或80px - 禁止:使用不在表中的任意值(如13px、17px) 这种精确性让AI在生成时能做出**确定性选择**,而不是“凭感觉”。 ## 实际效果评测 我实际测试了三个场景: 1. **生成一个定价卡片组件**:默认Claude生成的卡片间距混乱,按钮颜色刺眼;使用Skill后,间距层次分明,按钮用了主色+暗色hover,阴影自然。 2. **修复一个现有页面**:原页面用了纯黑文字、红色错误提示、大阴影。Skill修复后,文字变为深灰,错误提示变为暗红,阴影分层。 3. **生成一个完整仪表盘**:Skill让数字、图表、卡片之间的层级清晰,标题用600字重+大字号,数据用500字重+中等字号,辅助说明用400字重+灰色。 整体效果接近中级设计师水平,远高于默认AI输出。 ## 局限与展望 - **仅限Claude Code**:如果你用Cursor或Copilot,暂时无法直接使用(但可以借鉴规则自己实现) - **规则覆盖有限**:目前主要覆盖视觉基础,对于复杂布局(如响应式、栅格)和动效没有涉及 - **需要人工复核**:AI仍可能在特殊场景下过度应用规则(如小屏幕上的间距过大) 未来如果作者加入响应式规则、暗色模式规则,以及组件库特定规则,这个项目会成为AI前端开发的标配工具。 ## 总结 `s0xDk/refactoring-ui-skill` 是一个**小而精**的项目,它没有发明新设计体系,而是把一本经典设计书变成了AI可以执行的代码。对于被“AI生成界面太丑”困扰的开发者,这是一个立竿见影的解决方案。它证明了:**设计规范不是玄学,而是可以编码的工程资产**。 如果你在使用Claude Code做前端开发,强烈建议尝试一下。即使不用Claude Code,阅读它的规则文件本身也是一次很好的设计复习。 **项目地址**:https://github.com/s0xDk/refactoring-ui-skill
查看工具