- Home
- Skills
- Mobile Development
- Store Preflight: One Check Before Every Store Build
More screenshots
Works with the AI tools you already use
Store Preflight: One Check Before Every Store Build
One command before every store build of a Flutter, React Native or Expo app that catches what passes a build and fails a store, and runs your other release checks in the same report.
$15
Store Preflight: One Check Before Every Store Build
Example session with this skill installed
Run the release checks on this app before I build.
- Read your context and instructions
- Compiled the store preflight
What the skill printed
my-app (flutter)
version 1.0.0 build 1 (pubspec, both platforms)
FAIL source
[ANDROID-DEBUG-KEY] android/key.properties is missing, and build.gradle falls back to the debug key without a word when it is. Restore it before building a release
[IOS-IPAD] the app declares iPad support, and no iPad screenshots were found; App Store Connect requires them
FAIL compliance
warning [ATT-LAUNCH]: packages/flutter_data/lib/ads/ad_service.dart: the tracking prompt is requested in _initialize; ask after the user has got something from the app (first result, first level)
warning [PRIV-CRASH]: a crash reporter is in the build but Crash Data is not declared in PrivacyInfo.xcprivacy
error [ADS-REVOKE]: nothing opens the privacy options form. AdMob's European message tells users the app has a link to change consent
error [ADS-APPID]: the iOS AdMob app id is Google's sample id (ca-app-pub-3940256099942544~1458002511): every impression is a test
error [ADS-APPID]: the Android AdMob app id is Google's sample id (ca-app-pub-3940256099942544~3347511713): every impression is a test
3 errors, 2 warnings.
pass launch
warning: ios/Runner.xcodeproj/project.pbxproj has ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon. flutter_launcher_icons 0.14 writes that by mistake; Xcode reads it as NO today, but it should be YES. Revert that line after every icon run
warning: packages/ui/lib/screens/splash/splash_view.dart:20: splash held for 2000 ms; under 1 s reads as fast, 2 s as a slow app
0 errors, 2 warnings.
2 errors, 1 warnings.
Connects securely to your tools. The creator never sees your data.
About this skill
A release build can compile, install and run, and still be signed with the debug key, missing a camera purpose string, or declaring iPad support with no iPad screenshots. You find out from a store rejection or, for the signing key, after Play has pinned the wrong one on a first upload.
preflight.py works on Flutter, React Native and Expo projects. It runs last, before the build you upload, and prints one verdict per section. It exits non-zero on any error.
Source checks
- ANDROID-DEBUG-KEY: the release build falls back to the debug key (Flutter's Gradle does this in silence when
key.propertiesis missing, and the React Native template signs release with the debug key by default). - IOS-PURPOSE: a plugin that needs an Info.plist usage string has none, or a near-empty one.
- IOS-ENCRYPTION: no
ITSAppUsesNonExemptEncryption, so every upload stops at the export-compliance question. - IOS-IPAD: iPad support declared with no iPad screenshots found.
- VERSION-MISMATCH: iOS and Android version or build numbers out of step (Expo keeps them separately).
- STALE-AAB: the
.aabis older than the last commit.
Then, in the same report
- compliance: the app-compliance audit
- launch: the launch-branding check
- screenshots: the flutter-store-screenshots validator, when the app has a
screenshots/folder made by it - play: play-release's AAB preflight, when an
.aabexists - ipa: the shipped
.appinside an.ipa: privacy manifest included, no sample AdMob id
A section whose skill is not installed is reported as skipped, never as passed.
What you need: Python 3.9+ and git. No packages to install. The other sections need their skills installed.
I build small apps on my own and have a shelf of them on the App Store and Google Play. This is the one command I run before every store build.
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
30-day refund
Not a fit? Get your money back
Trust & safety
Security scanned
Verified clean 5 days ago
- Passed all security checks, Safe to install