Loading...
Loading...
SwiftUI and AppKit animation best practices for Apple platforms. Use when writing, reviewing, or implementing animations in SwiftUI (iOS 17+) or AppKit. Triggers on tasks involving transitions, easing, springs, gestures, matched geometry, phase animators, or motion.
npx skill4agent add pluk-inc/skills emilkowal-animations-swiftmatchedGeometryEffectPhaseAnimatorKeyframeAnimatoraccessibilityReduceMotion| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Timing Curves & Easing | CRITICAL | |
| 2 | Duration & Timing | CRITICAL | |
| 3 | Animation Properties | HIGH | |
| 4 | Transforms & Effects | HIGH | |
| 5 | Gesture & Interaction | HIGH | |
| 6 | Transitions & Navigation | MEDIUM-HIGH | |
| 7 | Scroll & Parallax | MEDIUM | |
| 8 | Strategic Animation | MEDIUM | |
| 9 | Accessibility & Polish | MEDIUM | |
| 10 | AppKit Specific | LOW-MEDIUM | |
ease-prefer-easeoutease-avoid-linearease-spring-defaultease-spring-ios17ease-custom-timing-curveease-ease-in-for-exitsease-ease-inout-for-emphasisease-spring-responseease-spring-dampingease-match-contexttiming-200ms-defaulttiming-100ms-microtiming-300ms-emphasistiming-stagger-childrentiming-delay-strategicprops-opacity-scaleprops-avoid-size-animateprops-transform-originprops-drawing-groupprops-animation-disableprops-explicit-animationprops-implicit-animationtransform-scale-subtletransform-rotation-purposefultransform-translate-directiontransform-3d-perspectivetransform-order-matterstransform-anchor-pointtransform-combine-effectsgesture-tap-feedbackgesture-long-pressgesture-drag-basicgesture-drag-constraintsgesture-drag-velocitygesture-gesture-stategesture-updating-modifiergesture-simultaneous-vs-exclusivegesture-magnify-gesturegesture-rotation-gesturegesture-hover-macosgesture-sensory-feedbackgesture-spring-on-releasegesture-cancellationtransition-builtin-typestransition-asymmetrictransition-combinedtransition-custom-modifiertransition-matched-geometrytransition-namespace-scopetransition-navigation-transitionstransition-sheet-presentationstransition-id-for-replacementtransition-content-transitionscroll-geometry-readerscroll-preference-keyscroll-parallax-effectscroll-sticky-headerscroll-scroll-transitionscroll-visual-effectstrategy-purposeful-motionstrategy-hierarchy-emphasisstrategy-state-communicationstrategy-spatial-continuitystrategy-brand-expressionpolish-reduce-motionpolish-phase-animatorpolish-keyframe-animatorpolish-animation-completionspolish-interruptible-animationspolish-animation-debuggingpolish-performance-profilingpolish-symbol-effectspolish-text-animationspolish-haptic-pairingappkit-nsanimation-contextappkit-core-animationappkit-layer-backed-viewsappkit-implicit-animationsappkit-spring-animationappkit-animator-proxy| Value | Usage |
|---|---|
| Standard iOS 17 spring animation |
| Classic spring configuration |
| Standard UI transition |
| Button press feedback |
| Minimum enter scale (never scale to 0) |
| Default micro-interaction duration |
| Maximum duration for UI animations |
| Sheet/drawer animation duration |
| Web Concept | SwiftUI Equivalent |
|---|---|
| |
| |
| Framer Motion spring | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| File | Description |
|---|---|
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |