PluginBench
Skill
Pass
Audit score 90

asc-id-resolver

rorkai/app-store-connect-cli-skills

Resolve App Store Connect IDs from human-friendly names using the asc CLI.

What is asc-id-resolver?

This skill maps App Store Connect resource names (apps, builds, versions, testers, groups) to their required IDs for use in other asc commands. Use it whenever you need to look up an ID before running another App Store Connect operation.

  • Resolve app IDs by bundle ID or app name
  • Fetch build IDs including latest builds and recent uploads
  • List app and digital-goods version IDs
  • Resolve TestFlight group and tester IDs
  • Retrieve IAP, subscription, and subscription-group version IDs with their localizations and images
  • Find review submission IDs

How to install asc-id-resolver

npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-id-resolver
Prerequisites
  • asc CLI tool installed and configured
  • Valid App Store Connect API credentials
  • Knowledge of resource types (apps, builds, versions, IAPs, subscriptions)
Claude Code
Cursor
Windsurf
Cline

How to use asc-id-resolver

  1. 1.Install the skill using the provided npx command
  2. 2.Identify which resource type you need to resolve (app, build, version, tester, etc.)
  3. 3.Run the appropriate asc list or info command with filters (--bundle-id, --name, --app, etc.)
  4. 4.Use --paginate on list commands to ensure all results are returned
  5. 5.Parse the output (JSON or table format) to extract the required ID
  6. 6.Pass the resolved ID to other asc commands that require it

Use cases

Good for
  • Look up an app ID before querying its builds or versions
  • Find the latest build ID for a specific app version and platform
  • Resolve IAP product IDs and their version IDs for in-app purchase management
  • Retrieve TestFlight tester group IDs before managing test builds
  • Get subscription version IDs and their localization/image resources
Who it's for
  • iOS/macOS developers managing App Store Connect via CLI
  • DevOps engineers automating app store operations
  • QA teams managing TestFlight distributions
  • Anyone using the asc CLI tool for App Store Connect automation

asc-id-resolver FAQ

When should I use this skill?

Use this skill whenever an asc command requires an ID but you only have a human-readable name, such as an app name or bundle ID.

What's the difference between app ID and bundle ID?

Bundle ID is the reverse-domain identifier (e.g., com.example.app), while app ID is the numeric identifier assigned by App Store Connect. This skill helps you convert between them.

How do I resolve digital-goods version IDs?

First resolve the parent resource (IAP, subscription, or subscription group) using the appropriate list command, then use its ID to fetch version IDs with the corresponding versions list command.

Should I use --paginate on list commands?

Yes, always use --paginate to ensure you don't miss any results, especially when searching for a specific resource.

How do I make results deterministic?

Use --sort where available to order results consistently, and use --output json for automation to avoid TTY-aware formatting changes.

Full instructions (SKILL.md)

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


name: asc-id-resolver description: Resolve App Store Connect IDs (apps, builds, app and digital-goods versions, groups, testers) from human-friendly names using asc. Use when commands require IDs.

asc id resolver

Use this skill to map names to IDs needed by other commands.

App ID

  • By bundle ID or name:
    • asc apps list --bundle-id "com.example.app"
    • asc apps list --name "My App"
  • Fetch everything:
    • asc apps list --paginate
  • Set default:
    • ASC_APP_ID=...

Build ID

  • Latest build:
    • asc builds info --app "APP_ID" --latest --version "1.2.3" --platform IOS
  • Recent builds:
    • asc builds list --app "APP_ID" --sort -uploadedDate --limit 5

Version ID

  • asc versions list --app "APP_ID" --paginate

Digital-goods version IDs

API 4.4.1 version IDs are distinct from IAP product, subscription, and subscription-group IDs:

Resolve the owning resources first:

  • IAPs: asc iap list --app "APP_ID" --paginate --output json
  • Subscription groups: asc subscriptions groups list --app "APP_ID" --paginate --output json
  • Subscriptions: asc subscriptions list --app "APP_ID" --paginate --output json or asc subscriptions list --group-id "GROUP_ID" --paginate --output json

Then resolve their version IDs:

  • IAP versions: asc iap versions list --iap-id "IAP_ID" --paginate --output json
  • Subscription versions: asc subscriptions versions list --subscription-id "SUB_ID" --paginate --output json
  • Subscription group versions: asc subscriptions groups versions list --group-id "GROUP_ID" --paginate --output json

Resolve child localization or image IDs from the corresponding version subtree:

  • IAP localizations: asc iap versions localizations list --version-id "VERSION_ID" --paginate --output json
  • IAP primary image: asc iap versions image --version-id "VERSION_ID" --output json
  • IAP image collection: asc iap versions images list --version-id "VERSION_ID" --paginate --output json
  • Subscription localizations: asc subscriptions versions localizations list --version-id "VERSION_ID" --paginate --output json
  • Subscription primary image: asc subscriptions versions images primary --version-id "VERSION_ID" --output json
  • Subscription image collection: asc subscriptions versions images list --version-id "VERSION_ID" --paginate --output json
  • Subscription-group localizations: asc subscriptions groups versions localizations list --version-id "VERSION_ID" --paginate --output json

TestFlight IDs

  • Groups:
    • asc testflight groups list --app "APP_ID" --paginate
  • Testers:
    • asc testflight testers list --app "APP_ID" --paginate

Pre-release version IDs

  • asc testflight pre-release list --app "APP_ID" --platform IOS --paginate

Review submission IDs

  • asc review submissions list --app "APP_ID" --paginate

Output tips

  • Output defaults are TTY-aware: table in a terminal and minified JSON in pipes or CI. An explicit --output wins.
  • Use explicit --output json for automation and add --pretty only for human-readable JSON.
  • For human viewing, use --output table or --output markdown.

Guardrails

  • Prefer --paginate on list commands to avoid missing IDs.
  • Use --sort where available to make results deterministic.