mcpField
I
ios-animations

ios-animations

github.com/pproencaDesign & UI218345 installsUpdated 11w ago
Repository

About ios-animations

ios-animations is an animation practice guide for SwiftUI developers. It focuses on motion architecture, gestures, and transitions, with guidance shaped by performance, accessibility, and design-system constraints.

Key features

  1. 01Rules across eight animation categories
  2. 02Spring and animation-timing guidance
  3. 03Gesture continuity and spatial transitions
  4. 04Micro-interaction and sequence patterns
  5. 05Reduced-motion and design-token guidance

Use cases

  1. 01Add animations to SwiftUI views
  2. 02Build drag and swipe interactions
  3. 03Design expand, collapse, or navigation transitions
  4. 04Review animation performance and accessibility

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/pproenca/dot-skills --skill ios-animations

After installing, type/ios-animationsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

metadata.json
assets/templates/
_template.md
references/
_sections.md
content-numeric-text.md
content-scroll-transition.md
content-symbol-replace.md
content-text-renderer.md
content-visual-effect.md
craft-blur-bridge.md
craft-drawing-group.md
craft-geometry-group.md
craft-reduce-motion.md
craft-transaction-debug.md
feel-250ms-max.md
feel-asymmetric-enter-exit.md
feel-distance-proportional.md
feel-faster-better.md
feel-haptic-sync.md
feel-stagger-timing.md
gesture-interruptible.md
gesture-momentum-dismiss.md
gesture-projected-landing.md
gesture-rubber-band.md
gesture-scroll-drag-conflict.md
gesture-snap-points.md
gesture-state-transient.md
micro-button-press-scale.md
micro-haptic-pairing.md
micro-loading-phase.md
micro-long-press-fill.md

Details

From the project README

dot-skills — Airbnb iOS SwiftUI Animations Best Practices

Opinionated, strict animation craft guide for SwiftUI iOS 26 / Swift 6.2 apps. Contains 50 rules across 8 categories, prioritized by impact. Derived from Airbnb Engineering motion patterns, Apple WWDC sessions, and Apple Human Interface Guidelines. Mandates @Equatable on every animated view, motion tokens for all spring/timing values, and design system tokens for layout.

Mandated Architecture Alignment

This skill is designed to work alongside swift-ui-architect and ios-design-system. All code examples follow the same non-negotiable constraints:

  • @Equatable macro on every view (Airbnb measured 15% scroll hitch reduction)
  • @Observable for complex animation state that involves business logic triggers
  • @State for view-owned animation state (toggle booleans, drag offsets)
  • Design system tokens: Spacing.xs/sm/md/lg, Radius.sm/md/lg — zero hardcoded layout numbers
  • Motion tokens: Motion.standard/responsive/playful — zero scattered spring literals
  • Semantic colors: .backgroundSurface, .accentPrimary — no raw Color literals in views
  • Feature animations remain presentation-only; data/network concerns stay in Data package

Scope & Relationship to Sibling Skills

This skill is the motion layer — it teaches how to BUILD fluid, performant animations. When loaded alongside sibling skills:

Sibling SkillIts FocusThis Skill's Focus
swift-ui-architectArchitecture (modular MVVM-C, route shells, protocol boundaries)Animation architecture (motion tokens, spring selection, orchestration)
ios-design-systemDesign system infrastructure (tokens, styles, governance)Motion tokens and animated component patterns
ios-higHIG compliance patternsMotion-specific HIG (reduce motion, spatial continuity)

Out of scope: Designer-authored vector animations (use Lottie for After Effects exports). Complex UIKit transition controllers (see Airbnb's declarative transition framework). This skill covers programmatic SwiftUI animations only.

Clinic Architecture Contract (iOS 26 / Swift 6.2)

All guidance in this skill assumes the clinic modular MVVM-C architecture:

  • Feature modules import Domain + DesignSystem only (never Data, never sibling features)
  • App target is the convergence point and owns DependencyContainer, concrete coordinators, and Route Shell wiring
  • Domain stays pure Swift and defines models plus repository, *Coordinating, ErrorRouting, and AppError contracts
  • Data owns SwiftData/network/sync/retry/background I/O and implements Domain protocols
  • Read/write flow defaults to stale-while-revalidate reads and optimistic queued writes
  • ViewModels call repository protocols directly (no default use-case/interactor layer)

When to Apply

Reference these guidelines when:

  • Adding animations to SwiftUI views or transitions
  • Building gesture-driven interactions (drag, swipe, pan)
  • Connecting views with spatial transitions (expand/collapse, navigation morphs)
  • Designing micro-interactions (button press, toggle, loading states)
  • Making content changes feel physical (number rolls, symbol replacements)
  • Choreographing multi-element animation sequences (KeyframeAnimator, PhaseAnimator)
  • Defining motion tokens for a design system
  • Reviewing animation code for performance, accessibility, and architecture compliance

Rule Categories by Priority

PriorityCategoryImpactPrefixRules
1Spring PhysicsCRITICALspring-8
2Timing & FeelCRITICALfeel-6
3Gesture ContinuityHIGHgesture-7
4Spatial TransitionsHIGHspatial-6
5Micro-interactionsHIGHmicro-6
6OrchestrationHIGHorch-5
7Craft & PolishHIGHcraft-5
8Content MotionMEDIUM-HIGHcontent-5

Quick Reference

1. Spring Physics (CRITICAL)
2. Timing & Feel (CRITICAL)
3. Gesture Continuity (HIGH)
4. Spatial Transitions (HIGH)
5. Micro-interactions (HIGH)
6. Orchestration (HIGH)
7. Craft & Polish (HIGH)
8. Content Motion (MEDIUM-HIGH)

How to Use

Read individual reference files for detailed explanations with incorrect/correct code examples:

Reference Files

FileDescription
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information

Comments

Markdown supported