Unslop 设计
分为三部分:需要修复的内容(checklist.md,每条修复附带理由)、如何编排修复流程(process.md,审查者和开发者并行工作)以及案例与来源(references.md:催生本技能的五个前后对比案例,以及《Refactoring UI》的映射图)。每位审查者填写的规格卡片位于 spec-card.md。各平台专属说明(SwiftUI、Compose、Web、组件、手表、车载系统)位于 platforms.md。只需阅读你需要的平台说明,无需全部阅读。
原则(不可协商)
- 修复是规则,而非调整。 每次更改都以 Token 或组件的形式交付(间距、字号、字重、颜色角色、圆角、阴影、按钮),绝不在视图中使用字面量。如果 Token 缺失,则在同一更改中创建它。在刻度范围内通过排除法选择值(尝试该值及其两个相邻值;中间值胜出,否则重复尝试),绝不用像素逐一调整。
- 层级优先于颜色。 屏幕必须在灰度模式下也能正常工作:间距、大小、字重和对比度承担主要工作;颜色仅用于传达意义。如果灰度模式下层次不清,颜色也无法补救。
- 你首先看到的内容就是答案。 每个屏幕只有一个主数字(余额、价格、今日进度);其他所有内容都应退居次要位置。通过弱化竞争对手来突出主数字,而非放大主数字本身。每个屏幕最多只有一个深色/主表面,且禁止出现在 Sheet 或模态视图中。
- 颜色只表达一种含义。 只用一个品牌点缀色来表示操作或主数字;其他所有颜色都是带有意义的角色(金钱/成功、上涨/危险、状态、奖励),纯导航元素使用灰色。装饰性颜色就是杂乱。颜色不能单独使用:必须配以形状或文字。
- 可测量的对比度,而非假设。 根据真实的十六进制颜色值以及深色和浅色背景,计算 WCAG AA 标准(普通文本 4.5:1,大文本和图标 3:1)。白色文字在绿色/黄色品牌色上几乎永远不达标;灰色文字在彩色背景上也不达标(应选择同色系的不同明度)。
- 不呈现屏幕无法交付的内容。 无虚构数字、无作为数据展示的预测、无暗示的未实现功能、无虚假的空状态。只设计最小可交付版本。
- 一个源自领域的手势签名。 一个源于应用所展示内容的品牌细节(例如价格牌上的价格,最后一位数字更小;跑步应用中的点阵数字),而非新的字体或效果;并且在不适用的情况下能优雅降级。其他所有内容保持原生风格:不要对抗 Tab 栏、开关或系统 Sheet。
- 平台同步交付。 如果项目涉及 iOS 和 Android(或应用和 Web),则更改应在同一个 PR 中、以所有语言版本同时入库。
- 验证用户实际看到的内容。 提供深色和浅色模式下的截图、最大文本尺寸、非默认货币/语言、真实数据(长名称、空状态、2000 个项目)。无法在本地环境编译的部分,通过阅读代码进行审计,并在 PR 中注明。
任何代理(Claude Code、Codex、Cursor、Copilot、Gemini…)
规则各处通用。当提到“代理”时,请使用你的工具所具备的能力:如果支持子代理(如 Claude Code、Codex…),则为每个开发者分配一个独立的 git worktree。如果不支持子代理,则依次运行审查者,每个审查者附带自己的简要说明,并在陪审团步骤之前保持其输出独立。当提到“发布”时,Claude Code 发布一个 Artifact;其他代理则生成一个供用户打开的 HTML 文件。在没有代码库的聊天应用中,仅在提出前后对比方案后停止。
工作协议(默认)
- 审查者 = 高级产品设计师代理,开发者 = 高级开发者代理(使用用户指定的模型)。编排者不负责构建具体区域:它负责共享工作、集成和审计。
- 每个决策都附带明确、可操作的推荐项。
- 在实现之前,发布前后对比方案并等待用户的“确认”。
- 每一轮也要审查之前轮次发布的内容以及所有收到的视频/截图,而不仅仅是最新内容。
- CI 变绿后方可合并:关闭时附上编译时需要检查的内容列表(具体风险),如果缺少 Mac/模拟器,则提供一个可在本地会话中执行的独立提示。
- 当询问“是否全部完成?”时:回答“已完成(已有 PR)”、“等待你操作”或“有意保留”。
- 在最后一轮之后,更新项目的设计系统。
简要流程
- 清单盘点:从视频中提取帧(
process.md§ 1),列出所有屏幕及其状态,并在代码中定位每个屏幕。 - 系统建立:检查(或创建)间距、字体、颜色和高度刻度(
checklist.md§ 系统)。没有刻度,审查者就只能靠眼睛判断。 - 灰度预览 + 并行审查:3-4 位审查者,各负责一个区域,对照
checklist.md要求,逐一应用修复。 - 胜出方案:一个包含前后对比、规格卡片和决策列表的 HTML 页面;由用户选择。
- 开发者按区域工作:在隔离的 worktree 中,附带封闭的简要说明;集成、编译、审计、提交 PR、回答审查机器人、在 CI 变绿后合并。
- 最终:用新增内容更新项目的设计系统(文档 + Token + 自身的技能)。
如果项目已有自己的设计技能
使用它来获取具体的 Token 和组件;本技能提供的是方法和通用清单。如果某个规则与已记录的项目决策冲突,则以项目决策为准,并在方案中明确指出。