Builds native iOS and Android apps, creates cross-platform mobile applications using React Native or Flutter, configures mobile build systems, and debugs platform-specific issues including crashes, permissions, and store rejections. Use when the user asks about mobile app development, iOS or Android projects, Swift, SwiftUI, Kotlin, Jetpack Compose, React Native, Flutter, mobile UI design, push notifications, offline sync, in-app purchases, .ipa or .apk builds, or app store submission.
90
88%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
SwiftUI screen scaffold (iOS)
import SwiftUI
struct ContentView: View {
@StateObject private var viewModel = ContentViewModel()
var body: some View {
NavigationStack {
List(viewModel.items) { item in
Text(item.title)
}
.navigationTitle("Home")
.task { await viewModel.load() }
}
}
}
@MainActor
final class ContentViewModel: ObservableObject {
@Published var items: [Item] = []
func load() async {
// fetch or load from local store
}
}Jetpack Compose screen scaffold (Android)
@Composable
fun HomeScreen(viewModel: HomeViewModel = viewModel()) {
val items by viewModel.items.collectAsStateWithLifecycle()
Scaffold(topBar = { TopAppBar(title = { Text("Home") }) }) { padding ->
LazyColumn(contentPadding = padding) {
items(items) { item -> Text(item.title) }
}
}
}React Native project bootstrap
npx react-native init MyApp --template react-native-template-typescript
cd MyApp
npx react-native run-ios # launch on iOS simulator
npx react-native run-android # launch on connected Android device/emulatorFlutter project bootstrap
flutter create my_app
cd my_app
flutter pub get
flutter analyze # static analysis before first run
flutter run # hot-reload dev session# Android — install debug build on connected device
adb install -r build/app/outputs/flutter-apk/app-debug.apk
adb logcat | grep MyApp # stream logs
# iOS — run on physical device via Xcode scheme
xcodebuild -scheme MyApp -destination 'platform=iOS,name=iPhone' build
# Flutter — profile-mode run to catch jank
flutter run --profile
# React Native — bundle analyzer
npx react-native bundle --platform ios --dev false --entry-file index.js \
--bundle-output /tmp/main.jsbundle --sourcemap-output /tmp/main.mapValidation checkpoints before each milestone:
flutter analyze or swiftlint warnings in CI.Framework decision tree
Need maximum native performance or heavy platform APIs?
└─ Yes → Native (Swift/Kotlin)
└─ No → Shared codebase acceptable?
└─ Single codebase, rich UI → Flutter
└─ JS/TS team, web code reuse → React NativeRelease checklist
NSUsageDescription keys populated.minSdkVersion / deployment target set to the lowest supported OS.010799b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.