Inspect first, mutate second. Discover flags from the CLI; do not guess them.
asc auth status
asc auth status --validate
asc doctor
asc --help
asc <area> --help
asc docs list
Use --profile <name> when more than one account exists. A new account with no stored key: run find-asc-credentials, then asc auth login. Never print or commit .p8 keys, key ids, issuer ids, or downloaded financial reports with PII.
Resolve the numeric app id once: asc apps list --output json. Use --output json when parsing ids.
| Goal |
Area |
| Apps / status |
asc apps, asc status --app <id> |
| Builds |
asc builds |
| TestFlight |
asc testflight, asc publish testflight |
| Versions / release |
asc versions, asc release |
| Metadata / screenshots |
asc metadata, asc localizations, asc screenshots |
| Pricing / IAP |
asc pricing, asc iap, asc subscriptions |
| Submit |
asc validate, asc review, asc submit, asc publish |
| Reviews / sales |
asc reviews, asc analytics, asc insights, asc finance |
| Signing / team |
asc signing, asc certificates, asc profiles, asc users |
Confirm before any externally visible or hard-to-reverse mutation (submit, publish ... --submit, pricing, IAP, user changes, certificate or profile deletion). State the app id, version, and exact change. Run asc validate before submitting. Prefer --dry-run when it exists.
This skill owns the store side only. For an endpoint asc does not expose:
node "$SKILL_DIR/scripts/asc-api.mjs" GET "/v1/apps?filter[bundleId]=com.example.app"
Credentials from env (ASC_KEY_ID, ASC_ISSUER_ID, ASC_P8_PATH); never hardcode them.
1---2name: appstore-connect3description: Drive App Store Connect through the asc CLI for apps, builds, TestFlight, reviews, sales, metadata, IAP, signing, and submissions. Use for "check my app", "App Store Connect", "TestFlight", "app review", "my app sales", or "asc".4---56Inspect first, mutate second. Discover flags from the CLI; do not guess them.78```bash9asc auth status10asc auth status --validate11asc doctor12asc --help13asc <area> --help14asc docs list15```1617Use `--profile <name>` when more than one account exists. A new account with no stored key: run `find-asc-credentials`, then `asc auth login`. Never print or commit `.p8` keys, key ids, issuer ids, or downloaded financial reports with PII.1819Resolve the numeric app id once: `asc apps list --output json`. Use `--output json` when parsing ids.2021| Goal | Area |22| --- | --- |23| Apps / status | `asc apps`, `asc status --app <id>` |24| Builds | `asc builds` |25| TestFlight | `asc testflight`, `asc publish testflight` |26| Versions / release | `asc versions`, `asc release` |27| Metadata / screenshots | `asc metadata`, `asc localizations`, `asc screenshots` |28| Pricing / IAP | `asc pricing`, `asc iap`, `asc subscriptions` |29| Submit | `asc validate`, `asc review`, `asc submit`, `asc publish` |30| Reviews / sales | `asc reviews`, `asc analytics`, `asc insights`, `asc finance` |31| Signing / team | `asc signing`, `asc certificates`, `asc profiles`, `asc users` |3233Confirm before any externally visible or hard-to-reverse mutation (`submit`, `publish ... --submit`, pricing, IAP, user changes, certificate or profile deletion). State the app id, version, and exact change. Run `asc validate` before submitting. Prefer `--dry-run` when it exists.3435This skill owns the store side only. For an endpoint `asc` does not expose:3637```bash38node "$SKILL_DIR/scripts/asc-api.mjs" GET "/v1/apps?filter[bundleId]=com.example.app"39```4041Credentials from env (`ASC_KEY_ID`, `ASC_ISSUER_ID`, `ASC_P8_PATH`); never hardcode them.