Skills
Build mobile features with ak:mobile-development
Implement React Native, Flutter, iOS, or Android work with explicit platform versions, device evidence, credentials, external services, and store boundaries.
Use ak:mobile-development to plan, implement, debug, or verify a mobile
feature for React Native, Flutter, native iOS with Swift/SwiftUI, or native
Android with Kotlin/Jetpack Compose. The Skill emphasizes mobile constraints:
small screens, intermittent networks, device resources, platform conventions,
secure storage, accessibility, real-device testing, and staged release.
Choose one platform boundary
Use ak:mobile-development when
- The target is an iOS or Android app and the framework is known.
- You need a native-versus-cross-platform decision grounded in team, feature, device, and maintenance constraints.
- You are implementing offline sync, authentication, notifications, deep links, accessibility, performance, or a platform-specific capability.
- You need a mobile debugging or release-readiness workflow with device evidence.
Choose another workflow when
- The target is a responsive website or PWA rather than an installed mobile app.
Use
ak:frontend-developmentorak:web-frameworks. - You need product or visual direction before implementation. Use
ak:brainstormorak:frontend-design. - You are integrating a payment provider. Use
ak:payment-integrationfor that provider contract alongside the mobile SDK boundary. - You need only an independent code review or test pass. Use
ak:code-revieworak:test.
Prepare the toolchain, devices, and services
Before you start:
- Complete Onboarding, and confirm Engineer Kit is installed for the current runtime and scope.
- Name exactly one primary stack: React Native/Expo, Flutter, Swift/SwiftUI, or Kotlin/Compose. Read its installed framework, language, SDK, build-tool, package-manager, and minimum OS versions from the project.
- Identify supported devices, screen classes, accessibility needs, offline behavior, data-conflict policy, background work, battery budget, and performance targets.
- Use development backends, test accounts, simulator/emulator fixtures, and approved physical devices. Keep signing keys, certificates, provisioning profiles, keystores, API tokens, push credentials, user data, and production logs out of prompts, source control, screenshots, and unprotected artifacts.
- State whether dependency installation, native project generation, pods or Gradle changes, device control, network proxies, analytics/crash services, signing, store upload, or rollout is authorized.
The bundled references describe a 2024–2025 toolchain snapshot. Store SDK requirements, framework versions, device support, APIs, review rules, and submission deadlines must be verified against current official sources.
| Runtime | Invocation | Availability boundary |
|---|---|---|
| Claude Code | /ak:mobile-development ... | Can edit and run available local tools; Xcode, Android, device, signing, and store access depend on the host and explicit authority. |
| Cursor | /ak:mobile-development ... | Uses the user-verified slash spelling; broader Agent, Hook, device, and IDE parity is not established. |
| Codex | $ak:mobile-development ... | Uses native Skill discovery; projected Hooks are partial and device/IDE capabilities depend on the session. |
See Runtime adapters for component-level differences.
Run the Skill
The declared argument shape is [platform] [feature]. Start with
react-native, flutter, ios, or android, then name the supported OS/device
matrix, network behavior, tests, and release boundary.
/ak:mobile-development "react-native Add an offline-capable saved-articles screen to the existing app. Reuse its database, navigation, state, and design system; define sync conflicts and retry states; test accessibility and low-connectivity behavior; do not add analytics, use production data, sign, upload, or release."/ak:mobile-development "react-native Add an offline-capable saved-articles screen to the existing app. Reuse its database, navigation, state, and design system; define sync conflicts and retry states; test accessibility and low-connectivity behavior; do not add analytics, use production data, sign, upload, or release."$ak:mobile-development "react-native Add an offline-capable saved-articles screen to the existing app. Reuse its database, navigation, state, and design system; define sync conflicts and retry states; test accessibility and low-connectivity behavior; do not add analytics, use production data, sign, upload, or release."| Input | Include |
|---|---|
| Platform contract | Framework, SDK/build tools, minimum iOS/Android versions, device classes, native modules, and store channel |
| User outcome | Navigation, loading, empty, offline, syncing, conflict, error, permission, accessibility, and recovery states |
| Data and security | Backend, local storage, encryption, token storage, permissions, privacy, logs, analytics, and retention |
| Mutation boundary | Allowed files, packages, native projects, generated output, devices, external services, signing, upload, and rollout |
| Evidence | Unit, component/widget, integration, E2E, real-device, performance, battery, network, accessibility, and crash checks |
Observe the mobile stages
- The run verifies the actual stack and device matrix. It reads project versions, native modules, generated areas, build variants, and minimum OS support before choosing a pattern.
- The run defines mobile states and constraints. Touch, safe areas, system navigation, permissions, offline data, conflicts, background work, accessibility, battery, memory, and network behavior stay explicit.
- The run selects platform-compatible architecture. It preserves the project’s state, navigation, storage, dependency injection, and native-module boundaries rather than introducing a generic architecture.
- The run implements the smallest feature slice. Code, native config, localization, permissions, migrations, and generated artifacts remain within the approved ownership boundary.
- The run verifies progressively. Static and unit checks run first, then emulator/simulator, approved physical devices, constrained networks, accessibility services, profiling, and E2E as required.
- The run reports release readiness. Changed files, packages, permissions, services, device coverage, measurements, signing needs, store metadata, and unperformed upload/rollout steps are listed.
Keep devices, data, signing, and stores under approval
Mobile tooling crosses several trust boundaries
Builds and tests can control devices, install or remove apps, capture screens and traffic, contact analytics or push services, use signing material, and upload artifacts. Confirm each device, account, service, and store action.
- Package, CocoaPods, Gradle, code-generation, and native-build commands can run scripts, rewrite project files, download large toolchains, and create sizable caches or artifacts.
- Network proxies and crash/session-replay tools can capture tokens, user data, request bodies, screens, and interactions. Use synthetic data, redact logs, and obtain privacy approval before external telemetry.
- Store tokens in Keychain, KeyStore-backed storage, or the project’s approved secure abstraction. Do not hardcode credentials or assume biometric success equals backend authorization.
- Offline writes need durable identity, retry, conflict, deletion, and rollback behavior. Optimistic UI must expose unsynced and failed states.
- Real-device testing is required for release confidence, but it does not authorize using a personal device, production account, or real customer data.
- Signing, TestFlight/internal-track upload, phased rollout, store submission, production release, and rollback are separate approvals.
Verify the result
A complete result should provide:
- The platform, installed toolchain evidence, minimum OS/device matrix, and user-visible state contract.
- Exact changed files, native configuration, permissions, packages, generated output, local schema, environment names, and external services.
- Focused static, unit, component/widget, integration, E2E, accessibility, localization, permission, offline, conflict, and recovery test results.
- Comparable launch, frame, memory, network, battery, or app-size evidence when performance is in scope, measured on named environments and devices.
- Device coverage and gaps, crash/log evidence with sensitive data removed, and confirmation that signing/upload/release did not occur unless authorized.
Troubleshoot or continue
| Symptom | Safe next step |
|---|---|
| A reference API or build setting is unavailable | Read the installed SDK/framework and supported OS versions, then use the project’s compatible API or plan a separate upgrade. |
| It works in a simulator but fails on device | Preserve device/OS/build evidence, inspect permissions, architecture, signing, network, memory, and native logs before changing code. |
| Offline data duplicates or disappears | Stop sync, preserve local and server records, inspect IDs, queue ordering, conflict/deletion policy, and add deterministic recovery tests. |
| A profiler or proxy exposes sensitive data | Stop capture, secure or delete the artifact, rotate exposed credentials, redact configuration, and resume with synthetic data. |
| Store validation rejects the build | Verify current SDK, target API, privacy declarations, entitlements, permissions, signing, and metadata without uploading another build blindly. |
| The runtime does not recognize the Skill | Confirm target and scope, restart the session, then follow Runtime cannot find a Skill or Agent. |
Continue with ak:test for independent verification, ak:devops for a
separately approved CI/CD workflow, or the
Engineer Kit overview for coordinated delivery.
Know the current limits
- Framework comparisons, adoption figures, performance percentages, budgets, SDK requirements, and store timelines in the source are dated guidance, not current guarantees or universal acceptance criteria.
- The Skill does not include Xcode, Android Studio, SDKs, emulators, devices, developer accounts, signing identities, store credentials, or device farms.
- Its references do not prove support for every OS, device, architecture, native SDK, background mode, accessibility service, or store policy.
- The Skill provides patterns, not a bundled mobile test suite, security audit, privacy review, crash service, build pipeline, or release monitor.
- Stable and beta contain identical Skill content and resources for this release pair. Beta Codex Hook diagnostics do not change this workflow.
Build TanStack Start, Form, or AI features with ak:tanstack
Implement a version-aware TanStack feature while protecting generated routes, provider credentials, server boundaries, tests, and deployment targets.
Prove the root cause with ak:debug
Investigate code and system failures systematically, preserve the evidence chain, and verify any correction before claiming success.