17 skills · category

Mobile skills for Claude Code

Skills for native and cross-platform apps: React Native with Expo, SwiftUI, Jetpack Compose and Flutter, plus push notifications, universal and app links, offline sync, mobile performance and accessibility, and the mechanics of App Store and Google Play releases.

  1. 330Android Architecture
  2. 331App Store Release
  3. 332Deep Links
  4. 333Fastlane CI
  5. 334Flutter Widgets
  6. 335In-App Purchases
  7. 336iOS Architecture
  8. 337iOS Widgets
  9. 338Jetpack Compose
  10. 339Kotlin Multiplatform
  11. 340Mobile Accessibility
  12. 341Mobile Biometric Auth
  13. 342Mobile Performance
  14. 343Mobile Push Notifications
  15. 344Offline Sync
  16. 345React Native with Expo
  17. 346SwiftUI Views

Every mobile skill

Each card opens the full playbook, example prompts and install commands.

No. 330

Android Architecture

Layers, Hilt and modules that keep Android apps testable

Claude restructures Android apps along the official layered model: ViewModels expose one StateFlow UiState, repositories make Room the source of truth and keep DTOs internal, Hilt binds interfaces through KSP, and long work moves to WorkManager instead of GlobalScope. It splits modules with a strict dependency direction and convention plugins, and backs each layer with fake-based JVM tests.

android-architecture 223 lines
No. 331

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.

app-store-release 178 lines · 2 files
No. 332

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.

deep-links 220 lines · 2 files
No. 333

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.

fastlane-ci 230 lines · 2 files
No. 334

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.

flutter-widgets 219 lines
★ No. 335

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.

in-app-purchases 241 lines · 2 files
No. 336

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-architecture 230 lines
No. 337

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.

ios-widgets 253 lines
No. 338

Jetpack Compose

Stateless screens, StateFlow state, no recomposition storms

Claude structures Compose screens as a route that collects one immutable UI state with collectAsStateWithLifecycle and a stateless screen that takes state and lambdas. It picks the right effect API with correct keys, applies Scaffold insets for edge-to-edge, and fixes slow lists with keys, deferred state reads and stable models, confirmed with Layout Inspector counts and compiler reports on a release build.

jetpack-compose 245 lines
No. 339

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.

kotlin-multiplatform 203 lines · 2 files
No. 340

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-accessibility 196 lines · 2 files
No. 341

Mobile Biometric Auth

Face ID that guards a key, not a boolean

Claude implements biometric unlock so the prompt releases a token sealed in the Keychain or Android Keystore, with biometryCurrentSet and setInvalidatedByBiometricEnrollment so a newly added face or finger locks the secret. It maps every cancel, lockout and invalidation error to a password fallback, keeps the server issuing short-lived tokens, and flags wrappers that only return a bypassable true.

mobile-biometric-auth 224 lines
No. 342

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.

mobile-performance 178 lines
No. 343

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.

mobile-push-notifications 205 lines · 2 files
No. 344

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.

offline-sync 189 lines · 2 files
No. 345

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.

react-native-expo 223 lines
No. 346

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.

swiftui-views 234 lines

Choosing Mobile skills

Install the skills that match requests you make every week; each costs about 100 tokens of standing context until it loads. If you are not sure where to begin, start with In-App Purchases. For background, read The Best Claude Code Skills in 2026, by Use Case, How to Install Claude Code Skills (5 Ways) and Personal vs Project Skills.

By technology: iOS and Swift skillsAndroid and Kotlin skillsReact skillsFlutter and Dart skillsJava and Kotlin on the JVM skills

Install several

Install several at once

The installer accepts any number of skill names. Add --project to install into the current repository.

curl -fsSL https://claudeskills.page/install.sh | sh -s -- android-architecture app-store-release deep-links fastlane-ci flutter-widgets in-app-purchases ios-architecture ios-widgets jetpack-compose kotlin-multiplatform mobile-accessibility mobile-biometric-auth mobile-performance mobile-push-notifications offline-sync react-native-expo swiftui-views

Mobile skills FAQ

How do I install every Mobile skill at once?

Download the bundle at https://claudeskills.page/downloads/category/mobile.zip and unzip it into ~/.claude/skills/ (or .claude/skills/ inside a repository). To pick a few, pass several names to the installer: curl -fsSL https://claudeskills.page/install.sh | sh -s -- android-architecture app-store-release deep-links.

Will installing 17 skills slow Claude Code down?

No. Claude Code keeps only each skill's short description in context — roughly 100 tokens per skill — and loads the full instructions only when a request matches. Install the whole category if it fits your work; unused skills cost almost nothing.

Which Mobile skill should I start with?

Start with In-App Purchases. They cover the most common requests in this category; add the rest as your work calls for them.

esc