关于 ux-compare
ux-compare 是用于综合比较多个 ux-extract 模式库的设计技能,帮助设计师和团队识别共性、差异与覆盖空白,并据此形成设计决策建议。
主要功能
- 01发现并盘点可用模式库
- 02按类别比较多个应用的模式
- 03分析共性、差异与独特做法
- 04检查未覆盖类别和缺失模式
- 05生成设计建议并撰写比较文档
适用场景
- 01构建功能前比较多个产品参考
- 02设计评审时核对模式是否有意偏离
- 03为团队设计决策建立共同参考
- 04将比较结果整理为设计简报
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jezweb/ claude-skills --skill ux-compare安装后在 Claude Code 中输入/ux-compare确认已加载。
附带文件references/comparison-template.md
详细介绍
UX 比较
读取 N 个由 ux-extract 生成的模式库,并综合分析比较结果。可回答以下问题:
- “在 claude.ai、Linear、Notion、Vercel 和 Superhuman 中,空状态是如何处理的?”
- “哪些应用使用键盘快捷键?它们的通用词汇是什么?”
- “构建账单页面时,我们应该遵循惯例,还是有意打破惯例?”
单个提取结果是一个参考点。多个提取结果就是一个设计库。比较是一种决策辅助工具——它会把设计库转化为“该怎么做,以及为什么”。
适用场景
- 构建前——比较即将构建的功能类别的 3–5 个参考对象,可揭示惯例及其取舍
- 设计评审期间——“我们提取的 5 个参考对象中都没有这种模式——这是有意为之的吗?”
- 团队达成共识——为设计决策提供共同参考
- 编写设计简报——趋同的模式成为基准;分歧的模式成为讨论议题
输入
可用的设计库
首先,查找有哪些设计库可用。模式库位于:
docs/ux-extracts/<app-name>/pattern-library.md.jez/artifacts/ux-extracts/<app-name>/pattern-library.md
列出找到的所有设计库。向用户展示清单及每个设计库的提取日期,方便他们发现过时的设计库:
Available pattern libraries:
- claude.ai (extracted 2026-03-12)
- linear.app (extracted 2026-02-28)
- notion.so (extracted 2026-01-15) ← 3 months old
- superhuman (extracted 2026-03-20)
如果只有一个设计库,则停止并建议先对更多应用运行 ux-extract。只有一个设计库的“比较”不过是这个设计库本身。
范围 / 重点
询问用户想比较什么,或根据他们的请求推断:
- 整个设计库——比较所有设计库中的每个类别(内容详尽,但全面)
- 一个类别——只比较空状态、键盘快捷键或模态框(范围更集中,更适合具体决策)
- 一个功能领域——“这些应用如何处理设置”,横跨多个类别,但仍聚焦于特定主题
- 一个具体问题——“哪些应用支持离线?”——也会搜索“值得注意的缺失”部分
范围越窄,建议越明确。默认询问:“你想比较什么功能或模式?”
要纳入的设计库
默认纳入用户提及的所有设计库;如果用户未指定,则纳入全部设计库。允许用户排除某些设计库:“除 notion 外的全部设计库——它的设计库太过时了”。
比较流程
1. 阅读每个设计库
对于范围内的每个设计库,阅读完整的 pattern-library.md。记录:
- 提取日期
- 提取范围(整个应用还是部分内容)
- 任何值得注意的缺失部分——这往往是最有意思的比较数据
2. 逐个检查类别
针对用户指定的范围,逐一检查任一设计库中出现的每个模式类别。对于每个类别:
- 列出每个应用的做法——每个应用用一个项目符号,尽可能具体且照录原文
- 找出趋同点——多数或所有应用都采用了什么相同做法?这是低风险的默认选择。
- 找出分歧点——它们在哪些方面确实不同?这是一个设计决策。
- 标出独特做法——只有一个应用采用了 X。无论这是创新还是怪异之处,都要指出来。
- 标出覆盖缺口——如果某个应用的设计库未涵盖此类别,请说明这一点(不要默默把“设计库中未提及”视为“应用中不存在”)。
3. 交叉参考缺失项
检查完各类别后,汇总这组应用中缺失的内容。如果 5 个应用中有 4 个在破坏性操作后没有撤销功能,这就是一种模式。如果 5 个应用中有 3 个没有用于创建新记录的键盘快捷键,这说明人们在反复做出同一种选择。
4. 综合建议
最后给出明确的指导:
- 安全默认选项 — 趋同模式。遵循它,用户会感到熟悉。
- 有意做出的选择 — 差异化模式,并说明每种模式的取舍,让用户自行选择。
- 避免采用 — 仅一个应用独有的模式,除非有充分理由说明该应用为何采用不同做法。
- 值得弥补的空白 — 令人意外的缺失,或用户会希望看到解决方案的缺失。
建议部分是进行比较的意义所在。没有它,文档就只是一堆要点;有了它,文档才能帮助做出决策。
输出
写入 docs/ux-comparisons/<topic>-YYYY-MM-DD.md(如果该路径已存在,则写入 .jez/artifacts/ux-comparisons/<topic>-YYYY-MM-DD.md)。
根据范围确定主题 slug — 例如 empty-states、keyboard-shortcuts、onboarding、destructive-actions。
完整输出格式请参见 references/comparison-template.md。
简版:
# UX Comparison: Empty States
Compared: claude.ai, linear.app, notion.so, superhuman
Date: 2026-04-19
Scope: How these apps handle empty states across list views, onboarding, and zero-data dashboards.
## At a glance
[2-3 sentences: what converges, what diverges, what's missing across the set]
## Pattern-by-pattern
### Empty list state
- **claude.ai**: illustration + headline + description + primary CTA + 3 shortcut hints
- **linear**: headline only, small text, no CTA
- **notion**: template picker (unique — offers 12 templates)
- **superhuman**: empty state not reached in extract (all-data demo account)
Convergence: most show some form of guidance; none are fully blank.
Divergence: claude.ai guides toward keyboard workflow; notion guides toward templates.
Unique: notion's template-first empty state.
Coverage gap: superhuman not assessed.
### Empty search results
[...]
## Recommendations
- **Safe default**: illustration + one-line description + primary CTA. All convergent apps do this.
- **Consider**: shortcut hints (like claude.ai) if your power-user persona is strong. Tradeoff: adds visual noise that doesn't help first-time users.
- **Skip**: notion's template picker unless you have a templates feature.
- **Fill a gap**: none of the 4 apps explain *why* the list is empty. A one-liner ("No clients yet — add your first to get started") is convergent practice and worth preserving.
## Source libraries
- claude.ai — 2026-03-12
- linear.app — 2026-02-28
- notion.so — 2026-01-15 (stale, re-extract recommended)
- superhuman — 2026-03-20
自主执行
- 直接执行:发现可用的库,阅读它们,撰写比较文档,并引用源库中的具体截图或文案
- 先询问:如果用户没有指定范围,先提出一个聚焦的问题,这比写一份内容宽泛的比较文档更省事
- 停止并确认:如果可用的库少于 2 个,就无法进行比较;建议先运行
ux-extract
参考文件
| 何时 | 阅读 |
|---|---|
| 撰写比较文档时 | references/comparison-template.md |
提示
- 不要逐一罗列每个库中的所有内容。 比较的价值在于综合分析。如果你只是在照搬 5 个库的要点,那就不算比较。
- 趋同模式通常是最安全的选择,但不一定最有意思。指出趋同之处是否可能只是照搬,而非优秀设计。
- 引用源库中的截图 — 不要复制它们。“参见 claude.ai 模式库 § 空状态,截图 502”可将提取结果保留为唯一可信来源。
- 过时的库仍有参考价值 — 只需注明日期。12 个月前的库记录的是当时的情况,并非毫无价值。
- 建议必须明确表态。 “视情况而定” 是最没有价值的回答。请明确立场,用户可以提出异议。
- 比较也会过时。 底层提取内容更新,或加入新的参考库时,应重新进行比较。
未来:超过 5 个应用
比较的复杂度并非线性增长。比较 3 个应用较为轻松;5 个是可读性的上限;10 个应用就会变成难以用文字综合分析的矩阵。如果要比较超过 5 个库,请将它们分组:
- Tier 1(与您的应用最接近)— 详细要点
- Tier 2(同类参考)— 摘要要点
- Tier 3(离群项、新颖方案)— 仅在必要时提及
也可以进行多次范围更窄的比较,而不是只做一次庞大的比较。