interaction-design

Implement microinteractions, motion design, and UI feedback patterns using Framer Motion, GSAP, and CSS.

Updated Apr 23, 2026
One-click install
npx skills add https://github.com/SanketAdlak/PDMProjectDesign --skill interaction-design-sanketadlak
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: interaction-design
Source: https://github.com/SanketAdlak/PDMProjectDesign/tree/main/.agents/skills/interaction-design
Command: npx skills add https://github.com/SanketAdlak/PDMProjectDesign --skill interaction-design-sanketadlak

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires framer-motion, gsap, lenis, and includes references (resource) components.

What problem does it solve? Building polished UI interactions requires knowing correct timing values, easing functions, animation library APIs, and accessibility rules, which developers often get wrong, resulting in janky or over-animated interfaces. ## Core Features & Use Cases - Microinteraction Patterns: Ready-to-use implementations for loading buttons, toggles, ripple effects, swipe-to-dismiss, and toast notifications using Framer Motion. - Animation Library Guidance: Reference implementations for Framer Motion, GSAP with ScrollTrigger, Web Animations API, and View Transitions API. - Scroll Animations: Parallax effects, scroll progress indicators, staggered reveals, and sticky sections built on Intersection Observer and scroll-linked transforms. - Use Case: When adding a loading state to a checkout button, apply the LoadingButton pattern with AnimatePresence transitions and a spinner, respecting prefers-reduced-motion for accessibility. ## Quick Start Add a smooth spring-based hover and tap animation to my React button component using Framer Motion.

Frequently Asked Questions about interaction-design

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

FAQPage Schema
How do I add microinteractions to a React button?

Use Framer Motion's motion.button with whileHover and whileTap props for scale feedback, combined with a spring transition like stiffness 400 and damping 17. This gives immediate tactile feedback on hover and click without blocking user input.

Framer Motion vs GSAP for React animations?

Framer Motion suits declarative React animations, gestures, and layout transitions with AnimatePresence. GSAP excels at complex timelines, ScrollTrigger parallax effects, and text splitting where imperative control over sequencing is needed.

How do I respect prefers-reduced-motion in animations?

Check the prefers-reduced-motion media query with window.matchMedia and set animation duration to zero when matched. Also add a CSS media query that forces animation-duration and transition-duration to 0.01ms globally.

Why are my CSS animations janky and not 60fps?

Janky animations usually come from animating layout properties like width, height, top, or left, which trigger reflow. Animate only transform and opacity, and use will-change sparingly to hint GPU acceleration.

How do I implement scroll-triggered animations in React?

Use an Intersection Observer hook to detect when elements enter the viewport, then trigger transitions or Framer Motion animations. For scroll-linked effects like parallax, use Framer Motion's useScroll and useTransform or GSAP ScrollTrigger.