
Asc Localize Metadata
Automate App Store Connect metadata localization—description, subtitle, keywords, and What’s New—by pulling a source locale, LLM-translating, and pushing updates with the asc CLI.
Overview
asc-localize-metadata is an agent skill for the Launch phase that syncs App Store listing metadata across locales using asc CLI download, LLM translation, and upload.
Install
npx skills add https://github.com/rudrankriyam/asc-skills --skill asc-localize-metadataWhat is this skill?
- Pull source locale metadata from App Store Connect via asc localizations download
- LLM-translate description, subtitle, keywords, and What’s New for supported storefront locales
- Push translations back with asc localizations upload using explicit app and version IDs
- Documents 30+ App Store Connect locale codes (ar-SA through zh-Hant)
- Requires verifying exact asc subcommands with --help before each run
- 30+ documented App Store Connect locale codes for version and app-info localizations
Adoption & trust: 1k installs on skills.sh; 845 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need App Store copy in many languages but updating each locale by hand in App Store Connect is slow and error-prone.
Who is it for?
Indie iOS apps with English (or one) source listing ready to expand into ASC-supported locales using automation.
Skip if: Android Play Console-only workflows, greenfield apps with zero existing Connect metadata, or teams unwilling to configure asc authentication.
When should I use this skill?
User asks to localize an App Store listing, translate app descriptions or keywords, or add languages to App Store Connect using asc.
What do I get? / Deliverables
Source metadata is translated and published to chosen locales via asc, ready for the next App Store submission or live listing update.
- Translated metadata fields per target locale
- Uploaded App Store Connect localizations for the target version or app info
Recommended Skills
Journey fit
Localization is a Launch concern because it directly affects storefront discoverability and conversion in each App Store locale. ASO is the canonical shelf: translated keywords and listing copy are core app-store optimization work, not backend build tasks.
How it compares
Skill-orchestrated asc CLI workflow—not a hosted localization SaaS or screenshot localization tool.
Common Questions / FAQ
Who is asc-localize-metadata for?
Solo iOS builders and small teams who already use App Store Connect and want agent-guided asc commands for bulk metadata translation.
When should I use asc-localize-metadata?
Use it at Launch/ASO when preparing a release or expanding markets—translate descriptions, subtitles, keywords, and What’s New before submit or during a localization push.
Is asc-localize-metadata safe to install?
It drives real App Store Connect writes; check Prism’s Security Audits panel and review asc credentials scope before running upload steps.
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,