real-world-metaphors — скилл для Claude Code: паттерны UI
Помогает выбрать между карточкой, каруселью, drawer и аккордеоном, когда проектируешь компоненты и навигацию.
npx skills add dembrandt/dembrandt-skills --skill real-world-metaphors -a claude-codeЧто делает real-world-metaphors
Скилл объясняет, какие паттерны интерфейса взяты из физического мира и когда каждый уместен. Карточка — это отдельный кусок контента, который можно взять в руки. Карусель — пролистывание стопки. Drawer выезжает с края и не заменяет текущий экран. Разбор идёт по карточкам, карусели, drawer, аккордеону, табам и тултипам: для каждого — условия применения и подводные камни.
Внутри есть принципы и чек-лист для ревью. Например, карточка без действия на клик создаёт ложную аффорданс — тогда лучше список. Смешивать метафоры не стоит: карусель внутри карточки внутри drawer даёт лишний шум. Мобильные паттерны вроде swipe-to-dismiss на десктопе ощущаются чужими.
Скилл подключается по путям components/**, src/components/**, **/*.tsx, **/*.jsx, design-system/**, ui/** и срабатывает на слова card, carousel, drawer, metaphor, gesture, swipe. Для работы ничего дополнительно ставить не нужно.
Какие задачи решает
- выбрать между карточкой и списком для набора однотипных элементов
- собрать навигацию на мобильном через боковой drawer
- решить, уместна ли карусель для промо-блоков
- проверить, не смешаны ли метафоры в одном компоненте
- развести табы и иерархическую навигацию по разделам
Примеры запросов агенту
- Стоит ли здесь карточка или обычный список? Посмотри по скиллу real-world-metaphors.
- Спроектируй drawer для настроек, чтобы основной список остался виден
- Проверь мой компонент карусели на ложные аффорданс
Как установить real-world-metaphors
1Через Skills CLI (Vercel)
npx skills add dembrandt/dembrandt-skills --skill real-world-metaphors -a claude-code2Вручную: положить файлы
~/.claude/skills/real-world-metaphors/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/real-world-metaphors/
1Через Skills CLI (Vercel)
npx skills add dembrandt/dembrandt-skills --skill real-world-metaphors -a codex2Вручную: положить файлы
.agents/skills/real-world-metaphors/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dembrandt/dembrandt-skills --skill real-world-metaphors -a cursor2Вручную: положить файлы
.cursor/skills/real-world-metaphors/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dembrandt/dembrandt-skills real-world-metaphors2Вручную: положить файлы
.github/skills/real-world-metaphors/SKILL.md1Через Skills CLI (Vercel)
npx skills add dembrandt/dembrandt-skills --skill real-world-metaphors -a gemini-cli2Командой платформы
gemini skills install https://github.com/dembrandt/dembrandt-skills --path skills/real-world-metaphorsВручную: положить файлы
.devin/skills/real-world-metaphors/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dembrandt/dembrandt-skills --skill real-world-metaphors -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора34
Похожие
Рядом в теме «Дизайн»
Всё по теме «Дизайн» →Вопросы о real-world-metaphors
Как установить real-world-metaphors в Claude?
Выполните npx skills add dembrandt/dembrandt-skills --skill real-world-metaphors -a claude-code. Скилл окажется в ~/.claude/skills/real-world-metaphors/SKILL.md.
Что делает real-world-metaphors?
Разбирает паттерны интерфейса, позаимствованные из физического мира: карточки, карусели, drawer, аккордеон, табы, тултипы. Для каждого даёт условия применения и типичные ошибки.
На что скилл реагирует?
На пути components/**, src/components/**, **/*.tsx, **/*.jsx, design-system/**, ui/** и на слова card, carousel, drawer, metaphor, gesture, swipe.
Исходный текст
SKILL.md · MIT
---
name: real-world-metaphors
description: Cards, drawers, carousels and other patterns borrowed from the physical world. Use when designing layout patterns, gestures or navigation paradigms.
metadata:
priority: 6
pathPatterns:
- "components/**"
- "src/components/**"
- "**/*.tsx"
- "**/*.jsx"
- "design-system/**"
- "ui/**"
promptSignals:
phrases:
- "card"
- "carousel"
- "drawer"
- "metaphor"
- "physical"
- "skeuomorphic"
- "gesture"
- "swipe"
retrieval:
aliases:
- real world metaphors
- skeuomorphism
- physical ui patterns
- card pattern
- carousel
- drawer navigation
intents:
- make ui feel intuitive
- choose a layout pattern
- design a card component
- use familiar patterns
examples:
- should I use a card or a list here
- make this feel more natural to interact with
- which pattern fits this content best
---
# Real-World Metaphors in UI
UI patterns borrowed from the physical world reduce the learning curve because users already know how they work. A card feels like something you can pick up. A carousel feels like flipping through a stack. A drawer feels like it slides out from the side. These metaphors carry affordance — the user knows what to do before reading any instructions.
Use them deliberately, not decoratively.
## Common Metaphors and When to Use Them
### Card
A card is a bounded, self-contained unit of content — like a physical index card or a product on a shelf.
**Use when:**
- Content items are discrete and comparable (products, people, articles, tasks)
- Each item needs to be scanned quickly and potentially acted on
- Items benefit from a visual thumbnail, image, or icon
**Key properties:**
- Cards should be graspable: elevation (`--shadow-sm`), border-radius, and clear boundary
- All cards in a set should be the same width; height can vary with content
- One primary action per card — secondary actions appear on hover or inside a detail view
- Cards imply "I can pick this up and do something with it" — if nothing happens on click, use a list instead
### Carousel / Horizontal Scroll
A carousel borrows from the physical act of flipping through a stack or sliding items along a rail.
**Use when:**
- There are more items than fit the viewport and browsing is the primary mode
- Items have a natural visual order (steps, featured content, media)
- The user is expected to explore, not to find a specific item
**Caution:**
- Carousels hide content — important items should not live only inside a carousel
- Auto-advancing carousels reduce user control; prefer user-driven navigation
- On mobile, a horizontal scroll without explicit navigation dots feels more natural than arrows
### Drawer / Side Panel
A drawer slides in from an edge, like a physical desk drawer — it brings additional context without replacing the current view.
**Use when:**
- Secondary detail is needed without losing context of the main view
- Editing or configuring an item while keeping the list visible behind
- Mobile navigation patterns (hamburger menu opens a side drawer)
**Key properties:**
- The drawer should feel anchored to an edge — left for navigation, right for detail/settings
- Always provide a clear close action (× button and clicking outside)
- The content behind should dim slightly (overlay) to signal the drawer is a layer above
### Accordion
Like a physical folder that expands to reveal contents — collapses to save space, expands to show detail.
**Use when:**
- Content has a clear parent–child hierarchy
- Most users need only a few sections at a time
- Vertical space is constrained
### Tabs
Like physical divider tabs in a binder — select a tab to see its section.
**Use when:**
- Content is divided into mutually exclusive, peer-level sections
- The user switches between sections frequently
- All tabs are equally relevant to the same context
**Caution:** Tabs imply peer-level, equal-importance sections. Do not use tabs for hierarchical navigation (use breadcrumbs or sidebar instead).
### Tooltip
Like a sticky note attached to an object — appears on hover, provides brief additional context.
**Use when:**
- An icon or control needs a short label that would clutter the layout if always visible
- A term or value needs brief explanation in context
**Not a replacement for:** clear labels, inline help text, or documentation for complex features.
## Principles for Using Metaphors Well
1. **The metaphor should match the interaction** — a card that does nothing on click creates a false affordance
2. **Don't mix metaphors** — a carousel inside a card inside a drawer creates cognitive noise
3. **Mobile borrows different metaphors than desktop** — swipe-to-dismiss, bottom sheets, and pull-to-refresh are mobile-native; forcing them onto desktop feels wrong in both directions
4. **Elevation reinforces the metaphor** — a card without shadow doesn't feel graspable; a drawer without an overlay doesn't feel layered
## Review Checklist
- [ ] Does the chosen pattern match the physical metaphor users will intuit?
- [ ] Do cards have a clear primary action — not just decoration?
- [ ] Does the carousel or horizontal scroll have navigation affordance (dots, arrows, or partial next item visible)?
- [ ] Do drawers dim the background content to signal layering?
- [ ] Are physical metaphors consistent — the same pattern used for the same type of content throughout the product?
© dembrandt · MIT · dembrandt/dembrandt-skills