Communitygithub.com

unslo-design

审查并重新设计应用或网站界面,去除“装饰性杂乱”(点缀色、渐变、无意义的阴影、嘈杂的徽章、作为图标的emoji、凭感觉设置的间距、作为页面标题的问候语、标题大小写、扁平层级、重复数字),使用系统(间距、字体、颜色角色、高度)和编排流程——从屏幕录像或截图中进行清单盘点、灰度预览、并行产品设计师审查、发布获胜方案、按区域分配开发、审计和PR。

unslo-design 是什么?

该技能提供了一套完整的流程和方法论,用于系统性地审查和重新设计应用或网站界面,剔除其中的“杂乱”(slop)。所谓“杂乱”是指那些缺乏实际功能、仅起装饰作用的元素,例如随意的点缀色、渐变、无意义的阴影、用作图标的emoji、凭直觉调整的间距、标题大小写文本以及扁平化的信息层级。其核心思想是建立一套严格的基于规则的系统(包括间距、字体、颜色、高度等),确保每一次视觉改动都能通过可复用的设计Token或组件来实现,而非仅仅进行手动微调。该技能支持在任何AI代理平台(如Claude Code、Codex、Cursor等)上运行,并包含一个编排流程:首先从屏幕录制或截图中进行清单盘点,然后进行灰度预览以验证信息层级,接着由产品设计师代理并行审查,最后在合并前发布对比方案供用户审批。它提供了一套非协商性的原则,例如“层级优先于颜色”、“颜色只传达一种含义”以及“验证用户实际看到的内容”,使界面设计既清晰又无障碍。

兼容平台✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/marcosnovo/unslop-design/tree/HEAD

在你喜欢的 AI 中提问

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

文档

Unslop 设计

分为三部分:需要修复的内容(checklist.md,每条修复附带理由)、如何编排修复流程(process.md,审查者和开发者并行工作)以及案例与来源(references.md:催生本技能的五个前后对比案例,以及《Refactoring UI》的映射图)。每位审查者填写的规格卡片位于 spec-card.md。各平台专属说明(SwiftUI、Compose、Web、组件、手表、车载系统)位于 platforms.md。只需阅读你需要的平台说明,无需全部阅读。

原则(不可协商)

  1. 修复是规则,而非调整。 每次更改都以 Token 或组件的形式交付(间距、字号、字重、颜色角色、圆角、阴影、按钮),绝不在视图中使用字面量。如果 Token 缺失,则在同一更改中创建它。在刻度范围内通过排除法选择值(尝试该值及其两个相邻值;中间值胜出,否则重复尝试),绝不用像素逐一调整。
  2. 层级优先于颜色。 屏幕必须在灰度模式下也能正常工作:间距、大小、字重和对比度承担主要工作;颜色仅用于传达意义。如果灰度模式下层次不清,颜色也无法补救。
  3. 你首先看到的内容就是答案。 每个屏幕只有一个主数字(余额、价格、今日进度);其他所有内容都应退居次要位置。通过弱化竞争对手来突出主数字,而非放大主数字本身。每个屏幕最多只有一个深色/主表面,且禁止出现在 Sheet 或模态视图中。
  4. 颜色只表达一种含义。 只用一个品牌点缀色来表示操作或主数字;其他所有颜色都是带有意义的角色(金钱/成功、上涨/危险、状态、奖励),纯导航元素使用灰色。装饰性颜色就是杂乱。颜色不能单独使用:必须配以形状或文字。
  5. 可测量的对比度,而非假设。 根据真实的十六进制颜色值以及深色和浅色背景,计算 WCAG AA 标准(普通文本 4.5:1,大文本和图标 3:1)。白色文字在绿色/黄色品牌色上几乎永远不达标;灰色文字在彩色背景上也不达标(应选择同色系的不同明度)。
  6. 不呈现屏幕无法交付的内容。 无虚构数字、无作为数据展示的预测、无暗示的未实现功能、无虚假的空状态。只设计最小可交付版本。
  7. 一个源自领域的手势签名。 一个源于应用所展示内容的品牌细节(例如价格牌上的价格,最后一位数字更小;跑步应用中的点阵数字),而非新的字体或效果;并且在不适用的情况下能优雅降级。其他所有内容保持原生风格:不要对抗 Tab 栏、开关或系统 Sheet。
  8. 平台同步交付。 如果项目涉及 iOS 和 Android(或应用和 Web),则更改应在同一个 PR 中、以所有语言版本同时入库。
  9. 验证用户实际看到的内容。 提供深色和浅色模式下的截图、最大文本尺寸、非默认货币/语言、真实数据(长名称、空状态、2000 个项目)。无法在本地环境编译的部分,通过阅读代码进行审计,并在 PR 中注明。

任何代理(Claude Code、Codex、Cursor、Copilot、Gemini…)

规则各处通用。当提到“代理”时,请使用你的工具所具备的能力:如果支持子代理(如 Claude Code、Codex…),则为每个开发者分配一个独立的 git worktree。如果不支持子代理,则依次运行审查者,每个审查者附带自己的简要说明,并在陪审团步骤之前保持其输出独立。当提到“发布”时,Claude Code 发布一个 Artifact;其他代理则生成一个供用户打开的 HTML 文件。在没有代码库的聊天应用中,仅在提出前后对比方案后停止。

工作协议(默认)

  • 审查者 = 高级产品设计师代理,开发者 = 高级开发者代理(使用用户指定的模型)。编排者不负责构建具体区域:它负责共享工作、集成和审计。
  • 每个决策都附带明确、可操作的推荐项。
  • 在实现之前,发布前后对比方案并等待用户的“确认”。
  • 每一轮也要审查之前轮次发布的内容以及所有收到的视频/截图,而不仅仅是最新内容。
  • CI 变绿后方可合并:关闭时附上编译时需要检查的内容列表(具体风险),如果缺少 Mac/模拟器,则提供一个可在本地会话中执行的独立提示。
  • 当询问“是否全部完成?”时:回答“已完成(已有 PR)”、“等待你操作”或“有意保留”。
  • 在最后一轮之后,更新项目的设计系统。

简要流程

  1. 清单盘点:从视频中提取帧(process.md § 1),列出所有屏幕及其状态,并在代码中定位每个屏幕。
  2. 系统建立:检查(或创建)间距、字体、颜色和高度刻度(checklist.md § 系统)。没有刻度,审查者就只能靠眼睛判断。
  3. 灰度预览 + 并行审查:3-4 位审查者,各负责一个区域,对照 checklist.md 要求,逐一应用修复。
  4. 胜出方案:一个包含前后对比、规格卡片和决策列表的 HTML 页面;由用户选择。
  5. 开发者按区域工作:在隔离的 worktree 中,附带封闭的简要说明;集成、编译、审计、提交 PR、回答审查机器人、在 CI 变绿后合并。
  6. 最终:用新增内容更新项目的设计系统(文档 + Token + 自身的技能)。

如果项目已有自己的设计技能

使用它来获取具体的 Token 和组件;本技能提供的是方法和通用清单。如果某个规则与已记录的项目决策冲突,则以项目决策为准,并在方案中明确指出。

相关技能