animations

Enforce safe and performant UI animations with containment and modifier order.

32|10|Updated Feb 21, 2026
One-click install
npx skills add https://github.com/moasq/nanowave --skill animations-moasq
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: animations
Source: https://github.com/moasq/nanowave/tree/main/internal/orchestration/skills/ui/animations
Command: npx skills add https://github.com/moasq/nanowave --skill animations-moasq

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill addresses common pitfalls in UI animation implementation, ensuring animations are visually contained, performant, and adhere to best practices for timing and transitions.

Core Features & Use Cases

  • Containment Enforcement: Prevents animated content from overflowing parent views using .compositingGroup().clipped().
  • Modifier Order Guidance: Ensures animations are applied correctly after layout and transformations.
  • Performance Optimization: Recommends GPU-accelerated transforms over layout-driven animations.
  • Timing and Transitions: Provides guidelines for appropriate timing curves and safe transition application.
  • Use Case: When implementing a card-based UI where cards animate in or out, this skill ensures the animations do not break out of the card's bounds, maintaining a clean and professional look.

Quick Start

Apply containment modifiers to ensure animated content does not overflow its parent container.

Frequently Asked Questions about animations

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

FAQPage Schema
How do I stop SwiftUI animations from overflowing parent bounds?

To stop SwiftUI animations from overflowing parent bounds, apply containment modifiers like `.compositingGroup().clipped()` to the parent view. This enforces visual containment and prevents animated content from breaking out of its designated bounds.

What is the best way to optimize SwiftUI animation performance?

The best way to optimize SwiftUI animation performance is prioritizing GPU-accelerated transforms over layout-driven animations. This approach reduces computational overhead and ensures smoother transitions during UI state changes.

How does modifier order affect SwiftUI transitions?

Modifier order affects SwiftUI transitions because animations must be applied correctly after layout and transformations. Incorrect ordering can break containment, disrupt timing curves, and cause unexpected visual behavior.

When do I use .animation vs withAnimation for SwiftUI state changes?

You use `.animation` for implicit animations tied to specific view changes, and `withAnimation` for explicit animations triggered by state changes. Correct application ensures safe transitions and proper list animation behavior.

Why does my SwiftUI card-based UI animation look broken?

Your SwiftUI card-based UI animation looks broken likely due to missing containment enforcement or incorrect modifier order. Applying `.compositingGroup().clipped()` prevents overflow and maintains a clean look during transitions.