skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
vasilyu1983/ai-agents-public189 installs

software-mobile

Guides mobile platform selection and delivery across native and cross-platform stacks. Use when planning auth, push, deep links, releases, or app architecture for iOS/Android.

How do I install this agent skill?

npx skills add https://github.com/vasilyu1983/ai-agents-public --skill software-mobile
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The mobile development skill provides comprehensive architectural guidance, best practices, and code templates for iOS, Android, and cross-platform applications. It covers essential mobile topics including authentication, push notifications, deep linking, and release management. No malicious patterns, hidden commands, or hardcoded credentials were found. All external resources point to trusted documentation from Apple, Google, and reputable framework developers.

  • Socketwarn

    2 alerts: gptAnomaly

  • Snykpass

    Risk: LOW · No issues

  • Runlayerpass

    1/1 file flagged

What does this agent skill do?

Mobile Development

Use this skill for platform choice, cross-platform tradeoffs, and shared mobile concerns such as authentication, notifications, deep linking, release readiness, and policy checks. For deep native iOS implementation or rewrite work, route to software-ios-native. For native iOS build, install, packaging, or stale-app debugging, route to software-ios-runtime-debugging. For native Android implementation, route to software-android-native.

Quick Reference

TaskiOSAndroidCross-PlatformDefault
UISwiftUI + UIKit interopJetpack Compose + Views interopReact Native, Flutter, KMP + native UINative first for platform-heavy work
State@State, @Observable, @EnvironmentViewModel + StateFlowZustand/RTK, Riverpod, shared domain statePlatform-native state models
NavigationNavigationStackNavigation Compose / Navigation ComponentExpo Router or React NavigationExpo Router for greenfield Expo apps
NetworkingURLSession + async/awaitRetrofit/OkHttp/Ktor + coroutinesFetch/Axios, generated clientsTyped clients over ad hoc fetches
StorageSwiftData/Core Data, KeychainRoom/DataStore, KeystoreMMKV/SQLite/WatermelonDB, secure storageKeep secrets in platform secure storage
TestingSwift Testing + XCTest UIJUnit + Compose Test + MacrobenchmarkDetox/Maestro, framework-native testsMeasure performance, do not assume it
ReleasePrivacy manifests, App Review checksPlay target SDK, Data safety, signingExpo/EAS or native pipelinesRe-check store policy before each cut
CI / signingXcode Cloud or native CIGradle signing / Play App SigningEAS Build or native pipelinesProve release signing separately from app attestation
Push proofXcode real-device → APNs sandboxFCM debug / prod separation by configProduction send path must prove delivery per environmentNever treat local push success as TestFlight proof

When to Use This Skill

Use this skill when you need:

  • Platform selection between native iOS, native Android, React Native, Flutter, Kotlin Multiplatform, and wrapper shells
  • Cross-platform decisions across React Native, Expo, Flutter, Kotlin Multiplatform, and WebView shells
  • Mobile auth, passkeys, push notifications, offline-first sync, deep links, and app-store release preparation

When NOT to Use This Skill

NeedUse Instead
Web-only frontendsoftware-frontend
Strings, plurals, catalogs, translation pipeline, backend-generated localized prosesoftware-localisation (backend prose reference)
Backend API implementationsoftware-backend
Managed app-backend (Supabase, Firebase, Appwrite)software-baas-platforms
Native iOS app skeleton with iCloud/CloudKit/App Intents/Foundation Modelssoftware-ios-native + software-ios-ai-engine
Native iOS rewrite, SwiftUI, or Xcode workflowssoftware-ios-native
Native iOS build/install/launch failures, stale-app, simulator driftsoftware-ios-runtime-debugging
Native iOS visual auditssoftware-ios-design
iOS-specific testing deep divesqa-testing-ios
Native Android rewrite, Kotlin, Gradle, Android Studiosoftware-android-native
Native Android build/install/launch failures, emulator driftsoftware-android-runtime-debugging
Native Android visual auditssoftware-android-design

Platform Selection

