npx skills add https://github.com/athevon/genjutsu
dragoon0x/everything-design-taste
motion-principles
Animation purpose, timing, easing philosophy, and motion as a design language element rather than decoration.
Installation
npx skills add dragoon0x/everything-design-taste --skill motion-principles
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existi…
866.4K installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsDebug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe …
568.9K installsAlso in this package
Other skills from dragoon0x/everything-design-taste · top by installs.
npx skills add dragoon0x/everything-design-taste
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md2,450 B -
docs
SUMMARY.md134 B
History
- First seen on skills.sh
- First recorded snapshot · 2 installs
SKILL.md
Motion Principles
Motion Has Purpose
Every animation answers one of these questions:
- Where did this come from? (spatial orientation)
- What just happened? (state feedback)
- What should I look at? (attention direction)
- What's related? (grouping/connection)
If an animation doesn't answer any of these, remove it.
Timing
Duration Scale
- Micro-interactions (hover, toggle): 100-200ms
- Element transitions (fade, slide): 200-300ms
- Page transitions: 300-500ms
- Complex orchestrations: 500-800ms
- Loading/progress: match actual duration
The 300ms Rule
Most UI animations should be under 300ms. Users perceive anything longer as slow. The exception is orchestrated sequences where staggered delays create rhythm.
Easing
Which Curve When
- ease-out (decelerate): Elements entering the screen. They arrive and settle.
- ease-in (accelerate): Elements leaving the screen. They start slow and exit fast.
- ease-in-out: Elements moving between two visible positions.
- linear: Progress bars, loading spinners. Never for UI transitions.
- spring/bounce: Playful brands only. Subtle. Never on critical UI.
Custom Curves
/* Snappy entrance */
--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
/* Smooth move */
--ease-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);
/* Gentle settle */
--ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
Stagger Patterns
When animating multiple items (list items, grid cards), stagger by 30-60ms per item. Cap total duration at 600ms (after ~10 items, start them together in groups).
Reduced Motion
Always respect prefers-reduced-motion. This is not optional.
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}
Anti-Patterns
- Animations that block interaction (can't click until animation finishes)
- Parallax scrolling on mobile (performance killer, motion sickness trigger)
- Loading spinners when a skeleton screen would work
- Bounce effects on serious/professional products
- Animation on every single element (visual noise)