Agent skill

ios-26-platform

Use when implementing iOS 26 features (Liquid Glass, new SwiftUI APIs, WebView, Chart3D), deploying iOS 26+ apps, or supporting backward compatibility with iOS 17/18.

Stars 187
Forks 13

Install this agent skill to your Project

npx add-skill https://github.com/johnrogers/claude-swift-engineering/tree/main/plugins/swift-engineering/skills/ios-26-platform

SKILL.md

iOS 26 Platform

iOS 26 introduces Liquid Glass, Apple's next-generation material design system that dynamically bends light, moves organically, and adapts automatically across all platforms.

Overview

iOS 26 modernizes UI with new materials (Liquid Glass), SwiftUI APIs (WebView, Chart3D, @Animatable), and advanced features (@BackoffAnimation, free-form windows). The core principle: modern UI gets updated automatically at compile time; most Liquid Glass benefits are "free" from recompiling with Xcode 26.

Reference Loading Guide

ALWAYS load reference files if there is even a small chance the content may be required. It's better to have the context than to miss a pattern or make a mistake.

Reference Load When
Liquid Glass Implementing glass effects, choosing Regular vs Clear variants, or understanding visual properties
Automatic Adoption Understanding what iOS 26 changes automatically vs what requires code
SwiftUI APIs Using WebView, Chart3D, @Animatable, AttributedString, or new view modifiers
Toolbar & Navigation Customizing toolbars with spacers, morphing, glass button styles, or search
Backward Compatibility Supporting iOS 17/18 alongside iOS 26, or using UIDesignRequiresCompatibility

Core Workflow

  1. Check deployment target — iOS 26+ required for Liquid Glass
  2. Recompile with Xcode 26 — Standard controls get glass automatically
  3. Identify navigation layer — Apply glass to tab bars, toolbars, navigation (not content)
  4. Choose variant — Regular (95% of cases) or Clear (media-rich backgrounds only)
  5. Add @available guards — For backward compatibility with iOS 17/18
  6. Test accessibility — Verify Reduce Transparency, Increase Contrast, Reduce Motion

Common Mistakes

  1. Ignoring backward compatibility — Targeting iOS 26+ without @available guards breaks iOS 17/18 support. Always use if #available(iOS 26, *) for Liquid Glass or new APIs.

  2. Over-using glass effect — Applying glass to content areas, not just navigation, creates visual noise. Glass works for: tab bars, toolbars, sheets, navigation. NOT for content areas.

  3. Animation performance issues — Liquid Glass animations can be expensive. Respect Reduce Motion accessibility setting and profile with Instruments 26 before shipping.

  4. Assuming Clear variant looks good — Clear is for media-rich backgrounds only (photos, video). Regular variant is correct 95% of the time. Only use Clear if you explicitly need the ultra-transparency.

  5. Not testing on actual devices — Simulator rendering differs from hardware. Test glass effects on iPhone 15 Pro, iPad, and Mac to verify visual quality.

  6. Using old UIView patterns with new glass — Mixing UIView-based navigation with iOS 26 glass creates inconsistent appearances. Migrate fully to SwiftUI or wrap carefully with UIViewRepresentable.

Expand your agent's capabilities with these related and highly-rated skills.

johnrogers/claude-swift-engineering

swiftui-advanced

Use when implementing gesture composition (simultaneous, sequenced, exclusive), adaptive layouts (ViewThatFits, AnyLayout, size classes), or choosing architecture patterns (MVVM vs TCA vs vanilla, State-as-Bridge). Covers advanced SwiftUI patterns beyond basic views.

187 13
Explore
johnrogers/claude-swift-engineering

ios-hig

Use when designing iOS interfaces, implementing accessibility (VoiceOver, Dynamic Type), handling dark mode, ensuring adequate touch targets, providing animation/haptic feedback, or requesting user permissions. Apple Human Interface Guidelines for iOS compliance.

187 13
Explore
johnrogers/claude-swift-engineering

swiftui-patterns

Use when implementing iOS 17+ SwiftUI patterns: @Observable/@Bindable, MVVM architecture, NavigationStack, lazy loading, UIKit interop, accessibility (VoiceOver/Dynamic Type), async operations (.task/.refreshable), or migrating from ObservableObject/@StateObject.

187 13
Explore
johnrogers/claude-swift-engineering

grdb

Use when writing raw SQL with GRDB, complex joins across 4+ tables, window functions, ValueObservation for reactive queries, or dropping down from SQLiteData for performance. Direct SQLite access for iOS/macOS with type-safe queries and migrations.

187 13
Explore
johnrogers/claude-swift-engineering

swift-testing

Use when writing tests with Swift Testing (@Test,

187 13
Explore
johnrogers/claude-swift-engineering

localization

Use when implementing internationalization (i18n), String Catalogs, pluralization, or right-to-left layout support. Covers modern localization workflows with Xcode String Catalogs and LocalizedStringKey patterns.

187 13
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results