tddworks/asc-cli-skills/asc-check-readiness

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

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

Install

npx vskill@latest install tddworks/asc-cli-skills/asc-check-readiness

SKILL.md

asc versions check-readiness

Pre-flight check that aggregates all App Store submission requirements for a version.

Command

bash
asc versions check-readiness --version-id <VERSION_ID> [--pretty]

Runs 6 API checks and returns a VersionReadiness report.

Reading the Output

Top-level decision field
"isReadyToSubmit": true → safe to submit; affordances.submit is present
"isReadyToSubmit": false → one or more MUST FIX checks failed
Check severity
FieldSeverityBlocks isReadyToSubmit?
stateCheckMUST FIXYes — state must be PREPARE_FOR_SUBMISSION
buildCheckMUST FIXYes — build must be linked, valid, not expired
pricingCheckMUST FIXYes — app must have a price schedule configured
reviewContactCheckSHOULD FIXNo — warning only, submission still proceeds
localizations[].passSHOULD FIXNo — Apple may reject post-submit

Readiness is a pre-check, not Apple's verdict. Apple runs more checks when the version is added to a submission — every required device screenshot size (e.g. iPad 12.9"), the content rights declaration, published App Privacy answers — which check-readiness doesn't see. So isReadyToSubmit: true can still be refused at submit time. When that happens, asc versions submit / asc review-submissions items add print Apple's reasons one per line (Apple refused the review submission: … - <reason>); relay each as something to fix. See submit-with-products.md.

Build check fields
json
"buildCheck": {
"linked": true,
"valid": true,
"notExpired": true,
"buildVersion": "2.1.0 (102)",
"pass": true
}

pass = linked && valid && notExpired

CAEOAS — Use Affordances

When isReadyToSubmit == true, the response includes affordances.submit:

json
"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"
}

Always copy `affordances.submit` directly — never construct the submit command manually. When isReadyToSubmit == false, affordances.submit is absent.

Typical Workflow

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

Fix Guide

Failing checkHow to fix
stateCheck failsVersion is already live or in review — create a new version with asc versions create
buildCheck.linked == falseLink a build: asc versions set-build --version-id <id> --build-id <id>
buildCheck.valid == falseBuild is still processing — wait and re-check, or upload a new build
buildCheck.notExpired == falseBuild expired — upload a new build with asc builds upload
pricingCheck failsasc apps price-points list --app-id <id> then asc apps prices set --app-id <id> --base-territory USA --price-point-id <id> (0.0 = Free)
reviewContactCheck failsasc version-review-detail update --version-id <id> --contact-email dev@example.com --contact-phone "+1-555-0100"

CI Gate Script

bash
#!/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

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/tddworks/asc-cli-skills/asc-check-readiness/badge)](https://verified-skill.com/skills/tddworks/asc-cli-skills/asc-check-readiness)

Something wrong with this skill or its page? Tell us.