本文へ移動
cccskills
無料GitHub で公開

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.

インストール方法を見る

含まれるファイル(17)

  • SKILL.md21.3 KB
  • agents/openai.yaml339 B
  • assets/cross-platform/template-webview.md29.8 KB
  • data/sources.json33.6 KB
  • evals/evals.json8.7 KB
  • learnings.consolidated.md591 B
  • learnings.md367 B
  • references/android-best-practices.md1.1 KB
  • references/app-store-connect-checklist.md36.0 KB
  • references/cross-platform-comparison.md9.8 KB
  • references/deep-linking-guide.md21.1 KB
  • references/ios-best-practices.md1.0 KB
  • references/offline-first-architecture.md21.9 KB
  • references/operational-playbook.md9.2 KB
  • references/platform-traps-and-judgment.md7.6 KB
  • references/push-notifications-guide.md41.1 KB
  • references/store-update-and-payment-policy.md8.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public952026年10月12日 更新

Configures and hardens Claude Code and Codex MCP servers. Use when connecting databases, APIs, SaaS, building servers, or serving a clearance-filtered knowledge base.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public952026年10月12日 更新

Owns instruction files: AGENTS.md, CLAUDE.md, personal and repo rules. Use when writing, pruning, auditing them, sharing rules across Claude and Codex, or fixing ignored rules.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public952026年10月12日 更新

Creates and audits agent skills: SKILL.md, references, scripts, runtime metadata. Use when writing, validating, or security-reviewing a skill, or fixing truncated skill listings.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public952026年10月12日 更新

Adds per-skill learnings loops for dated patterns, mistakes, and domain facts. Use when wiring skill memory, consolidation, or drift audits.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public952026年10月12日 更新

Chooses subagent, team, workflow, or debate and launches it on Claude Code or Codex. Use when delegating, running agent review boards, or installing shared agents.

日本語の概要は準備中です。原文の説明を表示しています。

vasilyu1983/AI-Agents-public952026年10月12日 更新

vasilyu1983 のスキルをすべて見る

このスキルの問題を報告する