MCPInstall

real-world-metaphors

Cards, drawers, carousels and other patterns borrowed from the physical world. Use when designing layout patterns, gestures or navigation paradigms.

Installs
849
Last 24h
+8
Trending rank
#9580
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/dembrandt/dembrandt-skills --skill real-world-metaphors
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads real-world-metaphors automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

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?

FAQ

What does the real-world-metaphors skill do?

Cards, drawers, carousels and other patterns borrowed from the physical world. Use when designing layout patterns, gestures or navigation paradigms.

How do I install real-world-metaphors?

Run npx skills add https://github.com/dembrandt/dembrandt-skills --skill real-world-metaphors in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/real-world-metaphors/ (personal) or .claude/skills/real-world-metaphors/ (project).

Which AI agents can use real-world-metaphors?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is real-world-metaphors safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains real-world-metaphors?

It is published by dembrandt in dembrandt/dembrandt-skills. It has 849 recorded installs.

More from dembrandt/dembrandt-skills

View all →

nielsen-usability-heuristics

dembrandt/dembrandt-skills

Nielsen's 10 usability heuristics. Use when auditing an interface, designing interaction flows, writing error messages or reviewing usability.

Docs & Writing989 installs

performance-and-web-vitals

dembrandt/dembrandt-skills

Lighthouse audits and Core Web Vitals — LCP, CLS, INP. Use when optimising page load, layout shift, input delay, images, fonts or render-blocking resources.

color-mode-and-theme

dembrandt/dembrandt-skills

Light, dark or both, and when a theme selector is worth it. Use when defining a base palette or deciding on dark mode support.

Frontend & Design940 installs

ui-density

dembrandt/dembrandt-skills

Match information density to platform and user type. Use when designing data tables, dashboards or toolbars, or adapting a desktop product for mobile.

Frontend & Design927 installs

form-design

dembrandt/dembrandt-skills

Helper text, placeholders, validation and submit behaviour. Use when designing or reviewing a form, input field or data entry UI.

Frontend & Design925 installs

brand-visual-language

dembrandt/dembrandt-skills

Shape language across type, radius and icons carries brand personality. Use when starting a design system, picking icons or radius tokens, or reviewing visual consistency.

Marketing & SEO915 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs