# Interaction Design
> Design and implement microinteractions, motion design, transitions, and user feedback patterns. Use when adding polish to UI interactions, implementing loading states, or creating delightful user experiences.
Source: https://skillsagentes.com/skills/wshobson/agents/interaction-design
Repository: https://github.com/wshobson/agents
Author: wshobson
License: MIT
Updated: hace 5 meses
Context cost: 52 tok installed, 1.9k tok once triggered, 10.3k tok with every bundled file
Bundle: 4 files, 40 KB
Permissions requested: none declared
## Install
```bash
npx -y skills add wshobson/agents --skill interaction-design --agent claude-code
```
## What it does
- Añade microinteracciones, transiciones y estados de carga a componentes de UI usando patrones con Framer Motion y CSS
- Proporciona guías de timing, funciones de easing y ejemplos de código para botones, toggles, skeletons y ripples
- Incluye patrones de gestos como swipe-to-dismiss y drag-and-drop
- Añade soporte de accesibilidad respetando prefers-reduced-motion
## Use it when
- Se necesita añadir microinteracciones para dar feedback al usuario
- Se implementan transiciones suaves entre páginas o componentes
- Se diseñan estados de carga y skeleton screens
- Se crean interacciones basadas en gestos, notificaciones o scroll
## What triggers it
- "Añade una animación de hover y click a este botón"
- "Crea un skeleton screen para esta tarjeta mientras carga"
- "Implementa un toggle con transición suave"
- "Diseña un sistema de notificaciones tipo toast"
## Before you install
- Los ejemplos usan React con la librería framer-motion y clases de Tailwind CSS.
## Files
- SKILL.md — 7 KB
- references/animation-libraries.md — 11 KB
- references/microinteraction-patterns.md — 13 KB
- references/scroll-animations.md — 9 KB
## SKILL.md
Reproduced verbatim from wshobson/agents under MIT. This section is the upstream document and is in English.
# Interaction Design
Create engaging, intuitive interactions through motion, feedback, and thoughtful state transitions that enhance usability and delight users.
## When to Use This Skill
- Adding microinteractions to enhance user feedback
- Implementing smooth page and component transitions
- Designing loading states and skeleton screens
- Creating gesture-based interactions
- Building notification and toast systems
- Implementing drag-and-drop interfaces
- Adding scroll-triggered animations
- Designing hover and focus states
## Core Principles
### 1. Purposeful Motion
Motion should communicate, not decorate:
- **Feedback**: Confirm user actions occurred
- **Orientation**: Show where elements come from/go to
- **Focus**: Direct attention to important changes
- **Continuity**: Maintain context during transitions
### 2. Timing Guidelines
| Duration | Use Case |
| --------- | ----------------------------------------- |
| 100-150ms | Micro-feedback (hovers, clicks) |
| 200-300ms | Small transitions (toggles, dropdowns) |
| 300-500ms | Medium transitions (modals, page changes) |
| 500ms+ | Complex choreographed animations |
### 3. Easing Functions
```css
/* Common easings */
--ease-out: cubic-bezier(0.16, 1, 0.3, 1); /* Decelerate - entering */
--ease-in: cubic-bezier(0.55, 0, 1, 0.45); /* Accelerate - exiting */
--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); /* Both - moving between */
--spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* Overshoot - playful */
```
## Quick Start: Button Microinteraction
```tsx
import { motion } from "framer-motion";
export function InteractiveButton({ children, onClick }) {
return (