motion-performance-architect

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

1|Updated May 4, 2026
One-click install
npx skills add https://github.com/Scardubu/SwarmXQ --skill motion-performance-architect-scardubu
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: motion-performance-architect
Source: https://github.com/Scardubu/SwarmXQ/tree/main/.ai/skills/motion-performance-architect
Command: npx skills add https://github.com/Scardubu/SwarmXQ --skill motion-performance-architect-scardubu

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Animation-heavy frontends often suffer from jank, layout thrash, and dropped frames because developers animate layout-triggering properties without a performance budget. 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 banning layout-triggering properties like width, height, top, and margin. - Performance Measurement Protocol: Provides Long Animation Frame observers, FPS monitors, and Chrome DevTools Protocol checks to detect frames exceeding 16.67ms. - Reduced Motion Contract: Exports a MotionContract object defining reduced-motion equivalents so accessibility is designed in from the start. - Use Case: Before building a page with route transitions and staggered card reveals, run this Skill to produce the motion contract, then hand it to the implementation skill so every animation stays at 60fps on mid-range mobile. ## 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 and layout thrash in my web app?

Jank usually comes from animating layout-triggering properties like width, height, top, or margin. Switch to compositor-only properties such as transform, opacity, and filter, then verify with a Long Animation Frame observer that no frame exceeds 16.67ms.

Which CSS properties are safe to animate at 60fps?

Only transform, opacity, and filter are compositor-safe and skip layout and paint. Properties like width, height, top, left, margin, padding, and font-size trigger layout and should never be animated in production.

How do I measure animation performance in the browser?

Use the Long Animation Frame API with a PerformanceObserver to log frames exceeding 16.67ms, or run a requestAnimationFrame-based FPS monitor in development. In 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 handlers. Setting it globally or permanently over-promotes layers, causing GPU memory bloat instead of smoother motion.

How do I implement reduced motion support for animations?

Design the no-motion path first: collapse durations to near-zero, replace spatial transforms with opacity fades, and remove stagger delays. Gate decorative animations behind the prefers-reduced-motion media query so state changes still communicate without movement.

What is the difference between motion-performance-architect and motion-interaction-architect?

motion-performance-architect handles strategy, measurement, and constraint-setting such as budgets and property rules. motion-interaction-architect handles implementation, APIs, and code patterns, and should run after the motion contract is defined.