🎯

asc-submission-health

🎯Skill

from rudrankriyam/app-store-connect-cli-skills

VibeIndex|
What it does

Preflight and monitor App Store submission health, ensuring builds meet Apple's requirements and reducing review submission failures.

πŸ“¦

Part of

rudrankriyam/app-store-connect-cli-skills(10 items)

asc-submission-health

Installation

Quick InstallInstall with npx
npx add-skill rudrankriyam/app-store-connect-cli-skills
πŸ“– Extracted from docs: rudrankriyam/app-store-connect-cli-skills
15Installs
45
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Preflight App Store submissions, submit builds, and monitor review status with asc. Use when shipping or troubleshooting review submissions.

Overview

# 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

```bash

asc builds info --build "BUILD_ID"

```

Check:

  • processingState is VALID
  • usesNonExemptEncryption - if true, requires encryption declaration

2. Encryption Compliance

If usesNonExemptEncryption: true:

```bash

# 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"

```

Better approach: Add ITSAppUsesNonExemptEncryption = NO to Info.plist and rebuild.

3. Content Rights Declaration

Required for all App Store submissions:

```bash

# Check current status

asc apps get --id "APP_ID" --output json | jq '.data.attributes.contentRightsDeclaration'

# Set if missing

asc apps update --id "APP_ID" --content-rights "DOES_NOT_USE_THIRD_PARTY_CONTENT"

```

Valid values:

  • DOES_NOT_USE_THIRD_PARTY_CONTENT
  • USES_THIRD_PARTY_CONTENT

4. Version Metadata

```bash

# Check version details

asc versions get --version-id "VERSION_ID" --include-build

# Verify copyright is set

asc versions update --version-id "VERSION_ID" --copyright "2026 Your Company"

```

5. Localizations Complete

```bash

# 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)

```bash

# List app info IDs (if multiple exist)

asc app-infos list --app "APP_ID"

# Check privacy policy URL

asc localizations list --app "APP_ID" --type app-info --app-info "APP_INFO_ID"

```

Submit

Using Review Submissions API (Recommended)

```bash

# 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

```bash

asc submit create --app "APP_ID" --version "1.2.3" --build "BUILD_ID" --confirm

```

Use --platform when multiple platforms exist.

Monitor

```bash

# 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

```bash

# 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:

  1. Build is attached and VALID
  2. Encryption declaration approved (or exempt)
  3. Content rights declaration set
  4. All localizations complete
  5. Screenshots present for all locales

"Export compliance must be approved"

The build has usesNonExemptEncryption: true. Either:

  • Upload export compliance documentation
  • Or rebuild with ITSAppUsesNonExemptEncryption = NO in Info.plist

"Multiple app infos found"

Use --app-info flag with the correct app info ID:

```bash

asc app-infos list --app "APP_ID"

```

Notes

  • asc submit create uses the new reviewSubmissions API automatically.
  • Use --output table when you want human-readable status.
  • macOS submissions follow the same process but use --platform MAC_OS.

More from this repository9

🎯
asc-release-flow🎯Skill

Streamlines iOS and macOS app releases by automating build uploads, TestFlight distribution, and App Store submission processes.

🎯
asc-id-resolver🎯Skill

Resolves App Store Connect IDs by translating human-friendly names to precise identifiers for apps, builds, versions, groups, and testers.

🎯
asc-metadata-sync🎯Skill

Synchronizes and validates App Store Connect metadata and localizations across different locales and version releases.

🎯
asc-build-lifecycle🎯Skill

Manages Apple Store Connect build lifecycle by tracking, finding, processing, and cleaning up builds across different platforms and versions.

🎯
asc-cli-usage🎯Skill

Provides expert guidance for executing and designing App Store Connect CLI commands with best practices for flags, output, authentication, and command discovery.

🎯
asc-testflight-orchestration🎯Skill

Orchestrates TestFlight distribution by managing beta groups, testers, builds, and release notes using Apple's App Store Connect CLI.

🎯
asc-signing-setup🎯Skill

Configures iOS/macOS app signing assets like bundle IDs, certificates, and provisioning profiles using Apple's ASC CLI.

🎯
asc-ppp-pricing🎯Skill

Configures territory-specific subscription and in-app purchase prices using purchasing power parity (PPP) across different countries.

🎯
asc-xcode-build🎯Skill

Builds and exports iOS/macOS apps using xcodebuild, generating IPA or PKG files ready for App Store Connect upload.