App Store Connect usage
Use this skill when you need to run or design asc commands for App Store Connect.
Read only the workflow guide needed for the request; follow its supporting links when their stated condition applies. Switching guides keeps the current task, resolved IDs, and authorization.
Read app IDs, auth profiles, build selection, and release rules from the current project. Reuse its release scripts where they cover the task. These guides provide procedures, not permission for unrelated account changes or test mutations.
Command discovery
CLI reference: App-Store-Connect-CLI.
- Check
asc version and use the installed command’s --help to verify examples before running them. The guides may cover a newer CLI version.
asc --help
asc builds --help
asc builds list --help
- Use
asc search for local, deterministic command discovery when you know the workflow but not the command path.
asc search "submit app for review"
asc search --output table "upload build"
- Use
asc schema to inspect bundled App Store Connect endpoint schemas and request/query fields before designing API-facing commands.
asc schema --pretty "GET /v1/apps"
asc schema --method POST appStoreVersions
- Use
asc capabilities to explain CLI-supported, partial, web-session, and public-API-limited workflow coverage.
asc capabilities --area release --output table
asc capabilities --status web-session --output table
asc capabilities --status not-public-api --output markdown
Canonical verbs (current asc)
- Prefer
view over legacy get aliases for read-only commands in docs and automation.
asc apps view --id "APP_ID"
asc versions view --version-id "VERSION_ID"
asc pricing availability view --app "APP_ID"
- Prefer
edit for update-only availability surfaces and other canonical edit flows.
asc pricing availability edit --app "APP_ID" --territory "USA,GBR" --available true
asc app-setup availability edit --app "APP_ID" --territory "USA,GBR" --available true
asc xcode version edit --build-number "42"
- Use
asc pricing availability create to initialize app availability before using the update-only edit command. If Apple rejects the public-API bootstrap, authenticate a web session and use asc web apps availability create, or configure Pricing and Availability in App Store Connect.
asc pricing availability create --app "APP_ID" --territory "USA,GBR" --available true --available-in-new-territories true
asc web apps availability create --app "APP_ID" --territory "USA,GBR" --available-in-new-territories true
- Keep
set where the CLI intentionally models a higher-level replacement/configuration flow and --help still shows set as the canonical verb.
Flag conventions
- Use explicit long flags (e.g.,
--app, --output).
- Prefer explicit flags in automation; some newer commands can prompt for missing fields when run interactively.
- Destructive operations require
--confirm.
- Use
--paginate when the user wants all pages.
Output formats
- Output defaults are TTY-aware:
table in interactive terminals, json when piped or non-interactive.
- Use
--output table or --output markdown only for human-readable output.
--pretty is only valid with JSON output.
Authentication and defaults
- Prefer keychain auth via
asc auth login.
- Fallback env vars:
ASC_KEY_ID, ASC_ISSUER_ID, ASC_PRIVATE_KEY_PATH, ASC_PRIVATE_KEY, ASC_PRIVATE_KEY_B64.
ASC_APP_ID can provide a default app ID.
- When permissions are unclear, inspect exact API key role coverage with
asc web auth capabilities.
- This lives under the web-session auth surface.
- It can resolve the current local auth by default, or inspect a specific key with
--key-id.
- When API key setup is requested, create an App Store Connect team API key through a cached Apple Account web session with
asc web api-keys create.
- An Account Holder or Admin session is required; use
asc web auth login --apple-id "user@example.com" first when needed.
- The command saves the one-time P8 as
AuthKey_<KEY_ID>.p8 without printing its contents; choose an explicit private directory with --output-dir.
- Example:
asc web api-keys create --name "CI uploads" --role APP_MANAGER --output-dir "./keys" --output json.
Timeouts
ASC_TIMEOUT / ASC_TIMEOUT_SECONDS control request timeouts.
ASC_UPLOAD_TIMEOUT / ASC_UPLOAD_TIMEOUT_SECONDS control upload timeouts.
Workflow guides
| Task |
Read |
| Resolve app, version, build, or group IDs |
asc-id-resolver |
| Inspect builds, processing, or retention |
asc-build-lifecycle |
| Distribute TestFlight builds and manage testers |
asc-testflight-orchestration |
| Read TestFlight crashes and feedback |
asc-crash-triage |
| Archive or export with Xcode |
asc-xcode-build |
| Set up certificates, profiles, and signing |
asc-signing-setup |
| Diagnose review blockers, rejection, or stuck submissions |
asc-submission-health |
| Stage, publish, or submit a release |
asc-release-flow |
| Sync store metadata |
asc-metadata-sync |
| Translate store metadata |
asc-localize-metadata |
| Write What’s New release notes |
asc-whats-new-writer |
| Capture, frame, and upload screenshots |
asc-shots-pipeline |
| Resize existing screenshots |
asc-screenshot-resize |
| Audit App Store search optimization |
asc-aso-audit |
| Fetch analytics reports |
asc-analytics-reports |
| Localize subscriptions and in-app purchases |
asc-subscription-localization |
| Set prices by purchasing power |
asc-ppp-pricing |
| Sync a RevenueCat product catalog |
asc-revenuecat-catalog-sync |
| Distribute ad hoc builds |
asc-ad-hoc-distribution |
| Notarize macOS apps |
asc-notarization |
| Create an app record through the browser |
asc-app-create-ui |
| Define repeatable asc workflows |
asc-workflow |
| Manage Apple Ads auth, campaigns, or reports |
asc-apple-ads |
| Submit an app to the CLI project’s showcase |
asc-wall-submit |
1---2name: app-store-connect3description: Use when asked to check App Store Connect builds, investigate TestFlight crashes or feedback, distribute betas, prepare or submit a release, fix App Review blockers, update store listings or pricing, manage Apple Ads, or run asc commands. Also use for signing, export, or notarization as part of app distribution. Excludes local Simulator debugging.4---56# App Store Connect usage78Use this skill when you need to run or design `asc` commands for App Store Connect.910Read only the workflow guide needed for the request; follow its supporting links when their stated condition applies. Switching guides keeps the current task, resolved IDs, and authorization.1112Read app IDs, auth profiles, build selection, and release rules from the current project. Reuse its release scripts where they cover the task. These guides provide procedures, not permission for unrelated account changes or test mutations.1314## Command discovery1516CLI reference: [App-Store-Connect-CLI](https://github.com/rorkai/App-Store-Connect-CLI).1718- Check `asc version` and use the installed command’s `--help` to verify examples before running them. The guides may cover a newer CLI version.19 - `asc --help`20 - `asc builds --help`21 - `asc builds list --help`22- Use `asc search` for local, deterministic command discovery when you know the workflow but not the command path.23 - `asc search "submit app for review"`24 - `asc search --output table "upload build"`25- Use `asc schema` to inspect bundled App Store Connect endpoint schemas and request/query fields before designing API-facing commands.26 - `asc schema --pretty "GET /v1/apps"`27 - `asc schema --method POST appStoreVersions`28- Use `asc capabilities` to explain CLI-supported, partial, web-session, and public-API-limited workflow coverage.29 - `asc capabilities --area release --output table`30 - `asc capabilities --status web-session --output table`31 - `asc capabilities --status not-public-api --output markdown`3233## Canonical verbs (current asc)3435- Prefer `view` over legacy `get` aliases for read-only commands in docs and automation.36 - `asc apps view --id "APP_ID"`37 - `asc versions view --version-id "VERSION_ID"`38 - `asc pricing availability view --app "APP_ID"`39- Prefer `edit` for update-only availability surfaces and other canonical edit flows.40 - `asc pricing availability edit --app "APP_ID" --territory "USA,GBR" --available true`41 - `asc app-setup availability edit --app "APP_ID" --territory "USA,GBR" --available true`42 - `asc xcode version edit --build-number "42"`43- Use `asc pricing availability create` to initialize app availability before using the update-only `edit` command. If Apple rejects the public-API bootstrap, authenticate a web session and use `asc web apps availability create`, or configure Pricing and Availability in App Store Connect.44 - `asc pricing availability create --app "APP_ID" --territory "USA,GBR" --available true --available-in-new-territories true`45 - `asc web apps availability create --app "APP_ID" --territory "USA,GBR" --available-in-new-territories true`46- Keep `set` where the CLI intentionally models a higher-level replacement/configuration flow and `--help` still shows `set` as the canonical verb.4748## Flag conventions4950- Use explicit long flags (e.g., `--app`, `--output`).51- Prefer explicit flags in automation; some newer commands can prompt for missing fields when run interactively.52- Destructive operations require `--confirm`.53- Use `--paginate` when the user wants all pages.5455## Output formats5657- Output defaults are TTY-aware: `table` in interactive terminals, `json` when piped or non-interactive.58- Use `--output table` or `--output markdown` only for human-readable output.59- `--pretty` is only valid with JSON output.6061## Authentication and defaults6263- Prefer keychain auth via `asc auth login`.64- Fallback env vars: `ASC_KEY_ID`, `ASC_ISSUER_ID`, `ASC_PRIVATE_KEY_PATH`, `ASC_PRIVATE_KEY`, `ASC_PRIVATE_KEY_B64`.65- `ASC_APP_ID` can provide a default app ID.66- When permissions are unclear, inspect exact API key role coverage with `asc web auth capabilities`.67 - This lives under the web-session auth surface.68 - It can resolve the current local auth by default, or inspect a specific key with `--key-id`.69- When API key setup is requested, create an App Store Connect team API key through a cached Apple Account web session with `asc web api-keys create`.70 - An Account Holder or Admin session is required; use `asc web auth login --apple-id "user@example.com"` first when needed.71 - The command saves the one-time P8 as `AuthKey_<KEY_ID>.p8` without printing its contents; choose an explicit private directory with `--output-dir`.72 - Example: `asc web api-keys create --name "CI uploads" --role APP_MANAGER --output-dir "./keys" --output json`.7374## Timeouts7576- `ASC_TIMEOUT` / `ASC_TIMEOUT_SECONDS` control request timeouts.77- `ASC_UPLOAD_TIMEOUT` / `ASC_UPLOAD_TIMEOUT_SECONDS` control upload timeouts.7879## Workflow guides8081| Task | Read |82| --- | --- |83| Resolve app, version, build, or group IDs | [asc-id-resolver](references/asc-id-resolver/guide.md) |84| Inspect builds, processing, or retention | [asc-build-lifecycle](references/asc-build-lifecycle/guide.md) |85| Distribute TestFlight builds and manage testers | [asc-testflight-orchestration](references/asc-testflight-orchestration/guide.md) |86| Read TestFlight crashes and feedback | [asc-crash-triage](references/asc-crash-triage/guide.md) |87| Archive or export with Xcode | [asc-xcode-build](references/asc-xcode-build/guide.md) |88| Set up certificates, profiles, and signing | [asc-signing-setup](references/asc-signing-setup/guide.md) |89| Diagnose review blockers, rejection, or stuck submissions | [asc-submission-health](references/asc-submission-health/guide.md) |90| Stage, publish, or submit a release | [asc-release-flow](references/asc-release-flow/guide.md) |91| Sync store metadata | [asc-metadata-sync](references/asc-metadata-sync/guide.md) |92| Translate store metadata | [asc-localize-metadata](references/asc-localize-metadata/guide.md) |93| Write What’s New release notes | [asc-whats-new-writer](references/asc-whats-new-writer/guide.md) |94| Capture, frame, and upload screenshots | [asc-shots-pipeline](references/asc-shots-pipeline/guide.md) |95| Resize existing screenshots | [asc-screenshot-resize](references/asc-screenshot-resize/guide.md) |96| Audit App Store search optimization | [asc-aso-audit](references/asc-aso-audit/guide.md) |97| Fetch analytics reports | [asc-analytics-reports](references/asc-analytics-reports/guide.md) |98| Localize subscriptions and in-app purchases | [asc-subscription-localization](references/asc-subscription-localization/guide.md) |99| Set prices by purchasing power | [asc-ppp-pricing](references/asc-ppp-pricing/guide.md) |100| Sync a RevenueCat product catalog | [asc-revenuecat-catalog-sync](references/asc-revenuecat-catalog-sync/guide.md) |101| Distribute ad hoc builds | [asc-ad-hoc-distribution](references/asc-ad-hoc-distribution/guide.md) |102| Notarize macOS apps | [asc-notarization](references/asc-notarization/guide.md) |103| Create an app record through the browser | [asc-app-create-ui](references/asc-app-create-ui/guide.md) |104| Define repeatable asc workflows | [asc-workflow](references/asc-workflow/guide.md) |105| Manage Apple Ads auth, campaigns, or reports | [asc-apple-ads](references/asc-apple-ads/guide.md) |106| Submit an app to the CLI project’s showcase | [asc-wall-submit](references/asc-wall-submit/guide.md) |