SwiftUI Microinteractions Pro

    1

    Production-ready SwiftUI microinteractions featuring liquid morphs, physics-based gestures, and iOS 26 Liquid Glass.

    $25

    Secure checkout via Stripe

    30-day refund guarantee

    Converts to your local currency at checkout

    0 installsSecurity scanned

    Works with the AI tools you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseOpenClawOpenClaw+21 more

    SwiftUI Microinteractions Pro

    Example session with this skill installed

    Create a premium morphing player FAB for a music app. It should be a glass capsule that morphs into a circle when scrolling, using iOS 26 Liquid Glass and snappy physics.

    • Read your context and instructions
    • Compiled the swiftui microinteractions pro

    I have generated the morphing player FAB using the Liquid Glass archetype. The component uses a single view tree to ensure a fluid morph between the pill and circle states without cross-fading.

    SwiftUI Morphing Player

    import SwiftUI
    
    // MARK: - Main View
    struct MorphingPlayerFAB: View {
        @State private var isExpanded = true
        @State private var appeared = false
        
        // Snappy physics: response 0.35, damping 0.6
        private let spring = Animation.spring(response: 0.35, dampingFraction: 0.6)
        
        var body: some View {
            ZStack(alignment: .bottom) {
                // Background grid to show off glass refraction
                ImageTileGrid()
                    .opacity(0.4)
                
                HStack(spacing: isExpanded ? 12 : 0) {
                    // Shared element: Album Art
                    RoundedRectangle(cornerRadius: 12)
                        .fill(Color.gray.opacity(0.3))
                        .frame(width: 48, height: 48)
                        .overlay(Image(systemName: "music.note").foregroundStyle(.white.opacity(0.8)))
                        .padding(.leading, 8)
                    
                    if isExpanded {
                        VStack(alignment: .leading, spacing: 2) {
                            Text("Starlight Drift")
                                .font(.system(size: 15, weight: .semibold))
                                .foregroundStyle(.white)
                            Text("Lunar Collective")
                                .font(.system(size: 13))
                                .foregroundStyle(.white.opacity(0.6))
                        }
                        .transition(.opacity.combined(with: .move(edge: .trailing)))
                        
                        Spacer()
                        
                        Image(systemName: "pause.fill")
                            .font(.system(size: 20))
                            .foregroundStyle(.white)
                            .padding(.trailing, 16)
                    }
                }
                .frame(width: isExpanded ? 320 : 64, height: 64)
                .background {
                    if #available(iOS 26.0, *) {
                        Capsule()
                            .fill(.clear)
                            .glassEffect(.regular.interactive(), in: Capsule())
                    } else {
                        Capsule()
                            .fill(.ultraThinMaterial)
                            .overlay(Capsule().stroke(.white.opacity(0.1), lineWidth: 0.5))
                    }
                }
                .clipShape(Capsule())
                .shadow(color: .black.opacity(0.2), radius: 20, y: 10)
                .padding(.bottom, 40)
                .onTapGesture {
                    UIImpactFeedbackGenerator(style: .medium).impactOccurred()
                    withAnimation(spring) {
                        isExpanded.toggle()
                    }
                }
            }
            .ignoresSafeArea()
        }
    }
    
    private struct ImageTileGrid: View {
        var body: some View {
            let columns = [GridItem(.flexible()), GridItem(.flexible())]
            ScrollView {
                LazyVGrid(columns: columns, spacing: 10) {
                    ForEach(0..<20) { i in
                        RoundedRectangle(cornerRadius: 20)
                            .fill(LinearGradient(colors: [.blue, .purple], startPoint: .topLeading, endPoint: .bottomTrailing))
                            .frame(height: 200)
                    }
                }
                .padding()
            }
        }
    }
    

    Next steps

    1. Integrate the isExpanded state with your ScrollView offset to auto-collapse the player on scroll.
    2. Replace the RoundedRectangle placeholder with AsyncImage to fetch real album artwork.
    3. Add HapticFeedback.selectionChanged() to the playback toggle for tactile confirmation.

    Connects securely to your tools. The creator never sees your data.

    What you get

    Build a morphing music player FAB that collapses on scroll.Create a physics-based grab-and-fling reward badge with haptic feedback.Implement a scratch-to-reveal coupon flow with a Lottie celebration.Design an AI status glyph that reshapes itself using conserved-ink physics.

    About this skill

    Stop shipping static, lifeless mobile interfaces. Modern iOS development demands high-fidelity motion that feels integrated with the hardware, not just bolted on.

    This skill delivers production-ready SwiftUI code for premium microinteractions. It specializes in physics-based gestures, HapticFeedback integration, and the iOS 26 Liquid Glass API. Whether you need a simple symbol animation or a complex multi-phase morphing interface, it generates compilable Swift files that follow Apple HIG defaults while pushing the boundaries of what is possible with SwiftUI and Metal.

    What it does

    • Premium Morphing creates interfaces that split and merge like liquid, including player FABs that morph from pills to circles.
    • Physics Integration builds hand-integrated mass-spring-damper simulations for grab-and-fling badge interactions.
    • Metal Shaders generates stitchable .colorEffect shaders for liquid chrome, holographic foil, and molten metal surfaces.
    • Canvas Masks delivers complex scratch-to-reveal coupon flows and high-performance metaball extrusion effects.
    • Native Scroll Drivers uses invisible UIScrollView delegates to achieve true momentum-aware paging for custom card stacks.

    How it works

    1. Define the motion by describing the feel, such as "snappy," "stretchy," or "molten."
    2. Specify the archetype like a Gesture Card, Liquid Toggle, or Hero-Zoom Context Menu.
    3. Verify the intent log to see how designer vocabulary is mapped to specific SwiftUI physics presets.
    4. Deploy the code directly to your project with automatic .xcodeproj registration and pbxproj updating.

    Frameworks & tools

    SwiftUI, CoreHaptics, SceneKit, Metal Shaders (MSL), and WidgetKit for Dynamic Island activities.

    Why this beats prompting it yourself

    Standard LLMs struggle with the specific physics constants and coordinate space math required for fluid hero morphs. This skill applies a rigid Defaults Contract and Haptic Ladder, ensuring your animations never skip a frame or fire redundant buzzes.

    Use cases

    • Building a Telegram-style reaction menu with fly-in animated GIF trays.
    • Creating a Photos-style hero-zoom context menu that respects real image aspect ratios.
    • Implementing an AI status glyph that morphs through a hinge dot rather than cross-fading.
    • Designing a high-performance Apple Fitness-style ring gauge with wrap-around shadow cues.

    Known limitations

    Requires iOS 17+ for most symbol effects. iOS 26 features like GlassEffectContainer require the latest SDK. Metal shaders need a physical device for accurate performance testing.

    How to install

    Works the same in every agent - Claude, Cursor, Codex, Copilot and 20+ more.

    ~30 seconds
    1. 1

      Download the ZIP

      Free skills download straight away. Paid skills unlock right after purchase.

    2. 2

      Unzip into your skills folder

      Every agent reads skills from one folder on your machine. Drop the unzipped folder in there.

    3. 3

      Ask your agent to use it

      Restart the agent if it was already running. It picks the skill up automatically - no config needed.

    Skills folder by agent

    Click the path to copy it. Create the folder if it does not exist yet.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    30-day refund

    Not a fit? Get your money back

    Trust & safety

    Security scanned

    Verified clean today

    • Passed all security checks, Safe to install

    Listedtoday

    What's inside

    Frequently Asked Questions