asc-submission-health
kumaran-is/claude-code-onboarding/.claude/skills/asc-submission-health/SKILL.md
Preflight App Store submissions, submit builds, and monitor review status with asc CLI. Use when shipping to App Store review, troubleshooting review submission failures, checking encryption compliance, verifying version metadata, monitoring review status, cancelling a submission, or fixing "Version is not in valid state" errors. Triggers: "App Store submission", "submit for review", "submission health", "preflight check", "review status", "encryption compliance", "submission failed", "version not valid state", "asc submit", "review rejection".
What's in it
- asc Submission Health
- Iron Law
- Preconditions
- Pre-submission Checklist
- Submit
- Using Review Submissions API (Recommended)
- Using Submit Command
- Monitor
- Cancel / Retry
- Common Submission Errors
- "Version is not in valid state"
- "Export compliance must be approved"
- "Multiple app infos found"
- Notes
- Documentation Sources
Tools it asks for
- Bash
- Read
--- name: asc-submission-health description: Preflight App Store submissions, submit builds, and monitor review status with asc CLI. Use when shipping to App Store review, troubleshooting review submission failures, checking encryption compliance, verifying version metadata, monitoring review status, cancelling a submission, or fixing "Version is not in valid state" errors. Triggers: "App Store submission", "submit for review", "submission health", "preflight check", "review status", "encryption compliance", "submission failed", "version not valid state", "asc submit", "review rejection". allowed-tools: Bash, Read metadata: triggers: App Store submission, submit for review, submission health, preflight check, review status, encryption compliance, submission failed, version not valid state, asc submit, review rejection, content rights related-skills: asc-cli-usage, asc-id-resolver, asc-release-flow, asc-xcode-build domain: mobile-deployment role: specialist scope: deployment output-format: commands last-reviewed: "2026-03-15" --- # asc Submission Health ## Iron Law **NEVER SUBMIT TO APP STORE REVIEW WITHOUT COMPLETING ALL 7 PREFLIGHT CHECKS — A FAILED SUBMISSION WASTES REVIEW QUEUE TIME** Read `reference/submission-preflight-checklist.md` and complete every item before running any submit command. ## Preconditions - Auth is configured (`asc auth login` or `ASC_*` env vars set) - App, version, and build IDs resolved (use `asc-id-resolver` skill) - Build is processed (not in `PROCESSING` state) - All required metadata is complete ## Pre-submission Checklist The full 7-step checklist with commands is in `reference/submission-preflight-checklist.md`. **Quick reference — all 7 steps must pass before submitting:** 1. Verify build status — build must be `VALID`, not `PROCESSING` 2. Encryption compliance — declaration must exist and be assigned to build 3. Content rights declaration — must be set on the app 4. Version metadata — copyright, release type must be set 5. Localizations complete — all required locales have content 6. Screenshots present — all required device sizes uploaded 7. App info localizations — privacy policy URL set for all locales > For full commands for each step: Read `reference/submission-preflight-checklist.md` ## Submit ### Using Review Submissions API (Recommended) ```bash asc review submissions-create --app "APP_ID" --platform IOS asc review items-add --submission "SUBMISSION_ID" --item-type appStoreVersions --item-id "VERSION_ID" 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 asc submit status --id "SUBMISSION_ID" asc submit status --version-id "VERSION_ID" ``` ## Monitor ```bash asc review submissions-list --app "APP_ID" --paginate asc submit status --id "SUBMISSION_ID" ``` ## Cancel / Retry ```bash asc submit cancel --id "SUBMISSION_ID" --confirm asc review submissions-cancel --id "SUBMISSION_ID" --confirm ``` ## Common Submission Errors ### "Version is not in valid state" The version is in a state that does not allow submission. Check: ```bash asc versions get --version-id "VERSION_ID" --include-build ``` Common causes: build not attached, metadata incomplete, prior submission not cancelled. ### "Export compliance must be approved" ```bash asc encryption declarations list --app "APP_ID" asc encryption declarations assign-builds --id "DECLARATION_ID" --build "BUILD_ID" ``` ### "Multiple app infos found" ```bash asc app-infos list --app "APP_ID" ``` Use the app info ID with `--app-info` flag on localizations commands. ## Notes - Build must be processed before submission — poll `asc builds info` until state is `VALID` - Encryption declaration must be assigned to the specific build, not just created - Use Review Submissions API for more control; `asc submit create` is a shorthand ## Documentation Sources | Source | How to Access | Purpose | |--------|--------------|---------| | asc CLI help | `asc submit --help`, `asc review --help` | Current submission and review flags | | Preflight checklist | Read `reference/submission-preflight-checklist.md` | Full 7-step pre-submission commands | | asc-id-resolver skill | Load skill | Resolve app/version/build IDs before submitting |
More agent context in kumaran-is/claude-code-onboarding
157 other files this repository gives its agents, the first 60 shown.
CLAUDE.md
Skill
- a2ui-angular.claude/skills/a2ui-angular/SKILL.md
- accessibility-audit.claude/skills/accessibility-audit/SKILL.md
- adk-deploy-guide.claude/skills/adk-deploy-guide/SKILL.md
- adk-dev-guide.claude/skills/adk-dev-guide/SKILL.md
- adk-eval-guide.claude/skills/adk-eval-guide/SKILL.md
- adk-observability-guide.claude/skills/adk-observability-guide/SKILL.md
- agentic-ai-coding-standard.claude/skills/agentic-ai-coding-standard/SKILL.md
- agentic-ai-dev.claude/skills/agentic-ai-dev/SKILL.md
- ai-audit.claude/skills/ai-audit/SKILL.md
- ai-chat.claude/skills/ai-chat/SKILL.md
- ai-decision-record.claude/skills/ai-decision-record/SKILL.md
- ai-incident-response.claude/skills/ai-incident-response/SKILL.md
- ai-launch-check.claude/skills/ai-launch-check/SKILL.md
- ai-playbook.claude/skills/ai-playbook/SKILL.md
- angular-best-practices.claude/skills/angular-best-practices/SKILL.md
- angular.claude/skills/angular/SKILL.md
- angular-spa.claude/skills/angular-spa/SKILL.md
- angular-ui-patterns.claude/skills/angular-ui-patterns/SKILL.md
- api-design-principles.claude/skills/api-design-principles/SKILL.md
- app-store-optimization.claude/skills/app-store-optimization/SKILL.md
- architect-review.claude/skills/architect-review/SKILL.md
- architecture-decision-records.claude/skills/architecture-decision-records/SKILL.md
- architecture-design.claude/skills/architecture-design/SKILL.md
- asc-cli-usage.claude/skills/asc-cli-usage/SKILL.md
- asc-crash-triage.claude/skills/asc-crash-triage/SKILL.md
- asc-id-resolver.claude/skills/asc-id-resolver/SKILL.md
- asc-release-flow.claude/skills/asc-release-flow/SKILL.md
- asc-signing-setup.claude/skills/asc-signing-setup/SKILL.md
- asc-testflight-orchestration.claude/skills/asc-testflight-orchestration/SKILL.md
- browser-testing.claude/skills/browser-testing/SKILL.md
- changelog-generator.claude/skills/changelog-generator/SKILL.md
- claude-actions-auditor.claude/skills/claude-actions-auditor/SKILL.md
- clean-code.claude/skills/clean-code/SKILL.md
- codebase-onboarding.claude/skills/codebase-onboarding/SKILL.md
- code-explainer.claude/skills/code-explainer/SKILL.md
- code-reviewer.claude/skills/code-reviewer/SKILL.md
- code-simplifier.claude/skills/code-simplifier/SKILL.md
- comment-analyzer.claude/skills/comment-analyzer/SKILL.md
- database-schema-designer.claude/skills/database-schema-designer/SKILL.md
- ddd-architect.claude/skills/ddd-architect/SKILL.md
- decision-frameworks.claude/skills/decision-frameworks/SKILL.md
- dedup-code-agent.claude/skills/dedup-code-agent/SKILL.md
- deployment-ci-cd.claude/skills/deployment-ci-cd/SKILL.md
- design-system.claude/skills/design-system/SKILL.md
- docker.claude/skills/docker/SKILL.md
- documentation-generation.claude/skills/documentation-generation/SKILL.md
- domain-finder.claude/skills/domain-finder/SKILL.md
- error-detective.claude/skills/error-detective/SKILL.md
- eval-guide.claude/skills/eval-guide/SKILL.md
- feature-forge.claude/skills/feature-forge/SKILL.md
- firebase-basics.claude/skills/firebase-basics/SKILL.md
- firebase-hosting-basics.claude/skills/firebase-hosting-basics/SKILL.md
- fixing-accessibility.claude/skills/fixing-accessibility/SKILL.md
- fixing-motion-performance.claude/skills/fixing-motion-performance/SKILL.md
- flutter-animations.claude/skills/flutter-animations/SKILL.md
- flutter-genui.claude/skills/flutter-genui/SKILL.md
- flutter-mobile.claude/skills/flutter-mobile/SKILL.md
- flutter-security-expert.claude/skills/flutter-security-expert/SKILL.md
- frontend-design.claude/skills/frontend-design/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

