Skip to content
Back to skills

Gesture Responses

ASecurity

Use when responding to touch or click interactions - button presses, drag feedback, swipe responses, tap ripples, or any direct manipulation animation.

  • 666 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added February 8, 2026
developmentjavascriptjavaspring

Works with

  • cli

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill gesture-responses --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gesture Responses?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gesture Responses
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-gesture-responses/badge)](https://www.skillsdirectory.com/skills/majiayu000-gesture-responses)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gesture-responses
description: Use when responding to touch or click interactions - button presses, drag feedback, swipe responses, tap ripples, or any direct manipulation animation.
---

# Gesture Response Animations

Apply Disney's 12 principles to direct user interactions.

## Principle Application

**Squash & Stretch**: Elements compress on press (scale 0.95-0.97), spring back on release.

**Anticipation**: The press IS the anticipation. Response should be immediate - no delay.

**Staging**: Response originates from interaction point. Ripples expand from tap location.

**Straight Ahead vs Pose-to-Pose**: Define rest, pressed, and released poses. Transitions flow between them.

**Follow Through & Overlapping**: Release animation overshoots rest position. Scale to 1.02, settle to 1.0.

**Slow In/Slow Out**: Press: instant. Release: ease-out with overshoot `cubic-bezier(0.34, 1.56, 0.64, 1)`.

**Arcs**: Drag elements follow finger with slight lag on curves. Snapping follows arc to destination.

**Secondary Action**: Press triggers ripple + scale + shadow change simultaneously.

**Timing**:
- Press response: 0-50ms (must feel instant)
- Release recovery: 150-300ms (can be playful)
- Ripple expansion: 400-600ms (decorative, can be slower)

**Exaggeration**: Subtle for press (0.97), playful for release (overshoot 1.03).

**Solid Drawing**: Pressed state should feel "pushed in" - smaller scale, reduced shadow, shifted color.

**Appeal**: Gestures should feel physically satisfying. Like pressing a real button.

## Timing Recommendations

| Gesture | Press Duration | Release Duration | Easing |
|---------|---------------|------------------|--------|
| Tap/Click | 50ms | 200ms | ease-out + overshoot |
| Long Press | 50ms | 300ms | ease-out |
| Drag Start | 100ms | - | ease-out |
| Drag Release | - | 300ms | spring |
| Swipe | - | 200-400ms | ease-out |
| Pinch | real-time | 300ms | spring |

## Implementation Patterns

```css
/* Button press */
.button {
  transition: transform 50ms ease-out;
}

.button:active {
  transform: scale(0.97);
}

/* Release with overshoot */
.button:not(:active) {
  transition: transform 250ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Material ripple */
.ripple {
  animation: ripple 600ms ease-out forwards;
}

@keyframes ripple {
  from {
    transform: scale(0);
    opacity: 0.5;
  }
  to {
    transform: scale(4);
    opacity: 0;
  }
}
```

## Drag Feedback Pattern

```javascript
// Smooth drag with slight lag
element.style.transform = `translate(${x}px, ${y}px)`;
element.style.transition = 'transform 50ms ease-out';

// Snap back with spring
element.style.transition = 'transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1)';
element.style.transform = 'translate(0, 0)';
```

## Critical Rule

Gesture responses must be under 100ms to feel connected to the action. Anything slower breaks the direct manipulation illusion. Test on actual touch devices.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.