motion-performance-architect

Defines motion budgets, compositor rules, and reduced-motion contracts for animation-heavy frontends.

1|Updated Sep 3, 2026
One-click install
npx skills add https://github.com/sabiscore/the-yap-engine --skill motion-performance-architect-sabiscore
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: motion-performance-architect
Source: https://github.com/sabiscore/the-yap-engine/tree/main/.ai/skills/motion-performance-architect
Command: npx skills add https://github.com/sabiscore/the-yap-engine --skill motion-performance-architect-sabiscore

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Animation-heavy frontends often suffer from jank, layout thrashing, and dropped frames because developers animate layout-triggering properties without a performance strategy. This Skill establishes the motion contract before any animation code is written, so every animation respects frame budgets and accessibility requirements. ## Core Features & Use Cases - Motion Intent Classification: Categorizes animations as feedback, transition, reveal, decoration, or loading, each with a strict duration budget. - Compositor-Safe Property Rules: Enforces animating only transform, opacity, and filter while forbidding layout-triggering properties like width, height, top, and margin. - Performance Measurement Protocol: Provides LoAF API observers, FPS monitors, and Chrome DevTools Protocol integration to detect frames exceeding 16.67ms. - Reduced Motion Contract: Exports a typed MotionContract object defining reduced-motion equivalents that implementation skills must follow. - Use Case: Before building a page with staggered card reveals and modal transitions, run this Skill to set the 60fps budget, cap stagger counts, and produce the motion contract that the implementation phase codes against. ## Quick Start Ask the AI to set up the motion strategy and performance budget for your animation-heavy page before writing any animation code.

Frequently Asked Questions about motion-performance-architect

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

FAQPage Schema
How do I fix janky animations in my web app?▼

Janky animations usually come from animating layout-triggering properties like width, height, top, or margin. Switch to compositor-safe properties (transform, opacity, filter), then profile with the Long Animation Frame API to confirm no frames exceed 16.67ms at 60fps.

Which CSS properties are safe to animate for 60fps?▼

Only transform, opacity, and filter are compositor-safe and skip layout and paint stages. Animating width, height, top, left, margin, padding, border-width, or font-size forces layout recalculation and causes jank.

How do I measure animation performance in the browser?▼

Use the Long Animation Frame API via PerformanceObserver to log frames exceeding 16.67ms, or run a requestAnimationFrame-based FPS monitor in development. For CI, capture frame metrics through the Chrome DevTools Protocol during Playwright tests.

When should I use will-change in CSS animations?▼

Apply will-change only during an active animation and remove it immediately after via animationend listeners. Setting it globally or permanently promotes too many GPU layers, causing memory bloat instead of performance gains.

How do I implement reduced motion for accessibility?▼

Design the no-motion path first: replace spatial transforms with opacity fades, collapse durations to 0.001s, and convert staggered entrances to simultaneous ones. Gate decorative animations behind prefers-reduced-motion: no-preference.

Why does my staggered list animation feel slow?▼

Staggering 100+ items creates entrances lasting 10 seconds or more. Cap stagger at 8-10 items and batch the remainder, and keep each item's duration within the reveal budget of 250-400ms.