| name | flutter-store-review-checker |
| description | Pre-submission audit for Flutter apps targeting Apple App Store and Google Play Store. Trigger this skill when the user mentions "submit to App Store", "ready to publish", "TestFlight", "App Store review", "app rejected", "Guideline 5.1.1", "Guideline 4.8", "privacy manifest", "PrivacyInfo.xcprivacy", "Data Safety", "Privacy Policy", or before any production release. Runs a checklist covering App Privacy labels, privacy manifests, third-party SDK signatures, login requirements (5.1.1 e-commerce browse-before-login), Apple Sign-In requirement when offering social auth (4.8), subscription terms transparency, screenshot requirements, age rating, and Play Store Data Safety form. Identifies blockers BEFORE the rejection email arrives. Use when this capability is needed. |
| metadata | {"author":"axisting"} |
Flutter App Store + Play Store Review Checker
This skill runs as a pre-flight audit. Its job is to find rejection causes BEFORE submitting, not after.
Run Order
- Read
pubspec.yaml, ios/Runner/Info.plist, android/app/build.gradle, android/app/src/main/AndroidManifest.xml
- Run the Apple checklist (most strict)
- Run the Android checklist
- Output a single combined report with blockers, warnings, and "okay" items
Do not just list rules abstractly. For each item, ACTUALLY check the project's files and report status: PASS, FAIL, NEEDS_REVIEW.
Apple App Store Checklist (2026 Rules)
Privacy
App Privacy Labels (App Store Connect)
Action item: open App Store Connect → App Privacy → Get Started, run through the wizard.
PrivacyInfo.xcprivacy Manifest
Since 2024, Apple REQUIRES a privacy manifest for any third-party SDK that accesses certain "required reason APIs". As of 2026, missing manifests cause automatic rejection.
Check:
Third-party SDK signatures:
If user is unsure, point them to https://developer.apple.com/documentation/bundleresources/privacy_manifest_files
Tracking (ATT)
If the app uses any tracking SDK (AdMob, Meta, AppsFlyer, Adjust):
If no tracking:
Login and Account
Guideline 5.1.1 (most common rejection)
"Apps may not require users to enter personal information to function, except when directly relevant to the core functionality of the app or required by law."
Check the app's login flow:
If a marketplace, content app, or browser-style app forces login before showing anything, REJECTION IS LIKELY.
Guideline 4.8 (Sign in with Apple)
If the app offers Google Sign-In, Facebook Login, or any third-party sign-in:
If only email/password auth: 4.8 does not apply, skip this check.
If google_sign_in is in pubspec but sign_in_with_apple is not, this is a BLOCKER.
Guideline 5.1.1(v) Account Deletion
Missing account deletion is a common rejection since 2022.
Subscriptions and IAP
Subscription Transparency (App Review 3.1.2)
On the paywall, BEFORE the user can tap purchase:
Restore Purchases
Real Products
App Content
Age Rating
Screenshots
App Icon
Technical
Build
Crash Reports
Google Play Store Checklist
Data Safety Form
Account Deletion
Same as Apple: in-app account deletion required since 2024.
Target SDK Level
Permissions
Subscriptions
Same general rules as Apple:
Screenshots and Listing
Cross-Cutting
Privacy Policy
A hosted Privacy Policy URL is required by BOTH stores. The policy must:
If the user has no Privacy Policy yet, that is a BLOCKER. Tools like https://app-privacy-policy-generator.firebaseapp.com or a custom one can fix this in 15 minutes.
Localized App Store Metadata
Output Format
When this skill runs, produce a structured report:
APPLE APP STORE — Status: <READY|BLOCKED|NEEDS_REVIEW>
BLOCKERS (must fix before submission):
- [item] [why]
WARNINGS (likely to delay review):
- [item] [why]
PASS:
- [count] checks passed
GOOGLE PLAY STORE — Status: <READY|BLOCKED|NEEDS_REVIEW>
BLOCKERS:
...
WARNINGS:
...
PASS:
- [count] checks passed
Do not output the full checklist as-is, only the items that need attention plus a count summary.
Volkan-Specific Context
Volkan went through HST iOS submission recently and dealt with:
- TestFlight issues likely rooted in incomplete banking setup
- W-8BEN tax form
- ATT tracking declaration
- RevenueCat configured for auto-renewable + one-time purchases in multiple currencies
When auditing HST, double-check that banking and tax forms are complete in App Store Connect → Agreements, Tax, and Banking. Missing tax info blocks paid app distribution even if the app passes review.
Source: axisting/axistia-flutter-skills — distributed by TomeVault.