apple-design

Applies Apple's fluid interface and spring animation principles to web UI development.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Web interfaces often feel stiff because animations are pre-scripted, non-interruptible, and disconnected from user gestures. This Skill translates Apple's WWDC design guidance into concrete web techniques so interfaces respond instantly, track gestures 1:1, and move with physical momentum. ## Core Features & Use Cases - Spring-based motion: Replaces fixed-duration CSS transitions with interruptible springs using damping ratio and response parameters, including concrete values Apple ships for sheets, rotations, and repositioning. - Gesture engineering: Covers pointer tracking with velocity history, velocity handoff at release, momentum projection to predict flick landing points, and rubber-banding at boundaries. - Materials, typography, and accessibility: Guides translucent layers with backdrop-filter, size-specific tracking and leading, and reduced-motion/reduced-transparency adaptations. - Use Case: When building a draggable bottom sheet in React, use this Skill to implement 1:1 pointer tracking, project the flick velocity to choose the snap point, and hand off release velocity into a spring so the gesture flows seamlessly into the animation. ## Quick Start Ask the agent to review or build a gesture-driven UI component, such as a swipeable card or modal sheet, using Apple-style spring physics and interruptible animations.

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 feel like iOS spring animations?

Use spring animations instead of fixed-duration CSS transitions, configured with damping ratio and response parameters. Start critically damped (damping 1.0, response 0.3-0.4s) for most UI, and add slight bounce only for momentum-driven gestures like flicks.

How to implement a draggable bottom sheet with momentum on the web?

Track the pointer 1:1 using Pointer Events with setPointerCapture, record velocity history, then project the resting position using exponential decay (v/1000 * d/(1-d), d≈0.998). Snap to the nearest target and hand off release velocity to the spring.

Why do my animations jump when interrupted mid-gesture?

Jumps happen when a new animation starts from the logical target value instead of the current on-screen presentation value. Read the element's live transform on interrupt and start the new spring from there, carrying velocity through the re-target.

Can I use CSS transitions for gesture-driven interactions?

CSS transitions and keyframes should be avoided for gesture-driven UI because they cannot be grabbed and reversed mid-flight. Use a spring library like Motion or Framer Motion that animates from the current value and blends velocity on interruption.

How do I handle reduced motion for spring animations?

Respond to the prefers-reduced-motion media query by replacing slides and springs with short opacity cross-fades and removing overshoot. Also handle prefers-reduced-transparency by making translucent surfaces more solid and dropping blur effects.