emil-design-eng

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

Updated Mar 4, 2026
One-click install
npx skills add https://github.com/gmolike/Claude-Template --skill emil-design-eng-gmolike
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: emil-design-eng
Source: https://github.com/gmolike/Claude-Template/tree/main/.agents/skills/emil-design-eng
Command: npx skills add https://github.com/gmolike/Claude-Template --skill emil-design-eng-gmolike

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Interfaces often feel sluggish or unpolished because of subtle animation mistakes: wrong easing curves, excessive durations, non-interruptible keyframes, and animations that trigger layout recalculation. This Skill encodes Emil Kowalski's design engineering philosophy to help you diagnose and fix these issues in UI code. ## Core Features & Use Cases - Animation Decision Framework: Decide whether an element should animate at all, which easing curve to use, and how long it should run based on interaction frequency and purpose. - UI Code Review: Review CSS and React component code against a checklist covering transitions, transform-origin, scale entries, hover media queries, and hardware acceleration, output as a Before/After/Why markdown table. - Component Craft Guidance: Apply concrete patterns for buttons, popovers, tooltips, toasts, drawers, drag gestures, springs, clip-path reveals, and stagger animations. - Use Case: Paste a dropdown component with transition: all 300ms ease-in and receive a corrected version using a custom ease-out curve at 200ms with origin-aware scaling, plus the reasoning for each change. ## Quick Start Ask the assistant to review the animation and interaction code in your React or CSS component 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 CSS animations feel more responsive?

Use ease-out curves instead of ease-in, keep UI animations under 300ms, and specify exact properties instead of transition: all. Custom cubic-bezier curves like cubic-bezier(0.23, 1, 0.32, 1) feel stronger than built-in easings.

How to review UI animation code for common mistakes?

Check for transition: all, scale(0) entry animations, ease-in on UI elements, durations over 300ms, and keyframes on rapidly triggered elements. Each issue has a concrete fix, such as starting from scale(0.95) with opacity 0 and using interruptible CSS transitions.

Should I use CSS transitions or Framer Motion for animations?

Use CSS transitions for predetermined animations since they run off the main thread and stay smooth under load. Use Framer Motion springs for interruptible gestures, but note that x and y shorthand props are not hardware-accelerated; use the full transform string instead.

Why does my popover animation look wrong when opening?

The default transform-origin: center makes popovers scale from the middle instead of their trigger. Set transform-origin to the trigger location, for example var(--radix-popover-content-transform-origin) in Radix UI. Modals are the exception and should stay centered.

When should I not animate a UI element?

Skip animation for actions repeated hundreds of times daily, such as keyboard shortcuts and command palettes, since animation makes them feel slow. Also avoid animating anything whose only purpose is looking cool when users see it frequently.

How do I support prefers-reduced-motion in animations?

Reduced motion means fewer and gentler animations, not zero. Keep opacity and color transitions that aid comprehension, but remove transform-based movement. Use the prefers-reduced-motion media query in CSS or useReducedMotion in Framer Motion.