19 skills · 6 categories
Claude Code skills for iOS and Swift
iOS skills for Swift concurrency, SwiftUI architecture, push notifications, deep links, biometric sign-in and App Store submission. Cross-platform mobile skills that also ship to iOS are included.
Start with these
- 1
iOS Architecture
SwiftUI apps with real boundaries and injected services
Claude gives SwiftUI apps a composition root that wires live dependencies once, feature models that take repository protocols in their initializers, a router per NavigationStack, and persistence hidden behind those protocols. Features move into local Swift package targets that build and preview alone, and Swift Testing suites run against shared fakes under Swift 6 strict concurrency.
- 2
iOS Widgets
Fresh widgets and Live Activities without reload spam
Claude builds widgets that render from a snapshot the app writes to a shared App Group, plans timelines around known future dates instead of burning the reload budget, wires taps through App Intents, and gives every declared family a real layout including accented modes. For Live Activities it handles token streams, the 4 KB content-state limit, exact APNs headers, and ending orphaned activities.
- 3
Swift Concurrency
Reach Swift 6 mode with zero data-race warnings
Claude migrates Swift code to strict concurrency one module at a time, reading each isolation diagnostic for its real cause instead of reaching for @unchecked Sendable. It isolates UI models to MainActor, puts shared state in actors or a Mutex, replaces completion handlers with checked continuations, and understands how Swift 6.2 default isolation changes the rules.
All 19 iOS and Swift skills
Grouped by category. Each card opens the full playbook, example prompts and install commands.
Testing 1
Security 1
Mobile 14
iOS Architecture
SwiftUI apps with real boundaries and injected services
Claude gives SwiftUI apps a composition root that wires live dependencies once, feature models that take repository protocols in their initializers, a router per NavigationStack, and persistence hidden behind those protocols. Features move into local Swift package targets that build and preview alone, and Swift Testing suites run against shared fakes under Swift 6 strict concurrency.
iOS Widgets
Fresh widgets and Live Activities without reload spam
Claude builds widgets that render from a snapshot the app writes to a shared App Group, plans timelines around known future dates instead of burning the reload budget, wires taps through App Intents, and gives every declared family a real layout including accented modes. For Live Activities it handles token streams, the 4 KB content-state limit, exact APNs headers, and ending orphaned activities.
App Store Release
Signed, reviewed and rolled out without surprises
Claude runs mobile releases like a release manager: CI-signed builds with unambiguous version and build numbers, testers on the exact binary that ships, metadata and privacy disclosures that match every SDK, and reviewer notes with demo credentials. Rollouts are phased with crash and ANR halt thresholds set in advance, and bad releases are halted and fixed forward because neither store can roll back.
SwiftUI Views
Clear state ownership and navigation that scales
Claude builds SwiftUI screens with one owner per piece of state, choosing between @State, @Bindable, @Environment and plain properties from a decision table rather than habit. Models are MainActor @Observable classes, loading runs in .task so it cancels when the view leaves, navigation uses typed routes on NavigationStack, and every screen ships with previews for loading, empty, error and large text.
Fastlane CI
One command from commit to TestFlight and Play
Claude turns laptop releases into reproducible fastlane lanes: Gemfile-pinned fastlane, match certificates fetched read-only behind setup_ci, App Store Connect API keys instead of Apple ID sessions, build numbers derived from the store, and Play uploads that land on internal and promote with a staged rollout. A bundled checker flags committed secrets and risky lanes before CI runs them.
Kotlin Multiplatform
Share the logic, keep the native feel on Android and iOS
Claude decides what belongs in commonMain and what stays native, builds the shared module with the AGP 9 Android-KMP plugin, Ktor and SQLDelight or Room KMP, and designs a Swift-facing facade with @Throws and SKIE so iOS code gets async functions and exhaustive enums. It treats Swift export as Alpha and plans adoption one slice at a time.
Deep Links
One https URL that opens the right screen everywhere
Claude sets up Universal Links and App Links so verified https URLs open the exact screen, with association files served without redirects, exclude rules ordered first, and the Play app signing fingerprint rather than the upload key. One URL parser serves links and push taps, signed-out users return to their target after login, and a bundled script validates both files and Apple's CDN copy.
Mobile Accessibility
Apps that work with VoiceOver, TalkBack and huge text
Claude audits and fixes native and cross-platform apps so critical flows can be completed eyes-free with VoiceOver and TalkBack. It writes concise labels, exposes roles, values and states, groups cards with custom actions, manages focus after navigation, and makes layouts reflow at the largest text sizes, using a concept-to-API map for SwiftUI, UIKit, Compose, Views, React Native and Flutter.
Mobile Push Notifications
Delivered, opted-in, and opening the right screen
Claude wires push end to end: per-device tokens stored with their APNs environment, correct apns-push-type and priority headers, FCM HTTP v1 messages with string-only data, and pruning on 410 or UNREGISTERED. It designs a pre-prompt before the system permission dialog, routes taps from foreground, background and cold start, and validates every payload template with a bundled script.
React Native with Expo
Dev builds, Expo Router and OTA updates that are safe
Claude works in Expo projects the way the toolchain expects: native libraries via npx expo install, native settings through app config and plugins instead of hand-edited ios and android folders, development builds once custom native code appears, and OTA updates only to binaries with a matching runtime version. It checks safe areas, keyboard, back handling and permissions on both platforms.
In-App Purchases
Subscriptions that unlock, renew and refund correctly
Claude builds purchase flows where signed store data, not a local flag, decides access. It starts a StoreKit transaction listener at launch, acknowledges Play purchases before the 3-day auto-refund, verifies JWS and purchase tokens on the server, maps App Store Server Notifications v2 and RTDN to one entitlement table, and walks the sandbox matrix of renewals, grace, refunds and upgrades.
Flutter Widgets
Small const widgets, one state owner, no overflow stripes
Claude writes Flutter UI as small const widget classes instead of helper methods, places state deliberately with setState, Riverpod 3 or Cubit, and fixes layout exceptions from the constraints model rather than by trial and error. Async code checks context.mounted after every await, native calls go through Pigeon, and jank is diagnosed in profile mode with DevTools.
Mobile Performance
Faster launches and smooth lists, proven on real devices
Claude treats mobile performance as measurement first: release builds on a mid-range physical device, median and p90 over repeated runs, and a profiler trace before any change. It then applies the fixes that usually matter — deferred SDK init, Baseline Profiles, image downsampling, virtualized lists with stable keys, work moved off the main thread — and adds a benchmark so the gain cannot quietly regress.
Offline Sync
Local-first writes that never vanish or duplicate
Claude designs offline support per entity instead of bolting a cache onto API calls. Writes commit to the local database together with an outbox entry, a single worker pushes them with idempotency keys and backoff, deltas arrive by server cursor with tombstones, and each entity gets an explicit conflict rule — versioned last-writer-wins, field merges, operations or CRDTs — with failed items surfaced, never dropped.
Install
Every iOS and Swift skill in one command
Installs into ~/.claude/skills/. Add --project after -- to install into the current repository.
curl -fsSL https://claudeskills.page/install.sh | sh -s -- ios-architecture ios-widgets swift-concurrency app-store-release swiftui-views app-store-optimization fastlane-ci kotlin-multiplatform mobile-app-security deep-links mobile-accessibility mobile-push-notifications react-native-expo mobile-ui-patterns in-app-purchases mobile-e2e-testing flutter-widgets mobile-performance offline-sync iOS and Swift skills FAQ
What is the best Claude Code skill for iOS and Swift?
Start with iOS Architecture: SwiftUI apps with real boundaries and injected services. Then add iOS Widgets and Swift Concurrency, which cover the next most common iOS and Swift requests.
How do I install all 19 iOS and Swift skills at once?
Pass every name to the installer in one command: curl -fsSL https://claudeskills.page/install.sh | sh -s -- ios-architecture ios-widgets swift-concurrency app-store-release swiftui-views app-store-optimization fastlane-ci kotlin-multiplatform mobile-app-security deep-links mobile-accessibility mobile-push-notifications react-native-expo mobile-ui-patterns in-app-purchases mobile-e2e-testing flutter-widgets mobile-performance offline-sync. Add --project to install them into the current repository's .claude/skills/ folder so your team gets them too.
Do these iOS and Swift skills work outside Claude Code?
Yes. Each skill uses only the portable Agent Skills frontmatter, so the same folder works on claude.ai, through the Claude API and in the Agent SDK. Skills that run bundled scripts need an environment with code execution.