emil-design-eng

Reviews and guides UI animation, component polish, and interaction design decisions.

Updated May 21, 2026
One-click install
npx skills add https://github.com/CagesThrottleUs/private-ai-harness --skill emil-design-eng-cagesthrottleus
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: emil-design-eng
Source: https://github.com/CagesThrottleUs/private-ai-harness/tree/main/skills/emil-design-eng
Command: npx skills add https://github.com/CagesThrottleUs/private-ai-harness --skill emil-design-eng-cagesthrottleus

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 so you can systematically review and build UI that feels responsive and refined. ## 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 usage frequency and purpose. - Structured UI Review: Produces Before/After/Why markdown tables flagging issues like transition: all, ease-in on UI elements, missing :active states, and incorrect transform-origin on popovers. - Implementation Guidance: Covers springs, clip-path animations, gesture velocity thresholds, hardware acceleration with Framer Motion, stagger delays, and reduced-motion accessibility. - Use Case: Paste a dropdown component's CSS and receive a table of concrete fixes, such as replacing transition: all 300ms with transition: transform 200ms ease-out and a custom cubic-bezier curve. ## Quick Start Ask the assistant to review your UI 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 scale(0.97) on :active for press feedback. Avoid ease-in, which delays initial movement and makes interfaces feel sluggish.

What easing curve should I use for dropdowns and modals?

Use a strong custom ease-out like cubic-bezier(0.23, 1, 0.32, 1) for entering elements, since built-in CSS easings are too weak. Dropdowns should run 150-250ms and modals 200-500ms.

Should I use CSS transitions or keyframes for UI animations?

Use CSS transitions for dynamic, rapidly-triggered UI because they can be interrupted and retargeted mid-animation. Keyframes restart from zero on interruption, causing visible jumps in elements like toasts.

Does Framer Motion hardware accelerate x and y props?

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

When should I not animate a UI element?

Skip animation for actions repeated 100+ times daily, such as keyboard shortcuts and command palettes, since animation makes them feel slow. Also avoid animating keyboard-initiated actions entirely.

How do I handle animations for users with reduced motion preferences?

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