emil-design-eng

Reviews and improves UI animations, CSS transitions, and component interactions using design engineering principles.

Updated Jul 1, 2026
One-click install
npx skills add https://github.com/w0lzard/Wolzard-s-Marketplace --skill emil-design-eng-w0lzard
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: emil-design-eng
Source: https://github.com/w0lzard/Wolzard-s-Marketplace/tree/main/plugins/personal-skills/skills/emil-design-eng
Command: npx skills add https://github.com/w0lzard/Wolzard-s-Marketplace --skill emil-design-eng-w0lzard

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Interfaces often feel sluggish or unpolished because of subtle animation mistakes: 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 diagnose and fix these invisible details 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. - Structured UI Reviews: Get Before/After/Why markdown tables identifying issues like transition: all, ease-in on UI elements, missing :active states, and incorrect transform-origin on popovers. - Component-Level Guidance: Apply concrete patterns for buttons, tooltips, drawers, toasts, drag gestures, springs, clip-path reveals, and stagger animations with CSS, Framer Motion, and WAAPI. - Use Case: Paste a React component with a dropdown that feels sluggish, and receive a table of fixes such as switching ease-in to a custom ease-out curve and reducing duration from 400ms to 200ms. ## Quick Start Review this dropdown component's animation code and tell me what to fix to make it feel more responsive.

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?

Keep UI animations under 300ms and use ease-out curves so movement starts immediately. Add transform: scale(0.97) on :active for press feedback, and remove animation entirely from keyboard-initiated actions that repeat hundreds of times daily.

What easing curve should I use for dropdowns and popovers?

Use ease-out for elements entering the screen, since ease-in delays initial movement and feels sluggish. Prefer custom cubic-bezier curves like cubic-bezier(0.23, 1, 0.32, 1) over built-in CSS easings, which are too weak.

Should I use CSS transitions or keyframes for UI animations?

Use CSS transitions for dynamic, rapidly-triggered UI like toasts because they can be interrupted and retargeted mid-animation. Keyframes restart from zero on interruption, which causes visual jumps in interactive components.

Why does my Framer Motion animation drop frames under load?

Framer Motion's shorthand x, y, and scale props run on the main thread via requestAnimationFrame and are not hardware-accelerated. Use the full transform string like transform: translateX(100px), or switch to CSS animations which run off the main thread.

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

Use the prefers-reduced-motion media query to remove transform-based movement while keeping opacity and color transitions that aid comprehension. Reduced motion means fewer and gentler animations, not zero animation.

When should I use spring animations instead of duration-based ones?

Use springs for drag interactions with momentum, interruptible gestures, and elements that should feel alive, since springs maintain velocity when interrupted. Avoid bounce in most UI contexts and keep it subtle (0.1-0.3) when used.