asc-submission-health▌
rudrankriyam/app-store-connect-cli-skills · updated Apr 8, 2026
Preflight App Store submissions, validate builds, and monitor review status with asc command-line tools.
- ›Provides pre-submission checklist covering build validation, encryption compliance, content rights declarations, metadata completeness, and localization requirements
- ›Includes two submission workflows: the Review Submissions API (recommended) for granular control, and the simpler asc submit create command for direct version submission
- ›Offers monitoring and cancellation commands to
asc submission health
Use this skill to reduce review submission failures and monitor status.
Preconditions
- Auth configured and app/version/build IDs resolved.
- Build is processed (not in processing state).
- All required metadata is complete.
Pre-submission Checklist
1. Verify Build Status
asc builds info --build-id "BUILD_ID"
Check:
processingStateisVALIDusesNonExemptEncryption- iftrue, requires encryption declaration
2. Encryption Compliance
If usesNonExemptEncryption: true:
# If the app should be exempt, patch the local plist helper, rebuild, and re-upload
asc encryption declarations exempt-declare --plist "./Info.plist"
# List existing declarations
asc encryption declarations list --app "APP_ID"
# Create declaration if needed
asc encryption declarations create \
--app "APP_ID" \
--app-description "Uses standard HTTPS/TLS" \
--contains-proprietary-cryptography=false \
--contains-third-party-cryptography=true \
--available-on-french-store=true
# Assign to build
asc encryption declarations assign-builds \
--id "DECLARATION_ID" \
--build "BUILD_ID"
If the app truly uses only exempt transport encryption, prefer asc encryption declarations exempt-declare --plist "./Info.plist" and rebuild instead of creating a declaration that does not match the binary.
3. Content Rights Declaration
Required for all App Store submissions:
# Check current status
asc apps content-rights view --app "APP_ID"
# Set it for most apps
asc apps content-rights edit --app "APP_ID" --uses-third-party-content=false
Valid values:
DOES_NOT_USE_THIRD_PARTY_CONTENTUSES_THIRD_PARTY_CONTENT
4. Version Metadata
# Check version details
asc versions view --version-id "VERSION_ID" --include-build
# Verify copyright is set
asc versions update --version-id "VERSION_ID" --copyright "2026 Your Company"
5. Localizations Complete
# List version localizations
asc localizations list --version "VERSION_ID"
# Check required fields: description, keywords, whatsNew, supportUrl
6. Screenshots Present
Each locale needs screenshots for the target platform.
7. App Info Localizations (Privacy Policy)
# List app info IDs (if multiple exist)
asc apps info list --app "APP_ID"
# Check privacy policy URL
asc localizations list --app "APP_ID" --type app-info --app-info "APP_INFO_ID"
8. App Privacy readiness advisory
asc can warn about App Privacy readiness, but the public App Store Connect API
cannot verify whether App Privacy is fully published. Before final submission:
asc submit preflight --app "APP_ID" --version "1.2.3" --platform IOS
asc validate --app "APP_ID" --version "1.2.3" --platform IOS
Prefer the version string form for top-level readiness checks in this skill so it stays aligned with asc submit preflight. Lower-level commands later in this guide still use VERSION_ID where the API requires it.
If either command reports an App Privacy advisory, the public API cannot verify publish state. Use the web-session privacy workflow if you rely on those endpoints:
asc web privacy pull --app "APP_ID" --out "./privacy.json"
asc web privacy plan --app "APP_ID" --file "./privacy.json"
asc web privacy apply --app "APP_ID" --file "./privacy.json"
asc web privacy publish --app "APP_ID" --confirm
If you do not want to use the experimental asc web privacy ... commands,
confirm App Privacy manually in App Store Connect:
https://appstoreconnect.apple.com/apps/APP_ID/appPrivacy
9. Digital goods readiness (IAPs / subscriptions)
If the app sells subscriptions or in-app purchases, validate those separately before submit:
asc validate iap --app "APP_ID" --output table
asc validate subscriptions --app "APP_ID" --output table
In current asc, asc validate subscriptions expands MISSING_METADATA into a per-subscription diagnostics matrix. Use it to identify missing review screenshots, promotional images, pricing or availability coverage gaps, offer readiness, and app/build evidence before retrying submit or first-review attach.
Use --output json --pretty when you want exact territory gaps in machine-readable form.
Submit
Using Review Submissions API (Recommended)
# Create submission
asc review submissions-create --app "APP_ID" --platform IOS
# Add version to submission
asc review items-add \
--submission "SUBMISSION_ID" \
--item-type appStoreVersions \
--item-id "VERSION_ID"
# Submit for review
asc review submissions-submit --id "SUBMISSION_ID" --confirm
Using Submit Command
asc submit preflight --app "APP_ID" --version "1.2.3" --platform IOS
asc submit create --app "APP_ID" --version "1.2.3" --build "BUILD_ID" --confirm
Use --platform when multiple platforms exist.
Monitor
# Check submission status
asc submit status --id "SUBMISSION_ID"
asc submit status --version-id "VERSION_ID"
# List all submissions
asc review submissions-list --app "APP_ID" --paginate
Cancel / Retry
# Cancel submission
asc submit cancel --id "SUBMISSION_ID" --confirm
# Or via review API
asc review submissions-cancel --id "SUBMISSION_ID" --confirm
Fix issues, then re-submit.
Common Submission Errors
"Version is not in valid state"
Check:
- Build is attached and VALID
- Encryption declaration approved (or exempt)
- Content rights declaration set
- All localizations complete
- Screenshots present for all locales
- App Privacy has been reviewed and published in App Store Connect
"Export compliance must be approved"
The build has usesNonExemptEncryption: true. Either:
- Upload export compliance documentation
- Or rebuild with
ITSAppUsesNonExemptEncryption = NOin Info.plist
"Multiple app infos found"
Use --app-info flag with the correct app info ID:
asc apps info list --app "APP_ID"
Notes
asc submit createuses the new reviewSubmissions API automatically.asc submit preflightcan return non-blocking advisories; review them before submitting.- App Privacy publish state is not verifiable via the public API.
- Prefer
asc apps content-rights view/editover ad-hoc app JSON inspection. asc validate subscriptionsnow provides much richer per-subscription diagnostics forMISSING_METADATAcases.- If you use ASC web-session flows,
asc web privacy pull|plan|apply|publishis the CLI path for App Privacy. - If you avoid the experimental web-session commands, confirm App Privacy manually in App Store Connect.
- Use
--output tablewhen you want human-readable status. - macOS submissions follow the same process but use
--platform MAC_OS.
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.4★★★★★35 reviews- ★★★★★Kwame Park· Dec 16, 2024
Registry listing for asc-submission-health matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Dev Rao· Dec 12, 2024
Solid pick for teams standardizing on skills: asc-submission-health is focused, and the summary matches what you get after install.
- ★★★★★Rahul Santra· Nov 19, 2024
asc-submission-health is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Liam Okafor· Nov 11, 2024
asc-submission-health is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Olivia Menon· Nov 7, 2024
Useful defaults in asc-submission-health — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Min Brown· Nov 3, 2024
We added asc-submission-health from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Anaya Shah· Oct 26, 2024
I recommend asc-submission-health for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Min Shah· Oct 22, 2024
asc-submission-health fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Pratham Ware· Oct 10, 2024
Keeps context tight: asc-submission-health is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Mia Gill· Oct 2, 2024
Keeps context tight: asc-submission-health is the kind of skill you can hand to a new teammate without a long onboarding doc.
showing 1-10 of 35