Agent skill

Asc Subscription Localization

by rorkai in rorkai/app-store-connect-cli-skills

Bulk-localize subscription, subscription-group, and in-app purchase display names across App Store locales using asc, including API 4.4.1 version-scoped v2 resources.

MITAuto-check passedMobile

Install Asc Subscription Localization

skills CLI
$ npx skills add rorkai/app-store-connect-cli-skills --skill asc-subscription-localization -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rorkai/app-store-connect-cli-skills asc-subscription-localization --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rorkai/app-store-connect-cli-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/asc-subscription-localization .claude/skills/asc-subscription-localization && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
asc-subscription-localization
GitHub stars
1.1k
Used in
2 other repos
Token cost
~2.7k tokens
SKILL.md length
948 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Bulk-localize subscription, subscription-group, and in-app purchase display names across App Store locales using asc, including API 4.4.1 version-scoped v2 resources.

  • Updating subscription/IAP names and descriptions without App Store Connect UI work
  • SKILL.md covers Preconditions, Choose the API scope first, Supported App Store Locales and Import many locales from one…, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tasks that involve App store release

What it does

Asc Subscription Localization is an agent skill from rorkai/app-store-connect-cli-skills. Bulk-localize subscription, subscription-group, and in-app purchase display names across App Store locales using asc, including API 4.4.1 version-scoped v2 resources. Use when filling or updating subscription/IAP names and descriptions without App Store Connect UI work.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering App store release and Internationalization. It works with App Store Connect. The repository describes itself as: Skills to automate app store deployed and everything related to it using the asc cli. The licence is MIT.

When your agent uses it

  • Updating subscription/IAP names and descriptions without App Store Connect UI work
  • Tasks that involve App store release
  • Tasks that involve Internationalization

Example prompts

  • “/asc-subscription-localization”

What it can do on your machine

Read from SKILL.md and the folder at commit 9c7e769. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Asc Subscription Localization loads about 2.7k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 948 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~75
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rorkai/app-store-connect-cli-skills at commit 9c7e769, republished under its MIT licence (© rorkai). 948 words, ~2,707 tokens.

