asc-build-lifecycle
rudrankriyam/app-store-connect-cli-skills
Track build processing, find latest builds, and clean up old builds with App Store Connect CLI.
What is asc-build-lifecycle?
Manage build lifecycle on App Store Connect: find the latest or next safe build number, inspect processing state, and expire old builds. Use this when managing build retention policies, waiting on build processing, or preparing builds for TestFlight or App Store distribution.
- Find latest builds or determine next safe build numbers for a version
- List recent builds sorted by upload date
- Inspect build processing state and details
- Preview and apply build expiration policies based on age
- Publish builds to TestFlight or App Store with end-to-end workflows
- Expire individual builds or batch-expire builds older than a specified duration
How to install asc-build-lifecycle
npx skills add https://github.com/rudrankriyam/app-store-connect-cli-skills --skill asc-build-lifecycle- asc CLI installed and configured with App Store Connect credentials
- APP_ID for the target application
- BUILD_ID when inspecting or expiring specific builds
How to use asc-build-lifecycle
- 1.Identify the build you need: use `asc builds info --app APP_ID --latest --version X.Y.Z --platform IOS` to find the latest build or `asc builds list --app APP_ID --sort -uploadedDate --limit 10` to see recent builds
- 2.Check processing state: run `asc builds info --build-id BUILD_ID` to inspect the current state of a specific build
- 3.For distribution, use end-to-end commands: `asc publish testflight --app APP_ID --ipa ./app.ipa --group GROUP_ID --wait` for TestFlight or `asc publish appstore --app APP_ID --ipa ./app.ipa --version X.Y.Z --wait --submit --confirm` for App Store
- 4.To manage retention, preview expiration with `asc builds expire-all --app APP_ID --older-than 90d --dry-run`, then apply with `--confirm` flag
- 5.For individual builds, use `asc builds expire --build-id BUILD_ID --confirm` to remove a specific build
Use cases
- Determine the next available build number before uploading a new build
- Check if a build has finished processing before submitting to review
- Clean up builds older than 90 days to manage App Store Connect storage
- Publish a build directly to TestFlight with automatic waiting for processing
- Submit an app version to the App Store with confirmation and automatic submission
- iOS/macOS developers managing App Store Connect builds
- CI/CD pipeline maintainers automating build uploads and distribution
- QA teams tracking build processing status
- Release managers implementing build retention policies
asc-build-lifecycle FAQ
`asc builds upload` only prepares the upload operation. Use `asc publish testflight` or `asc publish appstore` for complete end-to-end workflows that handle upload, processing, and distribution.
Use the `--wait` flag with publish commands (e.g., `asc publish testflight --wait`). You can also customize polling with `--poll-interval` and `--timeout` where supported.
Yes, use `asc builds expire-all --app APP_ID --older-than 90d` to expire all builds older than a specified duration. Always use `--dry-run` first to preview what will be deleted.
Run `asc builds next-build-number --app APP_ID --version X.Y.Z --platform IOS` to get the next available build number for that version.
Full instructions (SKILL.md)
Source of truth, from rudrankriyam/app-store-connect-cli-skills.
name: asc-build-lifecycle description: Track build processing, find latest builds, and clean up old builds with asc. Use when managing build retention or waiting on processing.
asc build lifecycle
Use this skill to manage build state, processing, and retention.
Find the right build
- Latest build:
asc builds info --app "APP_ID" --latest --version "1.2.3" --platform IOS
- Next safe build number:
asc builds next-build-number --app "APP_ID" --version "1.2.3" --platform IOS
- Recent builds:
asc builds list --app "APP_ID" --sort -uploadedDate --limit 10
Inspect processing state
asc builds info --build-id "BUILD_ID"
Distribution flows
- Prefer end-to-end:
asc publish testflight --app "APP_ID" --ipa "./app.ipa" --group "GROUP_ID" --waitasc publish appstore --app "APP_ID" --ipa "./app.ipa" --version "1.2.3" --wait --submit --confirm
Cleanup
- Preview expiration:
asc builds expire-all --app "APP_ID" --older-than 90d --dry-run
- Apply expiration:
asc builds expire-all --app "APP_ID" --older-than 90d --confirm
- Single build:
asc builds expire --build-id "BUILD_ID" --confirm
Notes
asc builds uploadprepares upload operations only; useasc publishfor end-to-end flows.- For long processing times, use
--wait,--poll-interval, and--timeoutwhere supported.
Related skills
More from rudrankriyam/app-store-connect-cli-skills and the wider catalog.

asc-cli-usage
Guidance for running asc CLI commands against App Store Connect with proper flags, auth, and discovery techniques.

asc-crash-triage
Triage TestFlight crashes, beta feedback, and performance diagnostics from App Store Connect.

asc-id-resolver
Resolve App Store Connect IDs from human-friendly names for use in other asc commands.

asc-localize-metadata
Automatically translate and sync App Store metadata to multiple languages using LLM and asc CLI.

asc-metadata-sync
Sync, validate, and apply App Store metadata with canonical asc workflow for localizations, keywords, and version fields.

asc-notarization
Archive, export, and notarize macOS apps with Developer ID signing for distribution outside the App Store.