motion-interaction-architect

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

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

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 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) that keep every animation consistent across the app. - Production Patterns: Ready-to-adapt implementations for modals with AnimatePresence, staggered list entrances, scroll-driven parallax with useScroll/useTransform, drag-to-dismiss gestures, animated number counters, 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 modal with backdrop fade, and a staggered card list. The Skill supplies the MotionProvider setup with LazyMotion, the page transition wrapper using mode="wait", and quality gates verifying bundle size and accessibility. ## Quick Start Ask the AI to set up Framer Motion page transitions and a staggered list animation in your Next.js app 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 children in an AnimatePresence component keyed by usePathname, using mode="wait" so the exiting page finishes before the new one enters. Define initial, animate, and exit variants with opacity and small y offsets, keeping durations between 250ms and 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 each m.li so reordering or removing items animates smoothly instead of jump-cutting.

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 when the preference is set, ensuring every animation has an instant no-motion fallback.

How do I reduce Framer Motion bundle size in React?

Use LazyMotion with the domAnimation feature set instead of importing the full framer-motion bundle. Wrap your app in the LazyMotion provider and use the m component (m.div) rather than motion.div throughout your components.

Why is my Framer Motion exit animation not playing?

Exit animations only run when the component is wrapped in AnimatePresence and removed conditionally from the tree. Verify AnimatePresence is a direct parent of the conditional element and that each child has a stable key.

When should I use springs versus tween animations?

Use springs for physical, interactive motion like button presses, modals, and layout shifts since they feel natural and handle interruptions well. Reserve tween easing for linear progress indicators or cases requiring exact duration control.