skills/ios-dev/SKILL.md
Start here for any iOS or SwiftUI task. Coordinates best-practice guides, correctness checks, and full Apple API references. Use before navigating to other Apple skills — for building, reviewing, refactoring, or debugging iOS apps.
npx skillsauth add vabole/apple-skills ios-devInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Start here. This skill coordinates the Apple skills collection — it tells you which skill to use and when, so you get opinionated guidance and full API references together.
GlassEffect modifiers only when they serve the UI, not for decorationguide-swiftui-performance-auditguide-swiftui-view-refactorguide-swiftui-ui-patternsios-ui-craftguide-swiftui-ui-patternsios-ui-craftThe Guide column has opinionated, short pattern guides. The API Reference column has full Apple documentation as grepable Markdown — use apple-docs-index to find which framework has what.
| Topic | Guide | API Reference |
|-------|-------|---------------|
| State management | guide-swiftui-ui-patterns | swiftui (state.md, binding.md, observation.md, environment.md) |
| View composition | guide-swiftui-view-refactor | swiftui (view-protocol.md) |
| Performance | guide-swiftui-performance-audit | — |
| Navigation | guide-swiftui-ui-patterns | swiftui (navigationstack.md, navigationsplitview.md, navigationlink.md) |
| Sheets & modals | guide-swiftui-ui-patterns | swiftui (sheet.md, inspector.md, alert.md, confirmationdialog.md) |
| Lists & ForEach | guide-swiftui-ui-patterns | swiftui (list.md) |
| ScrollView | guide-swiftui-ui-patterns | swiftui (scrollview.md) |
| Forms & input | — | swiftui (form.md, textfield.md, picker.md, toggle.md, slider.md) |
| Charts | guide-swiftui-charts | swiftui (chart.md, charts-overview.md) |
| Animations | guide-swiftui-animations | swiftui (swiftui-overview.md) |
| Layout | guide-swiftui-ui-patterns | swiftui (geometryreader.md, grid.md, hstack.md, vstack.md, zstack.md, spacer.md) |
| TabView | guide-swiftui-ui-patterns | swiftui (tabview.md) |
| Liquid Glass | ios-design-consultant | ios-liquid-glass |
| Visual design | ios-ui-craft | hig |
| Accessibility | guide-swiftui-ui-patterns | hig |
| macOS apps | guide-macos-spm-packaging | swiftui, uikit |
| Data persistence | guide-swiftdata | swiftdata |
| Testing | guide-swift-testing | swift-testing, xcuitest |
| Concurrency | guide-swift-concurrency | swift-concurrency |
| In-app purchases | — | storekit |
| Maps | — | mapkit |
| Health data | — | healthkit |
| Notifications | — | usernotifications |
| App Intents / Siri | — | appintents |
| Widgets | — | widgetkit |
| App Store metadata | apple-aso | — |
| Finding docs | apple-docs-index | — |
These are hard rules — violations are always bugs:
@State properties are private@Binding only where a child needs to mutate parent state@State — they silently ignore updates@State with @Observable classes — not @StateObject or ObservableObject@Bindable for injected observables that need bindingsForEach uses stable identity — never .indices on dynamic contentForEach element produces a constant number of views.animation(_:value:) always includes the value: parameter@FocusState properties are private@Observable classes are @MainActor — Swift 6 strict concurrency requires it@AppStorage, @SceneStorage, @Query) inside @Observable classes are marked @ObservationIgnored — they conflict with the macro and cause compiler errorsbody — use .task, .onChange, or methodsAnyView unless truly unavoidable — fix with better compositionDesign trio:
/ios-ui-craft — Build visually striking interfaces (produces code)/ios-design-consultant — Design advice and rationale (no code)/ios-liquid-glass — Liquid Glass API referenceWorkflow guides:
/guide-swiftui-ui-patterns — Navigation, state, sheets, component patterns/guide-swiftui-animations — Implicit/explicit animation, transitions, keyframes/guide-swiftui-charts — Marks, axes, selection, styling, accessibility/guide-swiftui-view-refactor — View structure, extraction, MV patterns/guide-swiftui-performance-audit — Diagnose and fix performance issues/guide-swift-testing — Swift Testing patterns, async tests, common agent mistakes/guide-swift-concurrency — Concurrency patterns, actors, diagnostics, bug patterns/guide-swiftdata — SwiftData patterns, predicates, CloudKit constraints/guide-macos-spm-packaging — Build macOS apps with SwiftPMUtilities:
/apple-docs-index — Find the right Apple documentation/simulator-utils — Simulator screenshots and device management/apple-aso — App Store Optimizationdevelopment
API reference: XCUITest. Query for element queries, waiting patterns, Swift 6 @MainActor, assertions, screenshots, launch arguments.
development
API reference: TipKit. Tip protocol, TipView, PopoverTipView, Tips.configure, inline and popover tips.
development
API reference: MapKit for SwiftUI. Map view, Marker, Annotation, camera positions, map features.
development
API reference: Apple Human Interface Guidelines. Query for design patterns, UI components, accessibility, color, typography, layout, haptics.