Individual skill
ios-animations
Clinic-architecture-aligned iOS animation craft guidelines for SwiftUI (iOS 26 / Swift 6.2) covering motion tokens, spring physics, gesture continuity, spatial transitions, micro-interactions, and accessibility. Enforces @Equatable on animated views and keeps animation state aligned with Domain/Data feature boundaries. Use when writing, reviewing, or refactoring SwiftUI animation code under the clinic modular MVVM-C architecture.
skills/.experimental/ios-animations/SKILL.md
Source commit cf93c57cac89d6fc3e4194686000411567f5caf3
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 222
- Repository last updated
- Aug 15, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- engineering Derived category
- writing Derived category
- data Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 11,198 bytesassets/templates/_template.mddoc · 1,128 bytesmetadata.jsonasset · 1,983 bytesreferences/_sections.mddoc · 2,781 bytesreferences/content-numeric-text.mddoc · 4,584 bytesreferences/content-scroll-transition.mddoc · 6,333 bytesreferences/content-symbol-replace.mddoc · 6,537 bytesreferences/content-text-renderer.mddoc · 6,235 bytesreferences/content-visual-effect.mddoc · 6,140 bytesreferences/craft-blur-bridge.mddoc · 6,965 bytesreferences/craft-drawing-group.mddoc · 6,408 bytesreferences/craft-geometry-group.mddoc · 7,745 bytesreferences/craft-reduce-motion.mddoc · 7,865 bytesreferences/craft-transaction-debug.mddoc · 8,663 bytesreferences/feel-250ms-max.mddoc · 5,358 bytesreferences/feel-asymmetric-enter-exit.mddoc · 6,144 bytesreferences/feel-distance-proportional.mddoc · 6,294 bytesreferences/feel-faster-better.mddoc · 6,599 bytesreferences/feel-haptic-sync.mddoc · 7,335 bytesreferences/feel-stagger-timing.mddoc · 8,158 bytesreferences/gesture-interruptible.mddoc · 5,470 bytesreferences/gesture-momentum-dismiss.mddoc · 7,113 bytesreferences/gesture-projected-landing.mddoc · 6,207 bytesreferences/gesture-rubber-band.mddoc · 4,352 bytesreferences/gesture-scroll-drag-conflict.mddoc · 6,605 bytesreferences/gesture-snap-points.mddoc · 6,404 bytesreferences/gesture-state-transient.mddoc · 6,054 bytesreferences/micro-button-press-scale.mddoc · 4,542 bytesreferences/micro-haptic-pairing.mddoc · 5,644 bytesreferences/micro-loading-phase.mddoc · 6,438 bytesreferences/micro-long-press-fill.mddoc · 6,261 bytesreferences/micro-symbol-effect.mddoc · 5,338 bytesreferences/micro-toggle-bounce.mddoc · 5,913 bytesreferences/orch-coordinated-entrance.mddoc · 6,502 bytesreferences/orch-keyframe-animator.mddoc · 7,469 bytesreferences/orch-phase-animator.mddoc · 6,961 bytesreferences/orch-stagger-children.mddoc · 7,635 bytesreferences/orch-timeline-view.mddoc · 6,579 bytesreferences/spatial-hero-shared-element.mddoc · 10,859 bytesreferences/spatial-matched-geometry.mddoc · 6,091 bytesreferences/spatial-sheet-morph.mddoc · 9,278 bytesreferences/spatial-tab-continuity.mddoc · 8,867 bytesreferences/spatial-transition-origin.mddoc · 8,161 bytesreferences/spatial-zoom-navigation.mddoc · 5,920 bytesreferences/spring-bouncy-celebration.mddoc · 5,544 bytesreferences/spring-completion-chaining.mddoc · 8,871 bytesreferences/spring-custom-parameters.mddoc · 5,823 bytesreferences/spring-motion-tokens.mddoc · 5,499 bytesreferences/spring-never-linear.mddoc · 7,452 bytesreferences/spring-smooth-default.mddoc · 4,429 bytesreferences/spring-snappy-responsive.mddoc · 4,912 bytesreferences/spring-velocity-preservation.mddoc · 6,628 bytes
Read excerpt
# 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