mobile-developer
Skill35 starsChanged 6 months agoMITView on GitHub
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.
- Installs packages
8 other projects use a version of this.
Adopted by
Most recently taken up by
- Envy-7z/katalysttheir own version, first seen Nov 1, 2026
- xfstudio/skillstheir own version, first seen Oct 13, 2026
- jshsakura/awesome-opencode-skillstheir own version, first seen Jul 8, 2026
- ai4brands-design/claude-skillstheir own version, first seen Mar 22, 2026
- boxclawai/skillstheir own version, first seen Mar 1, 2026
- marttp/my_agent_skills_I_usetheir own version, first seen Feb 19, 2026
Used with
Projects with it also use frontend-developer.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
nicolasestremSkillfrontend-developer
a senior frontend developer specializing in modern web applications with deep expertise in React 18+
Also in 3 projects that use this
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 8
- jshsakura/awesome-opencode-skills★ 30same name
- belokonm/claude-supercode-skills★ 11same name
- boxclawai/skills★ 9same name
- xfstudio/skills★ 9same name
- nicolasestrem/antigravity-gemini-skills★ 8same name
- Envy-7z/katalyst★ 4same name
- marttp/my_agent_skills_I_use★ 4same name
- ai4brands-design/claude-skills★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository157 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- a2ui-angularSkill
- accessibility-auditSkill
- adk-deploy-guideSkill
- adk-dev-guideSkill
- adk-eval-guideSkill
- adk-observability-guideSkill
- agentic-ai-coding-standardSkill
- agentic-ai-devSkill
- ai-auditSkill
- ai-chatSkill
- ai-decision-recordSkill
- ai-incident-responseSkill
- ai-launch-checkSkill
- ai-playbookSkill
- angular-best-practicesSkill
- angularSkill
- angular-spaSkill
- angular-ui-patternsSkill
- api-design-principlesSkill
- app-store-optimizationSkill
- architect-reviewSkill
- architecture-decision-recordsSkill
- architecture-designSkill
- asc-cli-usageSkill
- asc-crash-triageSkill
- asc-id-resolverSkill
- asc-release-flowSkill
- asc-signing-setupSkill
- asc-submission-healthSkill
- asc-testflight-orchestrationSkill
- browser-testingSkill
- changelog-generatorSkill
- claude-actions-auditorSkill
- clean-codeSkill
- codebase-onboardingSkill
- code-explainerSkill
- code-reviewerSkill
- code-simplifierSkill
- comment-analyzerSkill
- database-schema-designerSkill
- ddd-architectSkill
- decision-frameworksSkill
- dedup-code-agentSkill
- deployment-ci-cdSkill
- design-systemSkill
- dockerSkill
- documentation-generationSkill
- domain-finderSkill
- error-detectiveSkill
- eval-guideSkill
- feature-forgeSkill
- firebase-basicsSkill
- firebase-hosting-basicsSkill
- fixing-accessibilitySkill
- fixing-motion-performanceSkill
- flutter-animationsSkill
- flutter-genuiSkill
- flutter-mobileSkill
- flutter-security-expertSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 4 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 170
Before generating code, consult these sources for current syntax and APIs:
- Very specific: line 183
Never use this skill for Flutter UI work — use flutter-mobile
- Very specific: line 185
No array index as key in FlatList/FlashList — use stable unique IDs
- Very specific: line 186
No inline functions in renderItem — use useCallback to prevent re-renders
- Very specific: line 187
No JS-thread animations — always use useNativeDriver: true or Reanimated 3
- Distinctive: line 189
No raw HTTP without SSL pinning for auth or payment endpoints
- Distinctive: line 190
No secrets in JS bundle — use EAS secrets or native keystore
- Distinctive: line 194
After writing code, dispatch these reviewer agents:
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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
# 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# 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# 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 initFastlane CI/CD Example
# 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
endEAS Update (OTA) Example
# 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"// 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
AsyncStoragefor sensitive data — usereact-native-keychainorexpo-secure-store - No array index as
keyin FlatList/FlashList — use stable unique IDs - No inline functions in
renderItem— useuseCallbackto prevent re-renders - No JS-thread animations — always use
useNativeDriver: trueor Reanimated 3 - No
console.login 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 handlingsecurity-reviewer— OWASP MASVS compliance, secure storage, network securityflutter-security-expert— only if the feature also has a Flutter counterpart that shares native code
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

