apple-design

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

3|Updated Apr 20, 2026
One-click install
npx skills add https://github.com/langgenius/due-date-hq-jwl --skill apple-design-langgenius
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: apple-design
Source: https://github.com/langgenius/due-date-hq-jwl/tree/main/.claude/skills/apple-design
Command: npx skills add https://github.com/langgenius/due-date-hq-jwl --skill apple-design-langgenius

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 (Designing Fluid Interfaces, UI Typography, Principles of Great Design) into concrete web techniques using CSS, Pointer Events, requestAnimationFrame, and spring libraries like Motion and Framer Motion. ## Core Features & Use Cases - Gesture-Driven Motion: Implement 1:1 drag tracking with Pointer Events and setPointerCapture, velocity handoff from gesture to spring, and momentum projection using Apple's exponential-decay formula to predict flick landing points. - Spring Animation Tuning: Apply Apple's damping ratio and response parameters (e.g., damping 1.0 for default UI, 0.8 for momentum interactions) mapped to Motion/Framer Motion bounce and duration values, with interruptible animations that start from the live presentation value. - Materials, Typography, and Accessibility: Build translucent layers with backdrop-filter, apply size-specific tracking and leading for typography, and honor prefers-reduced-motion, prefers-reduced-transparency, and prefers-contrast media queries. - Use Case: When building a bottom sheet that users can drag, flick, and re-grab mid-animation, use this Skill to wire pointer tracking, project the resting position from release velocity, and hand off velocity into a spring so the sheet lands naturally. ## Quick Start Ask the AI to build a draggable bottom sheet with spring physics, momentum projection, and rubber-banding at the edges following Apple design principles.

Frequently Asked Questions about apple-design

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

FAQPage Schema
How do I implement a draggable bottom sheet with momentum on the web?

Track the pointer with Pointer Events and setPointerCapture, record recent move events for velocity, then project the resting position with (v/1000)*d/(1-d) where d is about 0.998. Snap to the nearest target from that projection and start the spring with the release velocity.

What spring parameters should I use for UI animations?

Apple uses damping ratio and response instead of duration. Start most UI at damping 1.0 (critically damped, no overshoot) with response 0.3-0.4 seconds. Use damping around 0.8 only for momentum-driven interactions like flicks. In Framer Motion, map these to bounce and duration.

Why does my animation jump when the user grabs it mid-flight?

The jump happens when the new animation starts from the logical target value instead of the current rendered position. Read the element's live transform at the moment of interruption and begin the new spring from that value, carrying the existing velocity through the re-target.

How do I handle reduced motion accessibility for animated interfaces?

Respond to the prefers-reduced-motion media query by replacing slides, springs, and parallax with short opacity cross-fades. Also handle prefers-reduced-transparency by making translucent surfaces solid, and prefers-contrast by adding defined borders and near-solid backgrounds.

When should I avoid CSS transitions for gesture-driven UI?

Avoid CSS transitions and @keyframes for anything the user can touch and redirect, because they cannot be grabbed and reversed mid-flight without a visible discontinuity. Use a spring library that animates from the current value and blends velocity on reversal instead.