PluginBench
Skill
Pass
Audit score 90

asc-testflight-orchestration

rorkai/app-store-connect-cli-skills

Orchestrate TestFlight beta distribution, groups, testers, and test notes via App Store Connect CLI.

What is asc-testflight-orchestration?

Manages TestFlight beta distribution workflows including tester groups, individual tester invitations, build distribution to groups, and "What to Test" notes. Use this when rolling out beta versions and coordinating tester access across multiple groups.

  • Export and import TestFlight configuration (builds, testers, groups) as YAML
  • Create and list tester groups, add/invite individual testers by email
  • Distribute builds to specific tester groups or remove builds from groups
  • Inspect which groups have access to a specific build
  • Upload builds to TestFlight without immediate distribution using upload-only mode
  • Create and update localized "What to Test" release notes for builds

How to install asc-testflight-orchestration

npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-testflight-orchestration
Prerequisites
  • App Store Connect CLI (asc) installed and authenticated
  • Valid App ID for the target app
  • IPA file or Xcode build (for upload operations)
  • Tester email addresses and group names
Claude Code
Cursor
Windsurf
Cline

How to use asc-testflight-orchestration

  1. 1.Run `asc testflight config export --app "APP_ID" --output "./testflight.yaml"` to export current configuration
  2. 2.Create tester groups with `asc testflight groups create --app "APP_ID" --name "Group Name"`
  3. 3.Add testers via `asc testflight testers add --app "APP_ID" --email "tester@example.com" --group "Group Name"`
  4. 4.Upload a build with `asc publish testflight --app "APP_ID" --ipa "./app.ipa" --upload-only` if you want to process before distributing
  5. 5.Distribute the build to groups using `asc builds add-groups --build-id "BUILD_ID" --group "GROUP_ID"`
  6. 6.Add test instructions with `asc builds test-notes create --build-id "BUILD_ID" --locale "en-US" --whats-new "Instructions"`

Use cases

Good for
  • Set up a phased beta rollout by creating tester groups and distributing builds incrementally
  • Invite new testers and organize them into groups (e.g., internal, external, beta partners)
  • Update test instructions and release notes for a build across multiple locales
  • Export current TestFlight configuration as a backup or to version-control your tester setup
  • Upload a build for processing without distributing it, then distribute once ready
Who it's for
  • iOS/macOS app developers managing beta testing
  • Release managers coordinating multi-group beta rollouts
  • QA leads organizing tester groups and distributing builds
  • DevOps engineers automating TestFlight workflows

asc-testflight-orchestration FAQ

When should I use --upload-only?

Use --upload-only when you want to upload and process a build before distributing it to testers. This lets you verify the build is ready before rolling it out to groups.

Can I distribute the same build to multiple groups?

Yes. Use `asc builds add-groups` with the same BUILD_ID and different GROUP_IDs to distribute to multiple groups.

How do I update test notes after a build is distributed?

Use `asc builds test-notes update --localization-id "LOCALIZATION_ID" --whats-new "Updated notes"` to modify existing test instructions.

What does --paginate do?

--paginate handles large lists of testers or groups by automatically fetching all pages of results instead of stopping at the first page.

Can I combine --upload-only with --build-id?

No. Upload-only requires a new IPA or Xcode build and cannot be combined with an existing --build-id, groups, tester notifications, or beta-review submission.

Full instructions (SKILL.md)

Source of truth, from rorkai/app-store-connect-cli-skills.


name: asc-testflight-orchestration description: Orchestrate TestFlight distribution, groups, testers, and What to Test notes using asc. Use when rolling out betas.

asc TestFlight orchestration

Use this skill when managing TestFlight testers, groups, and build distribution.

Export current config

  • asc testflight config export --app "APP_ID" --output "./testflight.yaml"
  • Include builds/testers:
    • asc testflight config export --app "APP_ID" --output "./testflight.yaml" --include-builds --include-testers

Manage groups and testers

  • Groups:
    • asc testflight groups list --app "APP_ID" --paginate
    • asc testflight groups create --app "APP_ID" --name "Beta Testers"
  • Testers:
    • asc testflight testers list --app "APP_ID" --paginate
    • asc testflight testers add --app "APP_ID" --email "tester@example.com" --group "Beta Testers"
    • asc testflight testers invite --app "APP_ID" --email "tester@example.com"

Distribute builds

  • asc builds add-groups --build-id "BUILD_ID" --group "GROUP_ID"
  • Remove from group:
    • asc builds remove-groups --build-id "BUILD_ID" --group "GROUP_ID" --confirm

Inspect a build's groups

  • asc testflight groups list --build-id "BUILD_ID" --output table
  • The build lookup is experimental. It resolves the app, paginates the app's groups, and includes groups with all-build access.

Upload without distribution

  • asc publish testflight --app "APP_ID" --ipa "./app.ipa" --upload-only --output json
  • Add --wait when the next step needs a processed build.
  • Upload-only requires a new IPA or local Xcode build. Do not combine it with an existing --build-id, groups, tester notifications, test notes, or beta-review submission. --build-number is allowed as upload metadata, but it cannot be the only build input.

What to Test notes

  • asc builds test-notes create --build-id "BUILD_ID" --locale "en-US" --whats-new "Test instructions"
  • asc builds test-notes update --localization-id "LOCALIZATION_ID" --whats-new "Updated notes"

Notes

  • Use --paginate on large groups/tester lists.
  • Prefer IDs for deterministic operations; use the ID resolver skill when needed.