motion-interaction-architect

Implements Framer Motion animation systems with tokens, transitions, gestures, and reduced-motion support for React apps.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires framer-motion.

What problem does it solve? Adding animations to a React or Next.js app often results in inconsistent durations, janky page transitions, missing exit animations, and broken experiences for users who prefer reduced motion. This Skill provides a structured protocol for designing a coherent motion system with Framer Motion so every animation is purposeful, performant, and accessible. ## Core Features & Use Cases - Motion Token System: Centralized duration, spring, and easing tokens (80ms–400ms) so all animations share one consistent timing language. - Production Patterns: Ready-to-adapt implementations for hover/press micro-interactions, modals with AnimatePresence, staggered list entrances, scroll-driven parallax, animated number counters, drag-to-dismiss gestures, and Next.js App Router page transitions. - Reduced-Motion Accessibility: A useMotionSafe hook pattern that guarantees every animation has an instant no-motion fallback when prefers-reduced-motion is set. - Use Case: A developer building a Next.js dashboard needs page transitions, a staggered card list, and an animated stats counter. The Skill supplies the MotionProvider setup with LazyMotion, the page transition wrapper, and the spring-based counter, all passing the reduced-motion quality gates. ## Quick Start Ask the AI to set up Framer Motion page transitions and staggered list animations in your Next.js App Router project with reduced-motion support.

Frequently Asked Questions about motion-interaction-architect

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

FAQPage Schema
How do I add page transitions in Next.js App Router with Framer Motion?

Wrap your layout children in AnimatePresence with mode="wait" and key the motion element by usePathname() so each route change triggers exit then enter animations. Use fade plus small vertical offset variants with durations under 400ms.

How to create staggered list animations with Framer Motion?

Define container variants with staggerChildren (around 60ms) and delayChildren, then give each child item its own variants. Add the layout prop to list items so reordering and removal animate smoothly without jump cuts.

Does Framer Motion support reduced motion accessibility?

Yes, Framer Motion provides a useReducedMotion hook that detects the user's prefers-reduced-motion setting. Wrap it in a custom hook that returns zero-duration transitions so every animation has an instant no-motion fallback.

Should I use springs or tweens for UI animations?

Springs are preferred for most UI motion because they feel physical and natural, with stiffness and damping controlling the feel. Reserve tween easing for linear progress indicators where constant speed is semantically correct.

Why does my Framer Motion exit animation not play?

Exit animations only run when the component is wrapped in AnimatePresence and removed by conditional rendering, not by unmounting the parent. Ensure AnimatePresence sits outside the conditional and each child has a stable key.

How do I reduce Framer Motion bundle size?

Use LazyMotion with the domAnimation feature set instead of importing the full library, and switch from motion.div to m.div components. This defers loading animation features and significantly shrinks the initial bundle.