
Asc Localize Metadata
Pull App Store Connect metadata from a source locale, LLM-translate it, and upload localized descriptions, keywords, subtitles, and What’s New at scale.
Overview
asc-localize-metadata is an agent skill for the Launch phase that translates and syncs App Store Connect listing metadata across locales using the asc CLI and LLM translation.
Install
npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-localize-metadataWhat is this skill?
- Downloads and uploads version and app-info localizations via asc CLI with JSON-first output
- LLM translation pipeline for description, keywords, What’s New, and subtitle fields
- ID-based, deterministic asc operations—avoid blind `head -1` row picking
- Documents supported App Store Connect locale list for bulk expansion
- Requires asc auth and an existing source locale (typically en-US) metadata baseline
- Supports 30+ App Store Connect locale codes documented in the skill
Adoption & trust: 678 installs on skills.sh; 845 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need App Store descriptions and keywords in many locales but manual App Store Connect entry and asc commands do not scale for a solo ship schedule.
Who is it for?
Mobile indie devs with asc auth configured, a known app ID, and existing en-US (or other) listing text to propagate.
Skip if: Android-only Play Console listings, apps with zero source metadata in Connect, or teams that cannot review LLM translations before publish.
When should I use this skill?
Asked to localize an app's App Store listing, translate app descriptions and keywords, or add new languages to App Store Connect with asc.
What do I get? / Deliverables
Source-locale metadata is translated and uploaded to target App Store Connect localizations with repeatable, flag-explicit asc workflows.
- Uploaded locale metadata per field type
- Translation sync audit trail via asc JSON output
Recommended Skills
Journey fit
Store listing copy is a Launch concern—this skill sits where you expand visibility to international App Store locales. ASO subphase is the canonical shelf because subtitles, keywords, and descriptions directly affect discoverability and conversion per locale.
How it compares
CLI-driven localization sync—not a creative ASO research skill; combine with keyword research tools for strategy, not replacement.
Common Questions / FAQ
Who is asc-localize-metadata for?
Solo iOS builders and small studios using the asc CLI who want automated multi-locale App Store metadata translation and upload.
When should I use asc-localize-metadata?
At Launch when adding languages, shipping a localized release, or updating What’s New and subtitles across App Store Connect locales.
Is asc-localize-metadata safe to install?
It uses App Store Connect credentials and network APIs; review the Security Audits panel on this Prism page and never commit ASC secrets into the repo.
SKILL.md
READMESKILL.md - Asc Localize Metadata
# asc localize metadata Use this skill to pull English (or any source locale) App Store metadata, translate it with LLM, and push translations back to App Store Connect — all automated. ## Command discovery and output conventions - Always confirm flags with `--help` for the exact `asc` version: - `asc localizations --help` - `asc localizations download --help` - `asc localizations upload --help` - `asc apps info edit --help` - Prefer explicit long flags (`--app`, `--version`, `--version-id`, `--type`, `--app-info`). - Default output is JSON; use `--output table` only for human verification steps. - Prefer deterministic ID-based operations. Do not "pick the first row" via `head -1` unless the user explicitly agrees. ## Preconditions - Auth configured (`asc auth login` or `ASC_*` env vars) - Know your app ID (`asc apps list` to find it) - At least one locale (typically en-US) already has metadata in App Store Connect ## Supported Locales App Store Connect locales for version and app-info localizations: ``` ar-SA, ca, cs, da, de-DE, el, en-AU, en-CA, en-GB, en-US, es-ES, es-MX, fi, fr-CA, fr-FR, he, hi, hr, hu, id, it, ja, ko, ms, nl-NL, no, pl, pt-BR, pt-PT, ro, ru, sk, sv, th, tr, uk, vi, zh-Hans, zh-Hant ``` ## Two Types of Metadata ### Version Localizations (per-release) Fields: `description`, `keywords`, `whatsNew`, `supportUrl`, `marketingUrl`, `promotionalText` ### App Info Localizations (app-level, persistent) Fields: `name`, `subtitle`, `privacyPolicyUrl`, `privacyChoicesUrl`, `privacyPolicyText` ## Workflow ### Step 1: Resolve IDs ```bash # Find app ID asc apps list --output table # Find latest version ID asc versions list --app "APP_ID" --state READY_FOR_DISTRIBUTION --output table # or for editable version: asc versions list --app "APP_ID" --state PREPARE_FOR_SUBMISSION --output table # Find app info ID (for app-level fields like name/subtitle) asc apps info list --app "APP_ID" --output table ``` Notes: - Version-localization fields (description, keywords, whatsNew, etc.) are per-version. - App-info fields (name, subtitle, privacy URLs/text) are app-level and use `--type app-info`. - If you only have names (app name, version string) and need IDs deterministically, use `asc-id-resolver`. ### Step 2: Download source locale ```bash # Download version localizations to local .strings files # (description, keywords, whatsNew, promotionalText, supportUrl, marketingUrl, ...) asc localizations download --version "VERSION_ID" --path "./localizations" # Download app-info localizations to local .strings files # (name, subtitle, privacyPolicyUrl, privacyChoicesUrl, privacyPolicyText, ...) asc localizations download --app "APP_ID" --type app-info --app-info "APP_INFO_ID" --path "./app-info-localizations" ``` This creates files like `./localizations/en-US.strings` and `./app-info-localizations/en-US.strings`. If download is unavailable, read fields individually: ```bash # List version localizations to see existing locales and their content asc localizations list --version "VERSION_ID" --output table ``` ### Step 3: Translate with LLM For each target locale, translate the source text. Follow these rules: #### Translation Guidelines - **Tone & Register**: Always use formal, polite language. Use formal "you" forms where the language distinguishes them (Russian: «вы», German: «Sie», French: «vous», Spanish: «usted», Dutch: «u», Italian: «Lei», Portuguese: «você» formal, etc.). App Store descriptions are professional marketing copy — never use casual or informal register. - **description**: Translate naturally, adapt tone to local market. Keep formatting (line breaks, bullet points,