apple-design

Implements Apple-style fluid interfaces with spring animations, gesture tracking, and translucent materials for the web.

1|Updated Jul 4, 2026
One-click install
npx skills add https://github.com/trungenglish/SHOPWISE --skill apple-design-trungenglish
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: apple-design
Source: https://github.com/trungenglish/SHOPWISE/tree/main/.agents/skills/apple-design
Command: npx skills add https://github.com/trungenglish/SHOPWISE --skill apple-design-trungenglish

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Web interfaces often feel stiff and disconnected because animations are pre-scripted, gestures lack momentum, and motion cannot be interrupted mid-flight. This Skill translates Apple's fluid interface design principles from WWDC talks into concrete web techniques using CSS, Pointer Events, and spring libraries. ## Core Features & Use Cases - Gesture-Driven Motion: Implement 1:1 drag tracking with Pointer Events, velocity handoff to springs, and momentum projection so flicks and swipes feel physical. - Interruptible Spring Animations: Replace fixed-duration CSS transitions with springs that start from the current on-screen value and can be grabbed and reversed at any moment. - Materials, Depth & Typography: Build translucent layers with backdrop-filter, apply size-specific tracking and leading, and respect reduced-motion and reduced-transparency preferences. - Use Case: When building a bottom sheet or draggable card in React, use this Skill to wire pointer capture, project the flick landing point with Apple's deceleration formula, and hand off release velocity to a Motion or Framer Motion spring. ## Quick Start Ask the AI to review or build a gesture-driven UI component, such as a draggable bottom sheet with spring physics and momentum, following Apple fluid interface principles.

Frequently Asked Questions about apple-design

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

FAQPage Schema
How do I make web animations interruptible like iOS?▼

Use spring animations instead of CSS transitions or keyframes, since springs animate from the current on-screen value by default. On interrupt, read the element's live transform and start the new animation from there, carrying velocity through the re-target to avoid a visible jump.

How to implement momentum projection for a flick gesture?▼

Use Apple's projection formula: projected distance equals (velocity/1000) multiplied by decelerationRate divided by (1 minus decelerationRate), with decelerationRate around 0.998. Add this to the current position, snap to the nearest target, then animate with the release velocity.

What spring parameters should I use for UI animations?▼

Start with damping ratio 1.0 (critically damped, no overshoot) and response around 0.3 to 0.4 seconds for most UI. Add bounce with damping near 0.8 only when the gesture carried momentum, such as a flick or drag release.

Can I use backdrop-filter for translucent toolbars on the web?▼

Yes, combine backdrop-filter blur with a semi-transparent background to approximate Apple's translucent materials, letting content scroll underneath. Avoid stacking light translucent surfaces on each other, and raise background opacity when prefers-reduced-transparency is set.

Why do CSS transitions feel wrong for gesture-driven UI?▼

CSS transitions and keyframes have fixed durations and cannot be smoothly grabbed or reversed mid-flight, creating velocity discontinuities at reversals. Springs respond to new input by simply changing the target, keeping motion continuous and interruptible.

How do I handle reduced motion accessibility for animations?▼

Respond to the prefers-reduced-motion media query by replacing slides, springs, and parallax with short opacity cross-fades or static transitions. Keep opacity and color changes that aid comprehension, and drop elastic overshoot entirely.