emil-design-eng

Review UI animation code and enforce transform/opacity-only motion standards.

12|Updated Dec 25, 2024
One-click install
npx skills add https://github.com/whyte25/reusables --skill emil-design-eng-whyte25
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: emil-design-eng
Source: https://github.com/whyte25/reusables/tree/main/.agents/skills/emil-design-eng
Command: npx skills add https://github.com/whyte25/reusables --skill emil-design-eng-whyte25

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps you design and review UI animations and component interactions so they feel responsive, intentional, and “invisible-correct” instead of janky or overdone.

Core Features & Use Cases

  • Taste-guided animation decisions: Decide when to animate, what easing to use, and how fast motion should be based on interaction frequency and purpose.
  • Production-ready review standards: Enforce a specific review format and catch common UI/animation issues like transition: all, scale(0) entrances, wrong popover origins, and sluggish ease-in.
  • Implementation principles for smooth motion: Prefer transform/opacity, use interruptible transitions, apply spring reasoning for gesture-driven motion, and respect accessibility (prefers-reduced-motion).

Quick Start

Ask the AI to review your UI animation or component code and explain the before/after fixes in a single markdown table, following the skill’s review rules.

Frequently Asked Questions about emil-design-eng

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I review UI animation code for responsiveness and taste?

Review UI animation code by enforcing a markdown Before/After/Why table format that catches janky transitions, wrong easing, and overdone motion. This process evaluates interaction frequency to determine correct duration limits and applies transform/opacity-only rules for invisible-correct component motion.

What is the best way to choose easing and duration for component motion?

Choose easing and duration for component motion by basing decisions on interaction frequency and purpose, avoiding sluggish ease-in and scale(0) entrances. Taste-driven animation rules enforce specific duration limits and spring reasoning for gesture-driven elements to ensure interfaces feel intentional.

How do I handle accessibility-aware animation for interactive UI elements?

Handle accessibility-aware animation by respecting the prefers-reduced-motion constraint across buttons, tooltips, popovers, and toasts. This ensures interactive feedback and component motion remain usable without triggering vestibular issues, applying interruptible transitions only when appropriate.

Why does my CSS transition feel janky when using transition all?

CSS transition feels janky because transition: all animates non-transform properties, causing layout thrashing instead of smooth motion. A code review enforces transform/opacity-only animation principles and interruptible transitions to prevent sluggish rendering and ensure responsive interactive feedback.

When should I not use ease-in for popover and tooltip animations?

Avoid ease-in for popover and tooltip animations when elements need to feel responsive, as ease-in creates a sluggish start. Use taste-driven easing rules instead, ensuring correct popover origins and appropriate duration limits for component interactions that feel invisible-correct.

Can I use spring physics for gesture-driven UI animations?

Use spring physics for gesture-driven UI animations to create natural, interruptible transitions that respond correctly to user input. Implementation principles apply spring reasoning specifically to gesture-driven motion, while standard component motion relies on defined easing curves and duration limits.