swiftui-animation

Implement and review SwiftUI animations with correct API selection and Reduce Motion support.

Updated May 6, 2026
One-click install
npx skills add https://github.com/Roy-wonji/claude-config --skill swiftui-animation-roy-wonji
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: swiftui-animation
Source: https://github.com/Roy-wonji/claude-config/tree/main/skills/swift-ios-skills/skills/swiftui-animation
Command: npx skills add https://github.com/Roy-wonji/claude-config --skill swiftui-animation-roy-wonji

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

SwiftUI animations often look wrong, trigger at the wrong time, or ignore accessibility settings like Reduce Motion; this Skill helps you implement and review animations that behave as intended.

Core Features & Use Cases

  • Correct animation selection: Choose the right API for the job, including explicit withAnimation, implicit .animation(_:body:) / .animation(_:value:), PhaseAnimator, KeyframeAnimator, matchedGeometryEffect, and iOS 17+ transitions like .contentTransition.
  • Modern curve & spring usage: Apply SwiftUI timing curves and iOS 17+ Spring initializers (including .smooth, .snappy, .bouncy) with consistent intent.
  • Accessibility and performance guardrails: Ensure Reduce Motion support via accessibilityReduceMotion, avoid expensive per-frame work in animator closures, and verify animation scope and identity to prevent glitches.

Quick Start

Ask the AI to review your SwiftUI animation code and recommend the smallest change needed to make it animate correctly with proper Reduce Motion handling.

Frequently Asked Questions about swiftui-animation

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

FAQPage Schema
Why does my SwiftUI animation trigger at the wrong time or ignore Reduce Motion settings?

SwiftUI animation glitches often occur from incorrect API scoping with `withAnimation` or missing `accessibilityReduceMotion` checks. This Skill reviews your code to ensure animations trigger reliably, match user intent, and respect accessibility settings.

How do I choose between explicit withAnimation and implicit .animation(_:value:) in SwiftUI?

Choosing between explicit and implicit SwiftUI animations depends on your state-driven scope. This Skill helps you select the correct API, ensuring precise animation triggering and avoiding modifier-scoped animation misfires across iOS 14–18+.

What's the best way to implement matchedGeometryEffect for shared element transitions without glitches?

Implementing `matchedGeometryEffect` reliably requires strict identity correctness and proper animation scoping. This Skill guides you through shared-element and navigation zoom transitions to prevent common glitches and maintain performance.

How do I use KeyframeAnimator and PhaseAnimator for multi-phase SwiftUI choreography?

Using `KeyframeAnimator` and `PhaseAnimator` for multi-phase SwiftUI choreography requires correct API choice and avoiding heavy work inside animator closures. This Skill helps you apply these APIs accurately for smooth, performant results.

Does this approach support iOS 17 Spring initializers like .smooth and .snappy?

Yes, this Skill supports modern SwiftUI curve and `Spring` initializers, including `.smooth`, `.snappy`, and `.bouncy`. It ensures you apply these timing curves with consistent intent across your UI transitions.

When should I not use heavy work inside SwiftUI animator closures?

You should avoid expensive per-frame work inside SwiftUI animator closures to maintain performance. This Skill provides accessibility and performance guardrails, verifying your animation scope and identity to prevent dropped frames.