К основному содержанию
скилл CX Codex

ux-compare — скилл для Claude Code: сравнение UX-паттернов

Читает библиотеки паттернов от ux-extract и собирает документ со сравнением: где приложения совпадают, где расходятся и что делать в новом билде.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add jezweb/claude-skills --skill ux-compare -a claude-code
Открыть на GitHub

Что делает ux-compare

Скилл берёт две или больше библиотек pattern-library.md, которые создал ux-extract, и проходит по категориям паттернов. По каждой категории видно, что делает каждое приложение, где решения совпадают, где расходятся по-настоящему, что встречается только у одного и чего нет ни у кого. Браузер не нужен — это разбор markdown-файлов.

Библиотеки лежат в docs/ux-extracts/<app-name>/pattern-library.md или .jez/artifacts/ux-extracts/<app-name>/pattern-library.md. Скилл сначала показывает список найденных библиотек с датой извлечения, чтобы было видно устаревшие. Если библиотека всего одна, он останавливается и советует сначала прогнать ux-extract на других приложениях: сравнение из одного источника — это просто источник.

Область сравнения задаёте вы: вся библиотека целиком, одна категория вроде пустых состояний или клавиатурных сокращений, область фичи или конкретный вопрос. Узкая область даёт более чёткие рекомендации. Результат пишется в docs/ux-comparisons/<topic>-YYYY-MM-DD.md, а если есть путь .jez/artifacts, то туда. В документе есть раздел с рекомендациями: безопасный вариант по умолчанию, осознанные отклонения с их компромиссами и пробелы, которые стоит закрыть. Без этого раздела получится набор пунктов, а не решение.

Какие задачи решает

  • сравнить, как несколько приложений показывают пустые состояния
  • найти общий словарь клавиатурных сокращений у референсов
  • решить, следовать конвенции на странице оплаты или ломать её
  • собрать базу для дизайн-ревью перед началом билда
  • выявить паттерны, которых нет ни в одном из референсов

Примеры запросов агенту

  • сравни UX-паттерны: как claude.ai, Linear, Notion и Superhuman обрабатывают пустые состояния
  • ux comparison по клавиатурным сокращениям во всех библиотеках
  • как топовые приложения делают деструктивные действия — сравни и дай рекомендации

Как установить ux-compare

1Через Skills CLI (Vercel)

npx skills add jezweb/claude-skills --skill ux-compare -a claude-code

2Вручную: положить файлы

~/.claude/skills/ux-compare/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/ux-compare/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о ux-compare

Как установить ux-compare в Claude?

Выполните npx skills add jezweb/claude-skills --skill ux-compare -a claude-code. Скилл встанет в ~/.claude/skills/ux-compare/SKILL.md.

Что делает ux-compare?

Читает несколько библиотек паттернов от ux-extract, идёт по категориям и отмечает совпадения, расхождения, единичные решения и пробелы. На выходе — документ сравнения с рекомендациями для нового билда.

Что нужно, чтобы скилл заработал?

Минимум две библиотеки pattern-library.md от ux-extract. Если библиотека одна, скилл остановится и предложит сначала извлечь паттерны из других приложений.

Исходный текст

SKILL.md · MIT
---
name: ux-compare
description: "Compare UX patterns across multiple reference apps using pattern libraries produced by ux-extract. Reads 2+ pattern-library.md files, walks them category by category, identifies where apps converge (strong signal), where they diverge (genuine design choice), what's unique to one app, and what's absent across the set. Produces an opinionated comparison document with recommendations for a new build. No browser needed — pure markdown analysis. Trigger with 'compare UX patterns', 'how do top apps handle X', 'ux comparison', 'pattern comparison across reference apps'."
compatibility: claude-code-only
---

# UX Compare

Read N pattern libraries produced by `ux-extract` and synthesise a comparison. Answers questions like:

- *"Across claude.ai, Linear, Notion, Vercel, and Superhuman — how are empty states handled?"*
- *"Which apps use keyboard shortcuts, and what's the shared vocabulary?"*
- *"When we build our billing page, should we follow convention or deliberately break it?"*

