Back to Skills

asc-localize-metadata

Automatically translate and sync App Store metadata (description, keywords, what's new, subtitle) to multiple languages using LLM translation and asc CLI. Use when asked to localize an app's App Store listing, translate app descriptions, or add new languages to App Store Connect.

906stars48forksUpdated 7/14/2026

Security Assessment

Safe(100/100)
Security Score100/100

About asc-localize-metadata

asc-localize-metadata automates translating and syncing App Store metadata to multiple languages using LLM translation together with the asc CLI (App Store Connect CLI). It solves the tedious, error-prone work of localizing an app's App Store listing: it pulls metadata from a source locale (typically en-US), translates it to each target locale, and pushes the translations back to App Store Connect. It is intended for tasks like localizing a listing, translating app descriptions, or adding new languages.

The workflow has five steps. First, resolve IDs using commands such as asc apps list, asc versions list, and asc apps info list, preferring deterministic ID-based operations over picking the first row. It distinguishes two metadata types: version localizations (per-release fields like description, keywords, whatsNew, supportUrl, marketingUrl, promotionalText) and app-info localizations (app-level fields like name, subtitle, and privacy URLs, edited with --type app-info). Second, download the source locale into .strings files with asc localizations download. Third, translate each locale with an LLM using a provided prompt template that enforces formal register and per-field rules, notably that keywords are researched rather than literally translated. Fourth, upload either in bulk via .strings files (asc localizations upload) or with fine control via individual commands like asc apps info edit. Fifth, verify with asc localizations list. The skill lists all supported App Store Connect locales and enforces character limits (Name 30, Subtitle 30, Keywords 100, Description 4000, What's New 4000, Promotional Text 170) before upload.

Target users are iOS/macOS app developers and publishers managing App Store Connect listings. Preconditions include configured auth (asc auth login or ASC_* env vars), knowing the app ID, and having at least one locale (typically en-US) already populated. The doc recommends confirming exact flags with --help for the installed asc version and points to a companion asc-id-resolver skill for deterministic ID lookup from names.

FAQ

What are the prerequisites to use this skill?

Auth must be configured (via asc auth login or ASC_* env vars), you must know your app ID (found with asc apps list), and at least one locale (typically en-US) must already have metadata in App Store Connect.

How are keywords handled during translation?

Keywords are NOT literally translated. The skill researches what users in each locale would actually search for, keeps them comma-separated within 100 characters total, with no duplicates and no app name (Apple adds the name automatically).

What is the difference between version and app-info localizations?

Version localizations are per-release fields (description, keywords, whatsNew, supportUrl, marketingUrl, promotionalText). App-info localizations are app-level, persistent fields (name, subtitle, privacy URLs and text) edited using --type app-info.

What character limits does the skill enforce?

Name 30, Subtitle 30, Keywords 100 (comma-separated), Description 4000, What's New 4000, and Promotional Text 170. Translated text must be validated against these limits before upload.

How can translations be uploaded?

Two options: bulk upload via .strings files with asc localizations upload (using --type app-info for app-level fields), or fine-grained control via individual commands like asc apps info edit with explicit flags such as --version-id and --locale.

Install asc-localize-metadata

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill