algorithmic-color-pale…
Derive a full UI colour palette algorithmically from one or two brand colours. Darker and lighter variants for interactive states, desaturated greys from the…
UI patterns borrowed from the physical world feel immediately intuitive — cards feel graspable, carousels feel scrollable, drawers feel pullable. Use real-world metaphors deliberately to reduce the learning curve and make interactions feel natural. Use when designing layout
$ npx -y skills add dembrandt/dembrandt-skills --skill real-world-metaphors --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/real-world-metaphorsContext preview
The summary Claude sees to decide when to auto-load this skill.
UI patterns borrowed from the physical world feel immediately intuitive — cards feel graspable, carousels feel scrollable, drawers feel pullable. Use real-world metaphors deliberately to reduce the learning curve and make interactions feel natural. Use when designing layout
name: real-world-metaphors
description: UI patterns borrowed from the physical world feel immediately intuitive — cards feel graspable, carousels feel scrollable, drawers feel pullable. Use real-world metaphors deliberately to reduce the learning curve and make interactions feel natural. 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 bestUI 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.
A card is a bounded, self-contained unit of content — like a physical index card or a product on a shelf.
**Use when:**
**Key properties:**
A carousel borrows from the physical act of flipping through a stack or sliding items along a rail.
**Use when:**
**Caution:**
A drawer slides in from an edge, like a physical desk drawer — it brings additional context without replacing the current view.
**Use when:**
**Key properties:**
Like a physical folder that expands to reveal contents — collapses to save space, expands to show detail.
**Use when:**
Like physical divider tabs in a binder — select a tab to see its section.
**Use when:**
**Caution:** Tabs imply peer-level, equal-importance sections. Do not use tabs for hierarchical navigation (use breadcrumbs or sidebar instead).
Like a sticky note attached to an object — appears on hover, provides brief additional context.
**Use when:**
**Not a replacement for:** clear labels, inline help text, or documentation for complex features.
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
UX and design-system skills for AI agents. Install once, and your agent knows how to design. --all installs every skill at once. They load only when a prompt needs them, so there is no runtime cost to having them all. Want to pick by hand?
Repo: dembrandt/dembrandt-skills
Derive a full UI colour palette algorithmically from one or two brand colours. Darker and lighter variants for interactive states, desaturated greys from the…
The persistent shell around an application — the top bar, the app launcher, the tenant and environment cue, and in heavy tools a status bar. In an estate of…
Product visuals — hero shots, demos, screenshots, landing-page panels — must reproduce the real product, not a stylised poster of it. Design with real content…
A brand's visual tone — playful or serious, rounded or angular — should be consistent across all UI elements. Shape language in typography, border-radius, and…
Every interactive element needs a complete set of visual states — rest, hover, active/pressed, focus, disabled, and loading. States should be derived…
Rebuild an existing web page 1:1 from measurement instead of by eye — into Figma, Penpot, or code. Captures the rendered page, the raw source and the computed…