A single extract is a reference point. Multiple extracts are a design library. A comparison is a *decision aid* — it turns the library into "here's what to do and why".

## When to use

- **Before a build** — comparing 3–5 references for the feature class you're about to build reveals the convention and the tradeoffs
- **During a design review** — "this pattern isn't in any of the 5 references we've extracted — is that deliberate?"
- **For team alignment** — shared reference for a design decision
- **To produce a design brief** — convergent patterns become the baseline; divergent patterns become the discussion

## Inputs

### Available libraries

First, discover what's available. Pattern libraries live at:

- `docs/ux-extracts/<app-name>/pattern-library.md`
- `.jez/artifacts/ux-extracts/<app-name>/pattern-library.md`

List everything you find. Show the user the inventory with the extraction date for each so they can spot stale ones:

```
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)
```

If only one library exists, stop and suggest running `ux-extract` on more apps first. A one-library "comparison" is just the library.

### Scope / focus

Ask the user what to compare — or infer from their request:

- **Whole library** — compare every category across every library (verbose but comprehensive)
- **One category** — just empty states, just keyboard, just modals (tighter, more useful for specific decisions)
- **A feature area** — "how do these apps handle settings", crosses multiple categories but stays focused
- **A specific question** — "which apps support offline?" — searches Notable Absences sections too

Narrower scope produces sharper recommendations. Default to asking: *"What feature or pattern do you want to compare?"*

### Libraries to include

By default, include every library the user mentions or all of them if they don't specify. Let them exclude: *"all except notion — their library is too stale"*.

## Comparison Process

### 1. Read every library

For each library in scope, read the full `pattern-library.md`. Note:
- Extraction date
- Scope of the extract (whole app vs partial)
- Any **Notable Absences** section — often the most interesting data for comparison

### 2. Walk category by category

For the scope requested, walk each pattern category that appears in any library. For each category:

