
Asc Localize Metadata
Automate pulling App Store metadata from a source locale, LLM-translating it, and pushing localized copy back to App Store Connect with the asc CLI.
Overview
asc-localize-metadata is an agent skill for the Launch phase that automates App Store metadata translation and sync to App Store Connect using LLM translation and the asc CLI.
Install
npx skills add https://github.com/rudrankriyam/app-store-connect-cli-skills --skill asc-localize-metadataWhat is this skill?
- End-to-end flow: download source locale metadata, translate with LLM, upload via asc localizations
- Insists on --help-driven flag discovery and deterministic ID-based asc operations
- Covers version and app-info localization types with JSON-first CLI output
- Documents broad App Store Connect locale codes for multi-market rollout
- Preconditions: asc auth, app ID, and at least one populated source locale (e.g. en-US)
- Documented App Store Connect locale set includes ar-SA through multiple en/es/fr variants and Asian languages (list trun
Adoption & trust: 1.9k 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, subtitles, keywords, and release notes in many locales but manual App Store Connect edits do not scale for a solo builder.
Who is it for?
Solo iOS/macOS builders with asc CLI auth who are adding languages or refreshing store copy after a version bump.
Skip if: Android Play Console-only listings, teams without App Store Connect access, or in-app UI string localization (Xcode strings files) without store metadata.
When should I use this skill?
When asked to localize an app's App Store listing, translate app descriptions, or add new languages to App Store Connect.
What do I get? / Deliverables
Source-locale metadata is downloaded, translated, and uploaded to App Store Connect for chosen locales with repeatable asc commands and verifiable JSON outputs.
- Localized App Store metadata pushed to target locales
- Repeatable asc download/upload command sequences
- Table or JSON verification of localization state
Recommended Skills
Journey fit
Localization of store listing copy is launch and app-store optimization work done when you expand markets or refresh listings—not core app coding. The skill exclusively targets App Store Connect metadata fields (description, keywords, what's new, subtitle) across version and app-info localizations.
How it compares
Use for asc-driven store listing localization instead of generic translation skills that do not know App Store Connect field types and locale codes.
Common Questions / FAQ
Who is asc-localize-metadata for?
Mobile indie developers and small teams who use Rudrankriyam's asc CLI skills to manage App Store Connect and want agent-assisted translation of listing metadata.
When should I use asc-localize-metadata?
Use it in Launch (ASO) when localizing descriptions and keywords for new markets, after shipping a version when updating What's New across locales, or when syncing subtitle and app-info fields from English source copy.
Is asc-localize-metadata safe to install?
It expects App Store Connect credentials and network access via asc; check this page's Security Audits panel and rotate API keys if you paste secrets into agent sessions.
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,