← Back to Mobile application starters · project planning pack
See how it helps
Verify mobile implementations
Combines relevant static checks, behavior tests and honest device evidence without equating a bundle build with a working app.
mobile-verification
Agents using this skill
When is it useful?
Use before claiming a mobile change works on its target platforms.
What does it help you do?
- Runs project-specific analysis, generated-code and build checks.
- Tests affected loading, error, offline and lifecycle behavior.
- Reports simulator, physical-device and unverified-platform coverage separately.
Try asking this
Verify a new upload flow and distinguish Android-device results from an iOS build that was not launched. Interrupt upload on a physical Android device and reopen the app. Report the observed result separately from static checks and the unexecuted iOS scenario.
Detailed documentation
Read the skill’s original instructions, examples and checks in their authored language.
Show less
Mobile Verification & Build
Verify mobile changes with the project's typechecker, static analyzer, test runner and bundler/compiler, and state explicitly what was verified on iOS, Android, simulator/emulator or only at the code level.
1. Static analysis, codegen and bundle/build verification
- React Native / Expo:
- Run
npx tsc --noEmitand ESLint. - When
package.json,app.jsonor native config plugins change, runnpx expo-doctorand verify bundle compilation (npx expo export --dump-sourcemapor Metro bundle check) catches missing assets, broken imports or New Architecture incompatibilities.
- Run
- Flutter:
- When
@freezed,@JsonSerializable,@riverpodor@HostApi(Pigeon) definitions change, rundart run build_runner build --delete-conflicting-outputsfirst. - Run
flutter analyze(zero warnings/errors) anddart format --output=none --set-exit-if-changed.
- When
- Native iOS / Android:
- When native manifests, Podfile or Gradle files change, verify
xcodebuild/./gradlew assembleDebugortestDebugUnitTestwhen the toolchain is available in the environment.
- When native manifests, Podfile or Gradle files change, verify
2. Targeted automated tests across states
- React Native (Jest + React Native Testing Library):
- Render screens/components with required providers (navigation, query client, safe area), query by accessible role/label (
getByRole,getByLabelText,findByText), trigger interactions viauserEvent/fireEvent, and mock native modules at the service boundary.
- Render screens/components with required providers (navigation, query client, safe area), query by accessible role/label (
- Flutter (
flutter test):- Write unit tests for repositories/notifiers/blocs (
ProviderContainerorblocTest) and widget tests (testWidgets,pumpWidget,pumpAndSettle) with fake/overridden repositories.
- Write unit tests for repositories/notifiers/blocs (
- Required test matrix: verify not only the happy path, but also loading state, empty state, network/server error + retry, form validation errors, and permission-denied fallback.
- Never weaken security settings (
NSAllowsArbitraryLoads,usesCleartextTraffic), skip failing tests or silence type errors to force a pass.
3. Honest platform reporting and release guardrails
- State verification scope explicitly: distinguish what was verified via automated tests, iOS Simulator, Android Emulator or physical hardware. Hardware-dependent features (camera, biometrics, APNs/FCM push delivery, background task throttling, thermal/60fps behavior) must be flagged for physical device QA if only tested in a simulator or unit test.
- Never alter signing certificates, keystores, bundle IDs or store credentials, never send push notifications to production topics, and never trigger
eas submit,fastlane deliveror production OTA publishes without explicit permission.
Before you finish
- Typecheck, analyzer, linter, codegen and bundle/compile checks executed and clean.
- Automated unit and component/widget tests cover happy path + loading, empty, error/retry and permission states.
- Handoff states clearly what ran on iOS, Android, simulator or unit tests, and lists device-only checks for QA.
Included files 2
LICENSE.txtSKILL.md
