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.