PluginBench
Skill
Pass
Audit score 90

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
Prerequisites
  • asc CLI installed and configured with App Store Connect credentials
  • APP_ID for the target application
  • BUILD_ID when inspecting or expiring specific builds
Claude Code
Cursor
Windsurf
Cline

How to use asc-build-lifecycle

  1. 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. 2.Check processing state: run `asc builds info --build-id BUILD_ID` to inspect the current state of a specific build
  3. 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. 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. 5.For individual builds, use `asc builds expire --build-id BUILD_ID --confirm` to remove a specific build

Use cases

Good for
  • 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
Who it's for
  • 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

What's the difference between `asc builds upload` and `asc publish`?

`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.

How do I wait for a build to finish processing?

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.

Can I expire multiple old builds at once?

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.

How do I find the next safe build number to use?

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" --wait
    • asc 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 upload prepares upload operations only; use asc publish for end-to-end flows.
  • For long processing times, use --wait, --poll-interval, and --timeout where supported.