emil-design-eng

Reviews and improves UI animations, transitions, and component interactions using CSS and Motion.

Updated Sep 21, 2026
One-click install
npx skills add https://github.com/maxentr/la-cuisine-de-mm --skill emil-design-eng-maxentr
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: emil-design-eng
Source: https://github.com/maxentr/la-cuisine-de-mm/tree/main/.agents/skills/emil-design-eng
Command: npx skills add https://github.com/maxentr/la-cuisine-de-mm --skill emil-design-eng-maxentr

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Interfaces often feel sluggish or unpolished because of poor animation choices: wrong easing curves, excessive durations, scale-from-zero entrances, and non-interruptible keyframes. This Skill encodes Emil Kowalski's design engineering philosophy to help you review and build UI that feels right. ## Core Features & Use Cases - Animation Decision Framework: Decide whether an element should animate at all based on usage frequency, purpose, easing, and duration, with concrete rules like keeping UI animations under 300ms and never animating keyboard-initiated actions. - Structured UI Code Reviews: Get Before/After/Why markdown tables identifying issues like transition: all, ease-in on dropdowns, missing :active press states, and wrong transform-origin on popovers. - Implementation Guidance: Covers springs, clip-path animations, gesture velocity and damping, hardware acceleration pitfalls in Framer Motion, stagger timing, reduced-motion accessibility, and debugging animations in slow motion. - Use Case: Paste a dropdown or toast component and receive a table of concrete fixes, such as replacing scale(0) entries with scale(0.95) plus opacity, or switching Framer Motion x props to hardware-accelerated transform strings. ## Quick Start Ask the assistant to review my dropdown component's animation code and suggest improvements based on design engineering principles.

Frequently Asked Questions about emil-design-eng

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make UI animations feel more responsive?

Use ease-out curves so movement starts immediately, keep durations under 300ms, and add press feedback like transform: scale(0.97) on :active. Avoid ease-in, which delays initial movement and makes interfaces feel sluggish.

When should I use springs vs CSS transitions for animation?

Use springs for drag interactions, interruptible gestures, and elements that should feel alive, since they maintain velocity when interrupted. Use CSS transitions for predetermined enter/exit states and rapidly triggered UI, since keyframes restart from zero.

Why are Framer Motion x and y props not hardware accelerated?

Framer Motion's shorthand x, y, and scale props run via requestAnimationFrame on the main thread, dropping frames under load. Use the full transform string like transform: "translateX(100px)" to stay hardware accelerated.

Should modals scale from their trigger like popovers?

No. Popovers should use transform-origin pointing at their trigger, but modals are the exception and should keep transform-origin: center because they are not anchored to a specific element.

How do I handle animations for users who prefer reduced motion?

Use the prefers-reduced-motion media query or useReducedMotion hook to remove transform-based movement while keeping opacity and color transitions. Reduced motion means gentler animation, not zero animation.