micro-interactions

Designs, implements, and audits micro-interactions and motion feedback for web and mobile interfaces.

Updated Aug 10, 2026
One-click install
npx skills add https://github.com/narr07/permadi --skill micro-interactions-narr07
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: micro-interactions
Source: https://github.com/narr07/permadi/tree/main/.roo/skills/micro-interactions
Command: npx skills add https://github.com/narr07/permadi --skill micro-interactions-narr07

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Interfaces often feel static or unresponsive because user actions lack clear visual, haptic, or auditory feedback, and teams struggle to choose correct durations, easing curves, and accessible motion patterns across platforms. ## Core Features & Use Cases - Pattern Library: Provides ready-to-apply interaction recipes for buttons, toggles, modals, toasts, skeleton loading, swipe actions, pull-to-refresh, drag and drop, and shared element transitions. - Platform-Specific Guidance: Adapts implementations for web (CSS, Framer Motion, GSAP, View Transitions), iOS (SwiftUI springs, haptics), Android (Jetpack Compose, Material Motion), and React Native (Reanimated, Gesture Handler). - Accessibility & Performance Rules: Enforces prefers-reduced-motion handling, ARIA live regions, compositor-only animated properties, and 60fps performance budgets. - Use Case: When a user asks to make a settings toggle feel responsive on mobile, the skill specifies a spring animation (stiffness 500, damping 30), a 200ms track color transition, and a haptic nudge at completion. ## Quick Start Ask the assistant to design or audit the micro-interactions for a specific component, such as adding loading, success, and press states to a checkout button.

Frequently Asked Questions about micro-interactions

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

FAQPage Schema
How do I add micro-interactions to a button in React?▼

Apply a hover state with translateY(-1px) and increased shadow over 150ms, an active state with scale(0.97) over 80ms, and a loading state that fades text to a spinner. Use CSS transitions for simple states and Framer Motion for spring-based or layout animations.

What duration should UI transition animations use?▼

Functional transitions should stay between 100ms and 400ms, with button presses at 100-200ms and modals or panels at 200-300ms. Exit animations should run at 60-75% of the enter duration, and anything over 400ms feels sluggish to users.

Framer Motion vs GSAP for web animations?▼

Framer Motion suits React projects needing spring physics, layout animations, and shared element transitions. GSAP is better for complex timeline orchestration and framework-agnostic sequencing, while plain CSS transitions handle simple state changes.

How do I support prefers-reduced-motion in animations?▼

Wrap animations in a @media (prefers-reduced-motion: no-preference) query so motion is opt-in, or set animation and transition durations to 0.01ms under the reduce query. In JavaScript, detect the preference with window.matchMedia and skip motion accordingly.

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

Only animate transform, opacity, filter, and clip-path, since these run on the compositor without triggering layout. Never animate width, height, top, left, margin, or padding, and remove will-change after animations complete to free GPU memory.

When should I avoid adding animations to an interface?▼

Skip animations that are purely decorative, would frustrate users on the hundredth use, or block input during playback. Every animation must serve a function, and the underlying feature must still work when all animation is disabled.