Download SKILL.mdSave it as .claude/skills/asc-subscription-localization/SKILL.md (or your agent's skills folder).
name
asc-subscription-localization
description
Bulk-localize subscription, subscription-group, and in-app purchase display names across App Store locales using asc, including API 4.4.1 version-scoped v2 resources. Use when filling or updating subscription/IAP names and descriptions without App Store Connect UI work.

asc subscription localization

Use this skill to bulk-create or bulk-update display names and, where supported, descriptions for subscriptions, subscription groups, and in-app purchases across all App Store Connect locales. This eliminates the tedious manual process of clicking through each language in App Store Connect to set the same display name.

Preconditions

  • Auth configured (asc auth login or ASC_* env vars).
  • Know your app ID (ASC_APP_ID or --app).
  • Subscription groups and subscriptions already exist.

Choose the API scope first

API 4.4.1 adds discrete versions for IAPs, subscriptions, and subscription groups. A version ID is different from its product, subscription, or group ID.

  • Use asc ... versions localizations ... for all new localization work.
  • Do not use the product- or group-scoped v1 localization commands. API 4.4.1 deprecates those resources, and the CLI now emits migration warnings for their compatibility commands.
  • Never pass a product, subscription, or group ID to a version-scoped command.

Resolve or create versions before localizing them:

bash
asc iap versions list --iap-id "IAP_ID" --state PREPARE_FOR_SUBMISSION --paginate --output table
asc subscriptions versions list --subscription-id "SUB_ID" --state PREPARE_FOR_SUBMISSION --paginate --output table
asc subscriptions groups versions list --group-id "GROUP_ID" --state PREPARE_FOR_SUBMISSION --paginate --output table

Branch independently on each list result: zero matches means create, one means reuse that version ID, and more than one means stop and require an explicit version ID. Run each command below only for its zero-match branch:

bash
# If and only if the IAP version list returned zero matches:
asc iap versions create --iap-id "IAP_ID" --output json
# If and only if the subscription version list returned zero matches:
asc subscriptions versions create --subscription-id "SUB_ID" --output json
# If and only if the group version list returned zero matches:
asc subscriptions groups versions create --group-id "GROUP_ID" --output json

None of the three version families has a version delete command. List and reuse the single PREPARE_FOR_SUBMISSION version; create only for zero matches, and stop for an explicit ID when multiple matches exist. Live parent deletion did not cascade IAP or subscription versions, so do not assume parent deletion cleans up versions created for testing.

Supported App Store Locales

These are the locales supported by App Store Connect for subscription and IAP 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

Import many locales from one file

For bulk writes, map each locale to its fields in one JSON file and import it into the resolved version ID. Import creates missing locales, updates only differing fields, never clears or deletes, and reports per-locale failures.

bash
asc subscriptions versions localizations import --version-id "VERSION_ID" --file "./localizations.json" --dry-run
asc subscriptions versions localizations import --version-id "VERSION_ID" --file "./localizations.json" --confirm

asc iap versions localizations import takes the same name and description fields. asc subscriptions groups versions localizations import takes name and customAppName. Give every new subscription or IAP locale a non-empty description; see the create rules below.

Workflow: Bulk-localize a subscription version (v2)

List existing localizations, create only missing locales, then verify:

bash
asc subscriptions versions localizations list --version-id "VERSION_ID" --paginate --output table
asc subscriptions versions localizations create --version-id "VERSION_ID" --locale "LOCALE" --name "Display Name" --description "Description"
asc subscriptions versions localizations list --version-id "VERSION_ID" --paginate --output table

Updates distinguish omitted values, non-empty strings, and JSON null:

bash
asc subscriptions versions localizations update --id "LOC_ID" --name "New Name" --description "Updated description"

Do not combine a value flag with its matching --clear-name or --clear-description flag. The 4.4.1 schema permits JSON null, but Apple's live service currently rejects both an empty --description and --clear-description for subscription-version localizations because the description must contain at least one character.

Creating a missing subscription-version localization therefore requires a non-empty description. A display-name-only run may update the name of an existing localization, but must not create a missing locale until the user provides a non-empty locale-specific or shared fallback description.

Workflow: Bulk-localize a subscription group version (v2)

bash
asc subscriptions groups versions localizations list --version-id "VERSION_ID" --paginate --output table
asc subscriptions groups versions localizations create --version-id "VERSION_ID" --locale "LOCALE" --name "Group Display Name" --custom-app-name "My App"
asc subscriptions groups versions localizations update --id "LOC_ID" --name "Updated Group Display Name" --custom-app-name "My App"
asc subscriptions groups versions localizations list --version-id "VERSION_ID" --paginate --output table

Clearing metadata is a separate, explicit opt-in operation. After confirming that the user wants to remove an existing custom app name, run:

bash
asc subscriptions groups versions localizations update --id "LOC_ID" --clear-custom-app-name

Do not include --clear-name or --clear-custom-app-name in the standard bulk localization workflow. Use either flag only when JSON null is deliberately intended; omitting the flag leaves that attribute unchanged.

Workflow: Bulk-localize an IAP version (v2)

bash
asc iap versions localizations list --version-id "VERSION_ID" --paginate --output table
asc iap versions localizations create --version-id "VERSION_ID" --locale "LOCALE" --name "Display Name" --description "Description"
asc iap versions localizations update --localization-id "LOC_ID" --description "Updated description"
asc iap versions localizations list --version-id "VERSION_ID" --paginate --output table

Apple's live service also rejects empty descriptions and --clear-description for IAP-version localizations even though the 4.4.1 schema permits JSON null. As with subscriptions, a display-name-only run may update existing IAP localizations but must not create missing locales until a non-empty description is available.

Show full SKILL.md (390 more words)Show less

Bulk-localize all subscription versions in an app

For a full app with multiple subscription groups and subscriptions:

bash
# 1. List groups and resolve each group's unique mutable version.
asc subscriptions groups list --app "APP_ID" --paginate --output json
asc subscriptions groups versions list --group-id "GROUP_ID" --state PREPARE_FOR_SUBMISSION --paginate --output json

# 2. Localize each group version.
asc subscriptions groups versions localizations list --version-id "GROUP_VERSION_ID" --paginate --output json
asc subscriptions groups versions localizations create --version-id "GROUP_VERSION_ID" --locale "LOCALE" --name "Group Display Name"

# 3. List subscriptions and resolve each subscription's unique mutable version.
asc subscriptions list --group-id "GROUP_ID" --paginate --output json
asc subscriptions versions list --subscription-id "SUB_ID" --state PREPARE_FOR_SUBMISSION --paginate --output json

# 4. Localize each subscription version.
asc subscriptions versions localizations list --version-id "SUBSCRIPTION_VERSION_ID" --paginate --output json
asc subscriptions versions localizations create --version-id "SUBSCRIPTION_VERSION_ID" --locale "LOCALE" --name "Display Name" --description "Description"

Apply the same zero/one/many rule to each version list: create a version for zero matches, reuse the one match, and stop for an explicit ID when multiple matches are returned.

Agent Behavior

  • Use only version-scoped v2 resources for new localization work.
  • Keep version IDs separate from product, subscription, and group IDs.
  • Always list existing localizations first to avoid duplicate creation errors.
  • Create a missing locale, update the resolved localization ID when existing values differ, and do nothing when the existing values already match.
  • When the user provides a single display name, use it for all locales (same name everywhere).
  • When the user provides translated names per locale, use the locale-specific name for each.
  • For subscription- and IAP-version localizations, require a non-empty --description on every create. If the user supplies only display names, update existing localizations by resolved ID, skip creates for missing locales, and ask for locale-specific descriptions or one non-empty fallback description before creating them.
  • On updates to existing subscription- or IAP-version localizations, omit --description unless the user supplied a new non-empty value; never infer an empty value or clear it.
  • Subscription-group-version localizations do not have a description field. Create or update their names normally, with --custom-app-name only when the user supplied that value.
  • Use --output table for verification steps so the user can visually confirm.
  • Use explicit --output json for intermediate automation steps; output defaults are TTY-aware.
  • After bulk writes, always run the list command to verify completeness.
  • For apps with many subscriptions, process them sequentially per group to keep output readable.
  • If a create or update call fails for a locale, log the locale and error, then continue with the remaining locales. After the batch completes, report all failures together so the user can address them.

Notes

  • Subscription display names are what users see on the subscription management sheet and in purchase dialogs.
  • Creating a localization for a locale that already exists will fail; list first and update the resolved ID when a change is needed.
  • Apple has no bulk localization endpoint; ... localizations import validates the whole file, then writes one locale at a time.
  • Use --paginate on list commands to ensure all existing localizations are returned.
  • Use the asc-id-resolver skill if you only have app names instead of IDs.

© rorkai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/asc-subscription-localization of rorkai/app-store-connect-cli-skills.

Open the folder on GitHubat commit 9c7e769

Used in 2 other repositories

We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in rorkai/app-store-connect-cli-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Asc Subscription Localization next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Asc Subscription Localization compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Asc Subscription Localization this skillrorkai/app-store-connect-cli-skills1.1k2 repos~2.7kAutomated safety check: PassMIT
Asc Localize MetadataCamilleScholtz/swmpc2395 repos~2.8kAutomated safety check: PassEUPL-1.2
Asc Subscription Localizationmalpern/VoxClaw208—~2.5kAutomated safety check: PassNone
Sync Asc Skillsrorkai/App-Store-Connect-CLI7.7k—~782Automated safety check: PassMIT
App Namerrshankras/claude-code-apple-skills785—~3.4kAutomated safety check: PassMIT
Asc Metricsappeeky/aso-skills2.2k—~1.3kAutomated safety check: PassMIT

Similar skills

  • Asc Localize Metadata

    CamilleScholtz/swmpc

    Automatically translate and sync App Store metadata (description, keywords, what's new, subtitle) to multiple languages using LLM translation and asc CLI.

    239 GitHub starsUsed in 5 repos~2.8k tokens
    MobileAuto-check passed
  • Bulk-localize subscription and in-app purchase display names across all App Store locales using asc.

    208 GitHub stars~2.5k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Sync Asc Skills

    rorkai/App-Store-Connect-CLI

    Check rorkai/app-store-connect-cli-skills against the current ASC CLI surface and correct proven drift when authorized.

    7.7k GitHub stars~782 tokensUpdated today
    MobileAuto-check passed
  • App Namer

    rshankras/claude-code-apple-skills

    Turn an app idea into validated, App-Store-ready name candidates.

    785 GitHub stars~3.4k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Asc Metrics

    appeeky/aso-skills

    When the user wants to analyze their own app's actual performance data from App Store Connect — real downloads, revenue, IAP, subscriptions, trials, or country breakdowns synced via Appeeky Connect.

    2.2k GitHub stars~1.3k tokensUpdated 2 days ago
    MobileAuto-check passed
  • Asc CLI Usage

    CamilleScholtz/swmpc

    Guidance for using asc cli in this repo (flags, output formats, pagination, auth, and discovery).

    239 GitHub starsUsed in 4 repos~957 tokens
    MobileAuto-check passed

More from rorkai/app-store-connect-cli-skills

All 12 skills in this repo
  • App Store Release Flow

    rorkai/app-store-connect-cli-skills

    Orchestrates App Store releases with the asc CLI: staging a version, uploading or building, publishing and submitting for review, with dry-run and confirmation gates.

    1.1k GitHub starsUsed in 2 repos~2k tokens
    Auto-check passed
  • App Store Submission Health

    rorkai/app-store-connect-cli-skills

    Diagnoses why an App Store version cannot be submitted or is stuck in review, using the asc CLI for validation, repair routing, status checks and retry decisions.

    1.1k GitHub starsUsed in 2 repos~2.2k tokens
    Auto-check passed
  • App Store Connect App Creator

    rorkai/app-store-connect-cli-skills

    Creates a new App Store Connect app record by driving the New App form through browser automation, for cases where no public API covers app creation.

    1.1k GitHub starsUsed in 3 repos~1.5k tokens
    Auto-check passed
  • Asc Ppp Pricing

    rorkai/app-store-connect-cli-skills

    Set territory-specific pricing for subscriptions and in-app purchases using current asc setup, pricing summary, price import, and price schedule commands.

    1.1k GitHub starsUsed in 3 repos~4.2k tokens
    Auto-check passed
  • Asc Revenuecat Catalog Sync

    rorkai/app-store-connect-cli-skills

    Reconcile App Store Connect subscriptions and in-app purchases with RevenueCat products, entitlements, offerings, and packages using asc and RevenueCat MCP.

    1.1k GitHub starsUsed in 3 repos~3.8k tokens
    Auto-check passed
  • Asc Xcode Build

    rorkai/app-store-connect-cli-skills

    Build, archive, generate export options, export, upload, and manage Xcode version/build numbers with the current asc xcode helpers.

    1.1k GitHub starsUsed in 2 repos~2.1k tokens
    Auto-check passed

Categories

Questions about Asc Subscription Localization

What does Asc Subscription Localization do?

Bulk-localize subscription, subscription-group, and in-app purchase display names across App Store locales using asc, including API 4.4.1 version-scoped v2 resources. Asc Subscription Localization is an agent skill from rorkai/app-store-connect-cli-skills.1 version-scoped v2 resources.

When should I use Asc Subscription Localization?

Asc Subscription Localization fits situations like: updating subscription/IAP names and descriptions without App Store Connect UI work; tasks that involve App store release; tasks that involve Internationalization.

How do I install Asc Subscription Localization in Claude Code?

Run `npx skills add rorkai/app-store-connect-cli-skills --skill asc-subscription-localization -a claude-code`. Or copy the skill folder (skills/asc-subscription-localization in rorkai/app-store-connect-cli-skills) into .claude/skills/asc-subscription-localization in your project. Claude Code loads it when a task matches its description.

How do I install Asc Subscription Localization in Codex?

Run `npx skills add rorkai/app-store-connect-cli-skills --skill asc-subscription-localization -a codex`. Or copy the skill folder (skills/asc-subscription-localization in rorkai/app-store-connect-cli-skills) into .agents/skills/asc-subscription-localization in your project. Codex loads it when a task matches its description.

Can I use Asc Subscription Localization in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rorkai/app-store-connect-cli-skills --skill asc-subscription-localization -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/asc-subscription-localization, .gemini/skills/asc-subscription-localization, .github/skills/asc-subscription-localization and .opencode/skills/asc-subscription-localization in your project.

What does Asc Subscription Localization need to run?

SKILL.md names no scripts, command-line tools or credentials: Asc Subscription Localization is instructions for the agent only.

Does Asc Subscription Localization access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Asc Subscription Localization safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Asc Subscription Localization use?

Asc Subscription Localization is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Asc Subscription Localization use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Asc Subscription Localization?

Skills that share tags, products or a category with Asc Subscription Localization: Asc Localize Metadata (CamilleScholtz/swmpc, 239 stars), Asc Subscription Localization (malpern/VoxClaw, 208 stars), Sync Asc Skills (rorkai/App-Store-Connect-CLI, 7.7k stars) and App Namer (rshankras/claude-code-apple-skills, 785 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Asc Subscription Localization?

rorkai (a GitHub organization) maintains it in rorkai/app-store-connect-cli-skills, which has 1,064 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 5, 2026.

Source: rorkai/app-store-connect-cli-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.