Need to ship mobile product?
    │
    ├─ Single platform only?
    │   ├─ iOS → SwiftUI for new code, UIKit interop where needed
    │   └─ Android → Jetpack Compose for new code, Views interop where needed
    │
    ├─ Both iOS and Android?
    │   ├─ Native integrations / performance / platform fidelity dominate? → Separate native apps
    │   ├─ JS/TS team and fastest shared delivery? → React Native + Expo-managed for greenfield
    │   ├─ Fully shared rendering and custom UI control? → Flutter
    │   └─ Kotlin team, shared logic, native UI? → Kotlin Multiplatform
    │
    └─ Existing web app wrapper?
        ├─ Low-complexity shell → WebView / Capacitor
        └─ Meaningful native features → React Native or native modules

Cross-Platform Defaults

FrameworkDefaultStatus
React NativeNew Architecture is mandatory in current RN releases: the Legacy Architecture is removed and newArchEnabled=false is ignored. Check the RN release notes for the cutoff version and the Expo SDK changelog for the last Legacy-capable SDK. The decision point is "is every native module/library we depend on migrated or covered by the interop layer"Mandatory, not opt-in
Expo + Expo RouterTeam default for a JS/TS greenfield app; use a development build for custom native code and check the installed Router release for embedding supportActive default
FlutterStrong when shared rendering and animation control matter more than native feelActive
Kotlin MultiplatformBest fit for shared business logic with native UI; Compose Multiplatform for iOS is stable; check its release notes for what the current release addsValidate library maturity per release, not from a single stability announcement

Workflow

  1. Confirm product scope, platform targets, native requirements, and release constraints.
  2. Route web-only, backend, or iOS-native deep dives to adjacent skills.
  3. Choose the stack from the selection guidance above.
  4. Apply guidance for auth, push, offline behavior, release gates, and testing.
    • For iOS push: prove the local sandbox path and the production path separately.
    • Treat push signoff as two gates: transport proof (notification accepted and shown) and open-path proof (tapping from cold start and warm start does not freeze or crash).
  5. Re-check current platform-policy and framework facts before final recommendations.

Platform-Choice Proof Gate

Before committing to native, React Native, Flutter, or KMP, list the product's hardest likely capability: background execution, camera/media pipeline, Bluetooth/hardware SDK, widgets/extensions, deep links, offline conflict resolution, payments, accessibility, or platform-specific UI. Rank each candidate's uncertainty and consequence. Reuse existing evidence when it covers the same framework and version range, native dependency, release configuration, capability, and representative device class; record its date and owner.

Run a time-boxed spike only for serious finalists with a material unresolved native, performance, lifecycle, accessibility, or packaging risk. Define pass/fail before it: build and package, native SDK integration, cold-start and interaction budget, accessibility behavior, offline/recovery behavior, and maintainer skill. Use the real release configuration and the oldest device class relevant to that risk. If the spike consumes paid services, signing capacity, scarce devices, or shared CI quota outside the agreed task budget, obtain authorization for that resource use first. For low-risk products, a documented decision with applicable production evidence and explicit assumptions is sufficient. If the hardest capability fails or requires a permanent bespoke native module, include that module's two-platform ownership cost in the decision; if no hard capability exists, favor the stack that reduces duplicated product work.

Capability and Native Escape Hatches

Load cross-platform-comparison.md when weighing shared delivery against native ownership. Use this catalog to identify the native work the chosen stack still needs:

StackEscape hatchCapability to prove before committing
Separate native appsSwift/Objective-C and Kotlin/Java SDKs directlyTwo-platform implementation and release ownership
React Native / ExpoTurbo Native Modules, or Expo Modules in a development buildHardware SDK, background lifecycle, and native dependency compatibility; Expo Go cannot load arbitrary native modules
FlutterPlatform channels / Pigeon, plugins, native viewsCamera/media throughput, platform-view composition, and channel threading
KMP with native UIPlatform source sets and iOS framework integrationSwift-facing API, Kotlin/Native library support, packaging and symbolication
Compose MultiplatformPlatform APIs and native UI interop where shared UI lacks the required surfaceAccessibility, input, platform-specific UI, extensions and lifecycle
Capacitor / WebViewNative plugins and a native hostBackground execution, hardware APIs and extension targets; browser APIs alone do not supply these capabilities

KMP iOS toolchain gate. Apple final binaries require a macOS host and Xcode even when business logic is shared. Read the Kotlin/Gradle/AGP/Xcode compatibility matrix for the project's Kotlin plugin and supported targets/hosts for device/simulator architectures. Choose direct Xcode integration or dependency-manager integration according to existing CocoaPods dependencies and module distribution needs; prove both a simulator build and a signed device archive.

Attestation gate. For sensitive server actions, evaluate App Attest and Play Integrity through the stack's native module/plugin. Verify results on the server and bind them to a fresh challenge or request content. Check device/API availability and release distribution before enforcing; define behavior for unsupported devices and outages. Attestation is an abuse signal, alongside authentication and authorization, and is not a universal store-submission requirement. Detailed threat modeling and secure storage belong to software-security-appsec.

Platform Delivery Gates

  • iOS: Route architecture, state, concurrency and performance to software-ios-native. Check privacy manifests, required-reason APIs and SDK compliance before submission. Validate APNs transport and notification opening for each install environment; inspect the distribution archive's aps-environment entitlement and keep its token routing aligned with that environment.
  • Android: Route Compose, state, background work and performance to software-android-native. Read the current Play target-API requirements for app type and release track, then verify Data safety, signing and background restrictions. Evaluate Play Integrity when abuse risk warrants it.

Release Operations, Traps, and Judgment Calls

iOS release-operation gates (TestFlight channels, upload path, backend-only fixes, real-device smoke proof, minimum Xcode/SDK for upload), known iOS and Android runtime traps, expert judgment calls, and the anti-pattern table live in references/platform-traps-and-judgment.md. Load it before a release cut, a push/open-path investigation, or a platform-choice recommendation.

  • Before any archive/upload, check developer.apple.com/news/upcoming-requirements for the minimum Xcode/SDK; a passing local build can still be rejected at ingestion.
  • Review account deletion, login-service requirements and subscription disclosures/cancellation under the applicable App Review clauses; auth alone does not make Sign in with Apple mandatory.

OTA Updates and External Payments

Both are store-policy decisions that change often. Decision logic, operating rules, and primary-page links are in references/store-update-and-payment-policy.md.

  • OTA / code push. Check Apple Guideline 2.5.2 and its interpreted-code license clause separately from Google Play's interpreter exception. A JS bundle is not blanket permission to change functionality. Default to a store build for native changes or new features; use an OTA only after checking the applicable policy, runtime compatibility, staged rollout and rollback in the reference.
  • External payments / anti-steering. US-storefront link-outs and regional alternative-billing or external-offer programs exist on both stores. Eligibility, entitlements, disclosure UI, and remaining fees vary by storefront and change after rulings. Decide per storefront from the Apple guidelines/StoreKit External Purchase pages and the Google Play Payments/billing-program pages at decision time. Branch server-side on the store-reported storefront and keep a kill switch back to store billing. Never quote a fee or date from memory.

Release Readiness Checklist

iOS App Store

  • Icons, launch assets, and permission copy are complete
  • Privacy manifest and required-reason APIs are correct for app targets and listed SDKs
  • Third-party SDK compliance matches Apple's current requirements
  • Accessibility, deep links, and push flows tested on current devices
  • App Store metadata, privacy policy, and TestFlight coverage ready
  • Full App Store Connect preparation — see references/app-store-connect-checklist.md

Google Play

  • Target SDK meets the current Play target-API requirement (read the level and deadline on the Play target-SDK page; it moves every year)
  • Privacy policy, content rating, and Data safety complete
  • Signing, auth and background behavior tested under modern Android constraints; attestation tested if used
  • Internal/closed/open tracks configured appropriately

Known Traps

  • Assuming one mobile framework decision solves release, entitlement, deep-link, and push behavior without platform-specific proof
  • Validating auth, push, or deep links only in local debug builds and treating that as production readiness
  • Mixing sandbox, staging, and production mobile backends until install-specific behavior becomes impossible to reproduce
  • Using emulator or simulator success as proof for background execution, notification delivery, or device-specific lifecycle
  • Choosing a cross-platform stack before listing native integrations, extension points, and store-policy constraints that can force native escape hatches

Navigation

References

Shared Checklists And Utilities

Templates

Related Skills

Release Lookups

Before a release recommendation, read Apple's upload/SDK and third-party SDK requirements, Google's target-API policy, and the installed framework's upgrade notes using data/sources.json. An unreachable submission gate is unverified and blocks a readiness claim. Source-list edit dates do not establish that every page was checked.

Learnings Loop

When prior decisions or pitfalls are relevant, consult learnings.consolidated.md if present; use learnings.md only for needed history or as the available fallback. Otherwise skip both.

After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/vasilyu1983/ai-agents-public/software-mobile">View software-mobile on skillZs</a>