emil-design-eng

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

Updated Aug 29, 2026
One-click install
npx skills add https://github.com/Seyamalam/pstu_final --skill emil-design-eng-seyamalam
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: emil-design-eng
Source: https://github.com/Seyamalam/pstu_final/tree/main/.agents/skills/emil-design-eng
Command: npx skills add https://github.com/Seyamalam/pstu_final --skill emil-design-eng-seyamalam

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 dropdowns, missing :active states, and incorrect transform-origin on popovers. - Implementation Guidance: Apply concrete CSS and React patterns for springs, clip-path reveals, gesture damping, stagger animations, @starting-style entries, and reduced-motion accessibility. - Use Case: Paste a dropdown or modal component and receive a table of specific fixes, such as replacing a 400ms ease-in transition with a 200ms custom ease-out curve and origin-aware scaling. ## Quick Start Ask the assistant to review your button, popover, or drawer component's animation code and list what feels off with concrete fixes.

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 for entering elements, keep UI animations under 300ms, and add scale(0.97) on :active for press feedback. Custom cubic-bezier curves like cubic-bezier(0.23, 1, 0.32, 1) feel stronger than built-in CSS easings.

What easing should I use for dropdown and modal animations?

Use ease-out for elements entering the screen, since ease-in delays initial movement and feels sluggish. Dropdowns work best at 150-250ms, modals at 200-500ms, with a strong custom curve rather than default CSS easings.

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/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, and never animate from scale(0); start from scale(0.95) with opacity 0 instead.

When should I not animate a UI element?

Skip animation for actions repeated hundreds of times daily, like keyboard shortcuts or command palette toggles. Animation on high-frequency interactions makes the interface feel slow and disconnected from user input.

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

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