Help us improve
Share bugs, ideas, or general feedback.
From build-ios-apps
Implement, review, or improve SwiftUI features using the iOS 26+ Liquid Glass API. Use when asked to adopt Liquid Glass in new SwiftUI UI, refactor an existing feature to Liquid Glass, or review Liquid Glass usage for correctness, performance, and design alignment.
npx claudepluginhub robinebers/converted-plugins --plugin build-ios-appsHow this skill is triggered — by the user, by Claude, or both
Slash command
/build-ios-apps:swiftui-liquid-glassThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill to build or review SwiftUI features that fully align with the iOS 26+ Liquid Glass API. Prioritize native APIs (`glassEffect`, `GlassEffectContainer`, glass button styles) and Apple design guidance. Keep usage consistent, interactive where needed, and performance aware.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Use this skill to build or review SwiftUI features that fully align with the iOS 26+ Liquid Glass API. Prioritize native APIs (glassEffect, GlassEffectContainer, glass button styles) and Apple design guidance. Keep usage consistent, interactive where needed, and performance aware.
Choose the path that matches the request:
GlassEffectContainer where multiple glass elements appear.GlassEffectContainer when multiple glass elements coexist..glassEffect(...) after layout and visual modifiers..interactive() for elements that respond to touch/pointer.#available(iOS 26, *) and provide a non-glass fallback.#available(iOS 26, *) present with fallback UI.GlassEffectContainer.glassEffect applied after layout/appearance modifiers.interactive() only where user interaction exists.glassEffectID used with @Namespace for morphing.GlassEffectContainer and tune spacing..glassEffect(.regular.tint(...).interactive(), in: .rect(cornerRadius: ...)) as needed..buttonStyle(.glass) / .buttonStyle(.glassProminent) for actions.glassEffectID when hierarchy changes.Use these patterns directly and tailor shapes/tints/spacing.
if #available(iOS 26, *) {
Text("Hello")
.padding()
.glassEffect(.regular.interactive(), in: .rect(cornerRadius: 16))
} else {
Text("Hello")
.padding()
.background(.ultraThinMaterial, in: RoundedRectangle(cornerRadius: 16))
}
GlassEffectContainer(spacing: 24) {
HStack(spacing: 24) {
Image(systemName: "scribble.variable")
.frame(width: 72, height: 72)
.font(.system(size: 32))
.glassEffect()
Image(systemName: "eraser.fill")
.frame(width: 72, height: 72)
.font(.system(size: 32))
.glassEffect()
}
}
Button("Confirm") { }
.buttonStyle(.glassProminent)
references/liquid-glass.md