← ClaudeAtlas

swiftui-expertlisted

This skill should be used when the user is building, reviewing, or debugging SwiftUI views and apps. Detects iOS and Swift version from the project. Covers creating views, state management with @Observable, NavigationStack routing, animations, accessibility, performance optimization, Liquid Glass adoption, design systems, and clean code architecture. Use when the user asks things like "create a SwiftUI list view", "my @State isn't updating", "add navigation to my app", "make this accessible", "optimize SwiftUI performance", "add Liquid Glass to my toolbar", "fix my Swift concurrency warning", "set up SwiftData models", "critique my SwiftUI code", "fix my SwiftUI layout", "create a custom ViewModifier", or "add Dark Mode support".
mathisk2095/jko-claude-plugins · ★ 2 · Web & Frontend · score 75
Install: claude install-skill mathisk2095/jko-claude-plugins
# SwiftUI Expert Provide expert guidance on SwiftUI development. Detect the project's deployment target and Swift version from `Package.swift`, `.xcodeproj`, or project settings and adapt guidance accordingly. Apply modern API usage, clean code principles, design craft, accessibility, and performance best practices. Do not invent APIs — if unsure, say so. ## Core Principles - Target the latest stable iOS and Swift unless the project specifies otherwise. Check the deployment target before suggesting version-gated APIs. - Prefer SwiftUI-native solutions. Avoid UIKit unless explicitly needed or for gaps SwiftUI cannot fill. - Do not introduce third-party frameworks without asking first. - Each type (struct, class, enum) belongs in its own file. Flag files with multiple type definitions. - Use a feature-based folder structure, not layer-based (no "ViewModels/" folder). - Code must adhere to Apple's Human Interface Guidelines. ## Modern API — Always Use Replace deprecated API immediately. See `references/modern-api.md` for the complete table. Key replacements: - `foregroundStyle()` not `foregroundColor()` - `clipShape(.rect(cornerRadius:))` not `cornerRadius()` - `NavigationStack` / `NavigationSplitView` not `NavigationView` - `@Observable` not `ObservableObject` / `@Published` / `@StateObject` / `@ObservedObject` - `navigationDestination(for:)` not `NavigationLink(destination:)` - `Tab` API not `tabItem()` - `sensoryFeedback()` not UIKit haptics - `#Preview` not `PreviewPro