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.
Install with Tessl CLI
npx tessl i github:Dimillian/Skills --skill swiftui-liquid-glass100
Does it follow best practices?
Validation for skill structure
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.md343f5b3
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.