apple-design

Implements Apple-style fluid interfaces with spring animations, gestures, and translucency on the web.

Updated Aug 29, 2026
One-click install
npx skills add https://github.com/Seyamalam/pstu_final --skill apple-design-seyamalam
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: apple-design
Source: https://github.com/Seyamalam/pstu_final/tree/main/.agents/skills/apple-design
Command: npx skills add https://github.com/Seyamalam/pstu_final --skill apple-design-seyamalam

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 WWDC design guidance into concrete web techniques so interfaces respond instantly, track the pointer 1:1, and move with physical realism. ## Core Features & Use Cases - Spring-based motion: Apply damping ratio and response parameters, velocity handoff, and momentum projection using Motion or Framer Motion instead of fixed-duration CSS transitions. - Gesture engineering: Build interruptible drag, swipe, and sheet interactions with Pointer Events, pointer capture, velocity tracking, and rubber-banding at boundaries. - Materials, typography, and accessibility: Implement translucent layers with backdrop-filter, size-specific tracking and leading, and reduced-motion/reduced-transparency fallbacks. - Use Case: When building a bottom sheet that users can flick open, drag 1:1, and grab mid-animation to reverse, use this Skill to project the flick's resting position, hand off release velocity to a spring, and keep the gesture interruptible throughout. ## Quick Start Use the apple-design skill to review my bottom sheet component and make its drag gesture interruptible with spring physics and momentum projection.

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, and always start new animations from the element's live on-screen presentation value rather than the target value. Spring libraries like Motion or Framer Motion carry velocity through re-targeting, avoiding visible jumps on reversal.

How to add momentum and flick physics to a drag gesture?

Track pointer velocity during the drag, then project the resting position with the formula current + (v/1000) * d / (1 - d) where d is about 0.998. Snap to the target nearest that projected point and pass the release velocity to the spring as its initial velocity.

What spring parameters should I use for UI animations?

Apple uses damping ratio and response instead of mass, stiffness, and damping. Start most UI at damping 1.0 with response 0.3 to 0.4 seconds for no overshoot, and use damping around 0.8 only for momentum-driven interactions like flicks and drawer throws.

Can I use CSS transitions for gesture-driven animations?

CSS transitions and keyframes should be avoided for anything gesture-driven because they cannot be grabbed and reversed mid-flight. They work for simple state changes, but springs are required when a user must be able to interrupt and redirect motion at any moment.

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. Also handle prefers-reduced-transparency by making translucent surfaces more solid, and prefers-contrast by adding defined borders.

Why does my drag animation jump when the user reverses direction?

The jump happens when the new animation starts from the logical target value instead of the current on-screen value, or when velocity is hard-cut at the reversal. Read the live transform on interrupt and use a spring that blends velocity through the re-target.