1. **List what each app does** — one bullet per app, concrete and verbatim where possible
2. **Identify convergence** — what's the same across most or all? This is the low-risk default.
3. **Identify divergence** — where do they genuinely differ? This is a design decision.
4. **Flag unique approaches** — only one app does X. Either innovation or weirdness; call it out either way.
5. **Flag coverage gaps** — if an app's library doesn't cover this category, say so (don't silently treat absent-from-library as absent-from-app).

### 3. Cross-reference absences

After walking categories, collect what's absent across the set. If 4 of 5 apps have no undo on destructive actions, that's a pattern. If 3 of 5 apps have no keyboard shortcut for new-record creation, that's a decision someone keeps making.

### 4. Synthesise recommendations

Close with opinionated guidance:
- **Safe default** — the convergent pattern. Following it means users feel at home.
- **Deliberate choices** — the divergent patterns, with the tradeoff of each so the user can pick.
- **Avoid** — unique-to-one patterns unless there's a clear reason why that one app does it differently.
- **Gaps worth filling** — absences that are surprising, or that your users would benefit from seeing addressed.

The recommendations section is the reason to run the comparison. Without it, the doc is a pile of bullets. With it, it's a decision.

## Output

Write to `docs/ux-comparisons/<topic>-YYYY-MM-DD.md` (or `.jez/artifacts/ux-comparisons/<topic>-YYYY-MM-DD.md` if that path exists).

Topic slug from the scope — e.g. `empty-states`, `keyboard-shortcuts`, `onboarding`, `destructive-actions`.

See [references/comparison-template.md](references/comparison-template.md) for the full output shape.

Short version:

```
# 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
```

## Autonomy

- **Just do it**: Discover available libraries, read them, write the comparison document, cite specific screenshots or copy from the source libraries
- **Ask first**: If the user didn't specify scope — one focused question is cheaper than a sprawling comparison
- **Stop and confirm**: If fewer than 2 usable libraries exist — comparing is impossible with 1 library, suggest `ux-extract` first

## Reference files

| When | Read |
|------|------|
| Writing the comparison document | [references/comparison-template.md](references/comparison-template.md) |

## Tips

- **Don't re-list everything from every library.** The comparison is value-add synthesis. If you're just copying bullets from 5 libraries, you're not comparing.
- **Convergence is usually the safest choice**, but not always the most interesting one. Call out where convergence might be copy-paste rather than good design.
- **Cite screenshots from the source libraries** — don't copy them. "See claude.ai pattern library § Empty States, screenshot 502" keeps extracts as the single source of truth.
- **Stale libraries are still useful** — just note the date. A 12-month-old library is a snapshot of that moment, not nothing.
- **Recommendations must be opinionated.** *"It depends"* is the weakest possible output. State a position. The user can disagree.
- **Comparisons age too.** Re-run when underlying extracts get refreshed, or when a new reference enters the set.

## Future: more than 5 apps

Comparisons scale non-linearly. 3 apps is comfortable; 5 is the upper bound of readability; 10 becomes a matrix that's impossible to synthesise in prose. If comparing more than 5 libraries, bucket them:

- Tier 1 (closest to your app) — detailed bullets
- Tier 2 (reference-class) — summary bullets
- Tier 3 (outliers, novel approaches) — mention by exception

Or do several narrower comparisons rather than one mega-comparison.

© jezweb · MIT · jezweb/claude-skills

Похожие скиллы

Всё по теме «Дизайн» →
ui-design-patterns manutej Справочник по типовым паттернам интерфейса: навигация, формы, вывод данных, обратная связь и доступность. Пригодится, когда проектируешь компоненты или разбираешь чужой UI. CX Codex +1 853установок impeccable pbakaus Скилл для ИИ-агента: проектирует и переделывает интерфейсы — лендинги, дашборды, формы, экраны iOS и Android. Пригодится, когда вёрстку пора привести в порядок по правилам дизайна. CX Codex +1 361 300установок bencium-innovative-ux-designer bencium Скилл помогает придумать собственный визуальный язык: десять типографических HTML-направлений, выбор человека и доводка до продакшена. CX Codex +1 7 500установок information-architecture julianoczkowski Скилл помогает спроектировать структуру веб-приложения или сайта до отрисовки интерфейса. Он связывает дизайн-бриф с кодовой базой и формирует единую карту переходов. CX Codex +1 5 900установок design-everyday-things wondelai Скилл разбирает интерфейс по принципам из «Дизайна привычных вещей»: аффордансы, сигнификаторы, ограничения, обратная связь. Пригодится, когда пользователи путаются, а вы не понимаете почему. CX Codex +1 5 600установок renaissance-architecture bencium Скилл для проектирования функций и интерфейсов: подталкивает агента к первым принципам вместо «X, но для Y». Пригодится на этапе архитектуры и ревью дизайна. CX Codex +1 3 300установок

Из того же набора54

strategy-document Пишет стратегические документы для малого и среднего бизнеса: SWOT, lean-бизнес-план, OKR, анализ конкурентов. Каждый режим со своей структурой и планкой качества. CX Codex +1 1 000установок db-seed Генерирует скрипты сидирования базы данных с правдоподобными тестовыми записями на основе схем Drizzle, Prisma или файлов SQL-миграций. CX Codex +1 981установок parcel-tracking Скилл ищет номера отслеживания в письмах Gmail и собирает ссылки на трекинг австралийских и международных курьеров. CX Codex +1 980установок award-application Помогает составлять заявки на бизнес-премии, гранты и конкурсы. Структурирует достижения по критериям отбора и подкрепляет каждый пункт цифрами. CX Codex +1 954установок nz-business-english Скилл настраивает деловой новозеландский английский (EN-NZ) для переписки и коммерческих предложений. Пригодится при общении с клиентами и партнёрами из Новой Зеландии. CX Codex +1 918установок fork-discipline Находит зашитые имена клиентов и условия в общем коде мультиклиентских репозиториев. Скилл строит карту границ платформы и готовит план рефакторинга. CX Codex +1 889установок ux-extract Обходит эталонное веб-приложение экран за экраном, снимает состояния и собирает библиотеку UX-паттернов, с которой потом сравнивают свою сборку. CX Codex +1 664установок codex-review Прогоняет ваш код через OpenAI Codex CLI и получает второе мнение от другой модели. Отчёт с приоритетами сохраняется в .jez/reviews/. CX Codex +1 548установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой