Skip to content
Skills Library
Programming · Building & coding

mobile-developer

/mobile-developer

Expert mobile developer for React Native, native Swift/SwiftUI, Kotlin/Compose, and mobile CI/CD (Fastlane, Codemagic, Bitrise, EAS). Use for everything mobile that flutter-mobile does NOT cover. For Flutter 3.41.x work, use flutter-mobile skill instead.

Licence
MIT
Last repository change
30.06.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 30.06.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Expert mobile developer for React Native, native Swift/SwiftUI, Kotlin/Compose, and mobile CI/CD (Fastlane, Codemagic, Bitrise, EAS). Use for everything mobile that flutter-mobile does NOT cover. For Flutter 3.41.x work, use flutter-mobile skill instead.

Original author description

Expert mobile developer for React Native, native Swift/SwiftUI, Kotlin/Compose, and mobile CI/CD (Fastlane, Codemagic, Bitrise, EAS). Use for everything mobile that flutter-mobile does NOT cover. For Flutter 3.41.x work, use flutter-mobile skill instead.

How it works

  1. Iron Law
  2. Disambiguation — Which Skill to Use
  3. Capabilities
  4. Quick Reference — React Native Setup
  5. Fastlane CI/CD Example
  6. EAS Update (OTA) Example
  7. Documentation Sources
  8. Hard Prohibitions
  9. Post-Code Review
Original SKILL.md headings · 185 lines, 963 words
SKILL.md preview
---
name: mobile-developer
description: Expert mobile developer for React Native, native Swift/SwiftUI, Kotlin/Compose, and mobile CI/CD (Fastlane, Codemagic, Bitrise, EAS). Use for everything mobile that flutter-mobile does NOT cover. For Flutter 3.41.x work, use flutter-mobile skill instead.
allowed-tools: Bash, Read, Write, Edit, Glob, Grep
metadata:
  triggers: React Native, React Native New Architecture, Hermes, TurboModules, SwiftUI, Kotlin Compose, Fastlane, Codemagic, Bitrise, EAS Update, CodePush, Detox, native module, brownfield, Expo, MAUI
  related-skills: flutter-mobile, mobile-design
  domain: frontend
  role: specialist
  scope: implementation
  output-format: code
last-reviewed: "2026-03-15"
---

## Iron Law

**FOR FLUTTER WORK — USE `flutter-mobile` SKILL INSTEAD. This skill is for React Native, native Swift/Kotlin, and mobile CI/CD only.**

# Mobile Developer Skill

## Disambiguation — Which Skill to Use

| Task | Use This Skill | Use flutter-mobile Instead |
|------|---------------|---------------------------|
| React Native app | YES | No |
| Flutter screen/provider/widget | No | YES |
| Native Swift/SwiftUI module | YES | No |
| Native Kotlin/Compose module | YES | No |
| Fastlane lanes / Codemagic pipeline | YES | No |
| EAS Update / CodePush OTA | YES | No |
| Flutter CI/CD (GitHub Actions, build) | No — use deployment-engineer agent | No |
| Detox E2E (React Native) | YES | No |
| Maestro E2E (Flutter) | No | YES (via flutter-mobile) |
| App Store signing (any) | No | No — use asc-signing-setup skill |

## Capabilities

### 1. React Native (RN 0.74+, New Architecture)
New Architecture (Fabric renderer, TurboModules, JSI), Hermes engine, Metro bundler configuration, Flipper debugging, Codegen for typed native modules, and the bridge-free JSI layer for synchronous native calls.

### 2. Expo (SDK 50+)
EAS Build for managed and bare workflows, EAS Update for over-the-air JS bundle delivery, development builds with custom native code, config plugins for extending native projects without ejecting.

### 3. Native Integration
Swift/SwiftUI platform channel implementations (method channels, event channels), Kotlin/Compose native module authoring, brownfield integration (embedding RN screens in an existing native app or vice versa).

### 4. Architecture
Clean Architecture for React Native (data/domain/presentation layers), MVVM with React Query or Zustand, MVI with Redux Toolkit, BLoC pattern adapted for RN, feature-first folder structure mirroring the flutter-mobile convention.

### 5. Performance
App startup time reduction (Hermes bytecode, lazy loading), memory leak detection (Flipper Memory Monitor, Instruments, Android Profiler), battery impact analysis, FlatList/FlashList virtualization, Reanimated 3 for 60fps UI-thread animations, InteractionManager for deferred heavy work.

### 6. Data Management
Realm for complex relational offline data, WatermelonDB for high-performance sync, MMKV for fast key-value storage, offline-first sync patterns with conflict resolution (last-write-wins, CRDT), background sync with WorkManager (Android) and BGTaskScheduler (iOS).

### 7. Mobile CI/CD
Fastlane lanes (match for code signing, gym for builds, pilot/deliver for distribution), Codemagic YAML workflows, Bitrise pipelines, GitHub Actions with mobile-specific caching (CocoaPods, Gradle), CodePush for hotfix OTA, EAS Update for Expo-managed OTA.

### 8. Testing
Jest unit tests with `@testing-library/react-native`, Detox for black-box E2E on device/emulator, Maestro for declarative E2E (RN and native), XCTest for Swift unit tests, Firebase Test Lab and Bitrise device farm for multi-device coverage.

### 9. Security
OWASP MASVS compliance (MASVS-STORAGE, MASVS-CRYPTO, MASVS-NETWORK, MASVS-AUTH), `react-native-keychain` / `expo-secure-store` for credential storage, certificate pinning via `react-native-ssl-pinning` or TrustKit (iOS), RASP (Runtime Application Self-Protection), jailbreak/root detection.

## Quick Reference — React Native Setup

```bash
# New React Native project (Expo recommended for new projects)
npx create-expo-app MyApp --template blank-typescript
cd MyApp

# Core RN dependencies
npx expo install expo-router react-native-screens react-native-safe-area-context

# EAS CLI for builds and OTA
npm install -g eas-cli
eas login
eas build:configure
```

```bash
# Bare React Native (when full native control is required)
npx @react-native-community/cli init MyApp --template react-native-template-typescript
cd MyApp
npx pod-install ios  # Install CocoaPods dependencies
```

```bash
# Run
npx expo start           # Expo dev server
npx react-native run-ios # Bare RN iOS
npx react-native run-android # Bare RN Android

# Detox E2E setup
npm install --save-dev detox @types/detox
npx detox init
```

## Fastlane CI/CD Example

```ruby
# fastlane/Fastfile
default_platform(:ios)

platform :ios do
  lane :beta do
    increment_build_number(
      build_number: ENV["BUILD_NUMBER"]
    )
    match(type: "appstore")
    build_app(scheme: "MyApp", configuration: "Release")
    upload_to_testflight(skip_waiting_for_build_processing: true)
  end

  lane :deploy do
    match(type: "appstore")
    build_app(scheme: "MyApp", configuration: "Release")
    upload_to_app_store(force: true, skip_screenshots: true)
  end
end

platform :android do
  lane :beta do
    gradle(
      task: "bundle",
      build_type: "Release",
      project_dir: "android/"
    )
    upload_to_play_store(track: "internal")
  end

  lane :deploy do
    gradle(task: "bundle", build_type: "Release", project_dir: "android/")
    upload_to_play_store(track: "production", rollout: "0.1")
  end
end
```

## EAS Update (OTA) Example

```bash
# Publish an update to the preview channel
eas update --channel preview --message "Fix checkout crash"

# Promote preview to production
eas update --channel production --message "Stable release"
```

```json
// eas.json
{
  "build": {
    "preview": {
      "distribution": "internal",
      "ios": { "simulator": false }
    },
    "production": {
      "ios": { "buildConfiguration": "Release" },
      "android": { "buildType": "apk" }
    }
  },
  "update": {
    "channel": "production"
  }
}
```

## Documentation Sources

Before generating code, consult these sources for current syntax and APIs:

| Source | Tool | Purpose |
|--------|------|---------|
| React Native | `Context7` MCP | RN APIs, hooks, native modules, New Architecture APIs |
| Expo | `Context7` MCP | EAS, SDK APIs, config plugins, expo-router |
| Swift/SwiftUI | `Context7` MCP | SwiftUI views, Combine, platform integrations |
| Kotlin/Compose | `Context7` MCP | Jetpack Compose, coroutines, platform integrations |
| Fastlane | WebFetch docs.fastlane.tools | Lane actions, match, gym, pilot, deliver |
| Detox | `Context7` MCP | E2E matchers, device API, configuration |

## Hard Prohibitions

- Never use this skill for Flutter UI work — use `flutter-mobile`
- No `AsyncStorage` for sensitive data — use `react-native-keychain` or `expo-secure-store`
- No array index as `key` in FlatList/FlashList — use stable unique IDs
- No inline functions in `renderItem` — use `useCallback` to prevent re-renders
- No JS-thread animations — always use `useNativeDriver: true` or Reanimated 3
- No `console.log` in production — use a structured logger (e.g., `react-native-logs`)
- No raw HTTP without SSL pinning for auth or payment endpoints
- No secrets in JS bundle — use EAS secrets or native keystore

## Post-Code Review

After writing code, dispatch these reviewer agents:
- `code-reviewer` — general quality, DRY, error handling
- `security-reviewer` — OWASP MASVS compliance, secure storage, network security
- `flutter-security-expert` — only if the feature also has a Flutter counterpart that shares native code

Versions

RepositoryScoreLicence
This page · kumaran-is/claude-code-onboarding100MIT
agentic-swe/agentic-swe100MIT
rmyndharis/antigravity-skills100MIT

Database snapshot: 13.11.2026 · package version a4b16778cc3f (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100senior-mobile
    Use when the user asks to "build a mobile app", "scaffold React Native project", "create SwiftUI views", "set up Jetpack Compose", "optimize mobile performance", "configure Expo Router navigation", "implement offline-first storage", "submit to App Store", or "profile mobile…
  • 80ck:mobile-development
    Build mobile apps with React Native, Flutter, Swift/SwiftUI, Kotlin/Jetpack Compose. Use for iOS/Android, mobile UX, performance optimization, offline-first, app store deployment.
  • 90native-mobile-developer
    Native Mobile Developer (/ios, /android) — builds true native apps: iOS with Swift/SwiftUI and Android with Kotlin/Jetpack Compose. Use when implementing native iOS or Android features, SwiftUI/Compose UI, platform APIs (notifications, camera, background, widgets), App…
  • 100oma-mobile
    Implement Flutter, React Native, or native Swift apps. Use for mobile screens, widgets, platform integrations, and application data flows.
  • 85mobile
    Mobile app design, development, testing, deployment, and optimization. React Native, Flutter, Swift, Kotlin. Auto-generates App Store and Google Play promotional screenshots (Next.js + html-to-image). Exports PNG at all required Apple/Google resolutions. Triggers on: app store…
  • 100oma-mobile
    Implement Flutter, React Native, native Swift, or native Kotlin Android apps. Use for mobile screens, widgets, platform integrations, and application data flows.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.