asc-ad-hoc-distributio…
Prepare, publish, resume, and verify private iOS release-testing installs with asc distribute. Use when distributing an IPA to…
Sync, validate, and apply App Store metadata and store assets with asc. Use when updating localizations, keywords, App Clip or preview assets, Asset Library media and placements, or migrating legacy fastlane metadata.
Claude Code
$ npx -y skills add rorkai/app-store-connect-cli-skills --skill asc-metadata-sync --agent claude-code
Codex
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-metadata-sync -a codex -y
Cursor
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-metadata-sync -a cursor -y
Gemini CLI
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-metadata-sync -a gemini-cli -y
GitHub Copilot
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-metadata-sync -a github-copilot -y
OpenCode
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-metadata-sync -a opencode -y
Windsurf
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-metadata-sync -a windsurf -y
name: asc-metadata-sync description: Sync, validate, and apply App Store metadata and store assets with asc. Use when updating localizations, keywords, App Clip or preview assets, Asset Library media and placements, or migrating legacy fastlane metadata.
Use this skill to keep App Store metadata in sync with App Store Connect. Prefer the canonical `asc metadata` workflow for app-info and version localization fields. Use the lower-level `asc localizations` and `asc migrate` commands only when the user specifically needs `.strings` files or legacy fastlane-format metadata.
asc metadata pull --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata"
If the app has multiple app-info records, resolve the app-info ID first and pass it explicitly:
asc apps info list --app "APP_ID" --output table asc metadata pull --app "APP_ID" --app-info "APP_INFO_ID" --version "1.2.3" --platform IOS --dir "./metadata"
Canonical files are written under:
Copyright is not a localization field. Manage it with:
asc versions update --version-id "VERSION_ID" --copyright "2026 Your Company"
asc metadata validate --dir "./metadata" --output table
For subscription apps, include the extra Terms of Use / EULA heuristic:
asc metadata validate --dir "./metadata" --subscription-app --output table
Run a dry run first:
asc metadata push --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --dry-run --output table
Apply after the plan looks correct:
asc metadata push --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata"
Use `asc metadata apply` when the user wants the apply-named command shape for the same canonical files:
asc metadata apply --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --dry-run asc metadata apply --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata"
For a review-artifact workflow with explicit approval before mutation, use the metadata review commands introduced in `asc` 2.6.1:
asc metadata plan --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --review-dir ".asc/metadata/review" asc metadata approve --review-dir ".asc/metadata/review" --all asc metadata status --review-dir ".asc/metadata/review" --output table asc metadata apply --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --review-dir ".asc/metadata/review" --confirm
Use `asc metadata approve --key "version:1.2.3:en-US:whatsNew"` or `--scope app-info,version` when the user wants selective approval artifacts before the guarded apply. Version-scoped keys include the App Store version string.
Metadata pull/push defaults to localization text. Select asset scopes explicitly:
asc metadata pull --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --include localizations,app-clip,previews asc metadata push --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --include localizations,app-clip,previews --dry-run asc metadata push --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --include localizations,app-clip,previews --confirm
Preview validation requires `ffprobe`. App Clip header replacement deletes the old header first and also requires `--allow-deletes`; authorize that replacement explicitly. Exports may contain HLS `.m3u8` playlists and `.preview.json` references, not original videos. Matching remote previews can be reused; an unmatched reference needs the original video or exclusion of `previews` from `--include`. Renaming a playlist to `.mp4` does not make it uploadable. Direct `video-previews download` also returns playlists; use a `.m3u8` output path for individual downloads.
For reusable library media, headers/search creative assets, or localized placements, read [Asset Library workflows](references/asset-library.md). These are separate from App Clip header images and ordinary metadata text.
Use this when only the version-localization `keywords` field should change:
asc metadata keywords diff --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" asc metadata keywords apply --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --confirm
For importing keyword research:
asc metadata keywords import --dir "./metadata" --version "1.2.3" --locale "en-US" --input "./keywords.csv" asc metadata keywords sync --app "APP_ID" --version "1.2.3" --platform IOS --dir "./metadata" --input "./keywords.csv"
For one-off version-localization edits, pass an explicit version selector. Use `--version-id` for deterministic updates when you already have it, or `--version` plus `--platform` when working from a version string.
asc apps info edit --app "APP_ID" --version-id "VERSION_ID" --locale "en-US" --whats-new "Bug fixes and improvements" asc apps info edit --app "APP_ID" --version "1.2.3" --platform IOS --locale "en-US" --description "Your app description here" asc apps info edit --app "APP_ID" --version "1.2.3" --platform IOS --locale "en-US" --keywords "keyword1,keyword2,keyword3" asc apps info edit --app "APP_ID" --version "1.2.3" --platform IOS --locale "en-US" --support-url "https://support.example.com"
For app-info fields, prefer the post-create setup command:
asc app-setup info set --app "APP_ID" --primary-locale "en-US" --privacy-policy-url "https://example.com/
A collection of Agent Skills for shipping with the asc cli (asc). These skills help agents run builds, TestFlight, metadata, submissions, signing, and Apple Ads workflows. This is a community-maintained, unofficial skill pack and is not affiliated with Apple.
Prepare, publish, resume, and verify private iOS release-testing installs with asc distribute. Use when distributing an IPA to…
Collect, download, and verify App Store Connect Analytics reports with asc. Use when users need to discover analytics report…
Create a new App Store Connect app record via browser automation. Use when there is no public API for app creation and you need…
Use when managing Apple Ads with asc, including OAuth profiles, ad-account discovery, Platform API v1 campaigns and targeting,…
Run an offline ASO audit on canonical App Store metadata under `./metadata` and surface keyword gaps using Astro MCP. Use after…
Track build processing, find latest builds, and clean up old builds with asc. Use when managing build retention or waiting on…
Use this skill whenever the user mentions Horizon by name in a Laravel context. Covers the full Horizon lifecycle: installing…
Use when launching cloud VMs, Kubernetes pods, or Slurm jobs for GPU/TPU/CPU workloads, training or fine-tuning models on cloud…
Use this skill when the user mentions "pinme", or needs to upload files, store to IPFS, create/publish/deploy websites or…