Loading...
Loading...
Run pre-flight submission checks for an App Store version using the `asc` CLI tool. Use this skill when: (1) Checking if a version is ready to submit to App Store review (2) Diagnosing why a version cannot be submitted (missing build, no pricing, wrong state) (3) Running a CI/CD gate before calling `asc versions submit` (4) User asks "is my version ready?", "check readiness", "why can't I submit?", "run pre-flight checks", "check submission requirements", or any submission-readiness task (5) Building an automated pipeline that conditionally submits based on readiness
npx skill4agent add tddworks/asc-cli-skills asc-check-readinessasc versions check-readiness --version-id <VERSION_ID> [--pretty]VersionReadiness"isReadyToSubmit": true → safe to submit; affordances.submit is present
"isReadyToSubmit": false → one or more MUST FIX checks failed| Field | Severity | Blocks |
|---|---|---|
| MUST FIX | Yes — state must be |
| MUST FIX | Yes — build must be linked, valid, not expired |
| MUST FIX | Yes — app must have a price schedule configured |
| SHOULD FIX | No — warning only, submission still proceeds |
| SHOULD FIX | No — Apple may reject post-submit |
"buildCheck": {
"linked": true,
"valid": true,
"notExpired": true,
"buildVersion": "2.1.0 (102)",
"pass": true
}passlinked && valid && notExpiredisReadyToSubmit == trueaffordances.submit"affordances": {
"checkReadiness": "asc versions check-readiness --version-id v-123",
"listLocalizations": "asc version-localizations list --version-id v-123",
"submit": "asc versions submit --version-id v-123"
}affordances.submitisReadyToSubmit == falseaffordances.submit# 1. Find the version in PREPARE_FOR_SUBMISSION
asc versions list --app-id <APP_ID> --output table
# 2. Check readiness (use checkReadiness affordance from step 1 output)
asc versions check-readiness --version-id <VERSION_ID> --pretty
# 3a. Ready → submit using affordances.submit value
asc versions submit --version-id <VERSION_ID>
# 3b. Not ready → diagnose and fix (see Fix Guide below)| Failing check | How to fix |
|---|---|
| Version is already live or in review — create a new version with |
| Link a build: |
| Build is still processing — wait and re-check, or upload a new build |
| Build expired — upload a new build with |
| Set up pricing in App Store Connect web UI (no |
| |
#!/bin/bash
set -e
RESULT=$(asc versions check-readiness --version-id "$VERSION_ID")
IS_READY=$(echo "$RESULT" | jq -r '.data[0].isReadyToSubmit')
if [ "$IS_READY" = "true" ]; then
eval "$(echo "$RESULT" | jq -r '.data[0].affordances.submit')"
else
echo "NOT ready. Failing checks:"
echo "$RESULT" | jq '.data[0] | {stateCheck, buildCheck, pricingCheck}'
exit 1
fi