Skip to main content
skill CX Codex

navigation-menus — Claude Code skill for animating nav UI

A skill for animating navbars, dropdowns and sidebars: timings, easing curves and transition states built on Disney's principles.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add dylantarre/animation-principles --skill navigation-menus -a claude-code
Open on GitHub

What navigation-menus does

The skill covers animation for navigation: dropdowns, side panels, the mobile hamburger, the active-item indicator. Inside are Disney's twelve animation principles, each mapped onto wayfinding. Dropdown items stagger in with a 20–30ms delay per item, and a submenu arrow rotates after the text settles.

Timings are spelled out. Dropdown open runs 200–250ms, close 150–200ms, hover highlight 100–150ms, active indicator slide 200–300ms, hamburger morph 300ms. It advises ease-out for opening, ease-in for closing, ease-in-out for hover. There is ready CSS too: transform-origin: top on the dropdown, scaleY and opacity in the open state, cubic-bezier(0.4, 0, 0.2, 1) for the indicator.

The skill won't write your markup or pick an animation library. It is about tuning transitions in a menu you already have. If your navigation sits in a component with no access to CSS transitions, some of the advice has to be ported by hand.

What it helps with

  • stagger dropdown items as the menu opens
  • pick easing curves and timings for open and close
  • slide the active-item indicator smoothly
  • morph the mobile hamburger into a close icon
  • separate default, hover, active and selected states for a nav item

Example prompts for the agent

  • animate the navbar dropdown using the navigation-menus skill
  • add stagger to the dropdown items and rotate the submenu arrow
  • tune the active indicator slide with a slight overshoot

How to install navigation-menus

1Skills CLI (Vercel)

npx skills add dylantarre/animation-principles --skill navigation-menus -a claude-code

2Manually: put the files in place

~/.claude/skills/navigation-menus/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/navigation-menus/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about navigation-menus

How do I install navigation-menus in Claude?

Run npx skills add dylantarre/animation-principles --skill navigation-menus -a claude-code. The skill file lands at ~/.claude/skills/navigation-menus/SKILL.md.

What does navigation-menus do?

It applies Disney's twelve animation principles to navigation and gives concrete timings, easing curves and CSS for dropdowns, sidebars and mobile menus.

Which platforms does the skill support?

Claude, Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode, each with its own install path in the repository.

Source text

SKILL.md · MIT
---
name: navigation-menus
description: Use when animating navigation bars, menus, sidebars, or wayfinding elements to create smooth, intuitive transitions
---

# Navigation & Menu Animation Principles

Apply Disney's 12 principles to navigation for fluid, intuitive wayfinding.

## Principles Applied to Navigation

### 1. Squash & Stretch
Menu items can compress slightly on click. Mobile hamburger icon lines should squash during transformation to X.

### 2. Anticipation
Before dropdown opens, trigger item can lift or highlight. Sidebar toggle icon rotates slightly before panel slides.

### 3. Staging
Active nav item should be clearly distinguished. Dropdown menus appear above other content via z-index and shadow. Focus hierarchy matters.

### 4. Straight Ahead & Pose to Pose
Define clear states: closed, opening, open, closing. Each menu item has default, hover, active, selected poses.

### 5. Follow Through & Overlapping Action
Dropdown items stagger in (20-30ms delay each). Submenu arrows rotate after text settles. Active indicator slides with slight overshoot.

### 6. Ease In & Ease Out
Menu open: `ease-out`. Menu close: `ease-in`. Hover transitions: `ease-in-out`. `cubic-bezier(0.4, 0, 0.2, 1)` for Material-style.

### 7. Arcs
Mobile nav sliding in from side should have slight arc. Menu indicator sliding between items can follow subtle curve path.

### 8. Secondary Action
While dropdown expands (primary), shadow grows (secondary), parent item stays highlighted (tertiary). Chevron rotates.

### 9. Timing
- Dropdown open: 200-250ms
- Dropdown close: 150-200ms
- Hover highlight: 100-150ms
- Active indicator slide: 200-300ms
- Stagger per item: 20-40ms
- Hamburger morph: 300ms

### 10. Exaggeration
Active indicator can overshoot and bounce back. Important nav items can pulse briefly for attention. Mega menus deserve bold entrances.

### 11. Solid Drawing
Maintain consistent spacing during animations. Shadows should be consistent. Icons should stay crisp at all animation frames.

### 12. Appeal
Smooth nav feels professional. Snappy responses build confidence. Navigation is used constantly, so invest in these micro-interactions.

## CSS Implementation

```css
.nav-dropdown {
  transform-origin: top;
  transition: transform 200ms ease-out,
              opacity 200ms ease-out;
}

.nav-dropdown.open {
  transform: scaleY(1);
  opacity: 1;
}

.nav-indicator {
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
```

## Key Properties
- `transform`: translateX/Y, scaleY, rotate
- `opacity`: fade menus
- `height`/`max-height`: accordion menus
- `clip-path`: reveal effects
- `transform-origin`: dropdown direction

© dylantarre · MIT · dylantarre/animation-principles

Similar skills

Everything for Frontend and UI →

From the same set86

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor