Agent skill

Release-Time Localization Sync

by onevcat in onevcat/Prowl

Catches an app's string catalog up with the code once per release: translating new text, pruning unused entries, and flagging unlocalized strings.

Custom licenceAuto-check passedFrontend & Design

Install Release-Time Localization Sync

skills CLI
$ npx skills add onevcat/Prowl --skill sync-l10n -a claude-code

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

GitHub CLI
$ gh skill install onevcat/Prowl sync-l10n --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/onevcat/Prowl.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/sync-l10n .claude/skills/sync-l10n && 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
sync-l10n
GitHub stars
638
Token cost
~3.4k tokens
SKILL.md length
1,728 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
Custom licence

At a glance

Catches an app's string catalog up with the code once per release: translating new text, pruning unused entries, and flagging unlocalized strings.

  • Works in 7 steps: Build and audit. $SCRATCH is any… → suspects — literals that look like UI… → Debt budget. In each release, localize… → …
  • Preparing a release by translating new UI copy against the project glossary
  • SKILL.md covers Guiding principles, Steps, Making copy localizable and Committing, plus 1 more section
  • Calls python3, make and git

What it does

This skill runs as a once-per-release catch-up rather than a constant requirement, so day-to-day work can add new copy without being blocked by translation. All edits go through a bundled script rather than hand-editing the catalog or baseline file directly, because the script checks placeholder formatting and keeps the exact structure the build tool expects.

Its guiding rules are to translate only what changed, leaving a finished translation alone unless it's wrong or breaks the project glossary, and to give every flagged string a decision — translated, excused by category, or logged as debt — rather than loosening detection to force an audit to pass. The order matters: code changes first, then a rebuild so extraction is current, then translating everything at once, then removing entries nothing uses anymore.

When your agent uses it

  • Preparing a release by translating new UI copy against the project glossary
  • Removing string catalog entries that no code references anymore
  • Deciding whether a flagged string is UI copy or exempt code text

Example prompts

  • “Run the release localization sync and translate what's new.”
  • “Prune the string catalog entries nothing in the code uses.”
  • “Run the localization audit and tell me what's unresolved.”

Requirements

  • Python 3 to run the bundled localization script
  • A project using an Xcode-style string catalog

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Build and audit. $SCRATCH is any temporary directory outside the repository.
  2. suspects — literals that look like UI copy, are not localized in that file, and are not
  3. Debt budget. In each release, localize the debt in files that changed since the previous
  4. Rebuild, then translate broken, missing, and untranslated in one file.
  5. unused and obsolete. prune removes every unused entry that is not marked
  6. Verify. make check formats changed Swift files, so it comes first.
  7. Report.

What it can do on your machine

Read from SKILL.md and the folder at commit 386b8d0. 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

    Shell commands in SKILL.md call:

    • python3
    • make
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    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

Release-Time Localization Sync loads about 3.4k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 1,728 words of instructions outside code blocks.

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

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

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 1,728 words (~3,371 tokens).

“Prowl localizes its UI (Simplified Chinese today). Everyday work is not blocked by translations: a developer writes localizable English copy and moves on. This skill does the catch-up once per release, so every release ships with a complete translation of…”

— opening of SKILL.md by onevcat, Custom licence
name
sync-l10n

Read the full SKILL.md on GitHub

Files

Just SKILL.md in .claude/skills/sync-l10n of onevcat/Prowl.

Open the folder on GitHubat commit 386b8d0

Compare with similar skills

Release-Time Localization Sync 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.

Release-Time Localization Sync compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release-Time Localization Sync this skillonevcat/Prowl638—~3.4kAutomated safety check: PassCustom licence
I18n CompleterShiinaLabs/wifi-lens118—~595Automated safety check: PassApache-2.0
Sumvliuyincs/musiver320—~555Automated safety check: PassNone
Pre Release ReviewKeeForge/KeeForge114—~1.6kAutomated safety check: PassGPL-3.0
iOS Patternshanamizuki/solopreneur152—~2.3kAutomated safety check: NotesMIT
iOS Localizationdpearson2699/swift-ios-skills1.2k—~3.6kAutomated safety check: PassCustom licence

Similar skills

  • I18n Completer

    ShiinaLabs/wifi-lens

    A skill your agent uses when checking, completing, fixing, or adding translations in .xcstrings files, especially when localizations are missing or glossary terminology must be enforced.

    118 GitHub stars~595 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Sumv

    liuyincs/musiver

    版本总结

    320 GitHub stars~555 tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Pre Release Review

    KeeForge/KeeForge

    Statically review KeeForge changes since a shipped release for behavior risks, documentation inconsistencies, i18n gaps, and missing test coverage.

    114 GitHub stars~1.6k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • iOS Patterns

    hanamizuki/solopreneur

    A skill your agent uses when building iOS/macOS apps with SwiftUI — covers localization (String Catalogs), date/time formatting, JSON date decoding, Previews, state management, sheet/navigation…

    152 GitHub stars~2.3k tokensUpdated 12 days ago
    Frontend & DesignAuto-check: notes
  • iOS Localization

    dpearson2699/swift-ios-skills

    Implement, review, or improve localization and internationalization in iOS/macOS apps — String Catalogs (.xcstrings), generated localizable symbols, stable key naming, LocalizedStringKey…

    1.2k GitHub stars~3.6k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check passed
  • Localization Setup

    rshankras/claude-code-apple-skills

    Generate internationalization (i18n) infrastructure for multi-language support in iOS/macOS apps.

    783 GitHub stars~1.4k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check: notes

More from onevcat/Prowl

All 10 skills in this repo
  • Drives and verifies the native macOS Prowl Debug UI through accessibility automation, proving behavior with before-and-after evidence instead of reasoning from code.

    638 GitHub stars~3.3k tokensUpdated 2 days ago
    Auto-check passed
  • Prowl Self-Verify

    onevcat/Prowl

    Runs an opt-in end-to-end verification of Prowl changes in a separate debug instance, writing a verification contract first and reporting pass, fail, skipped or inconclusive for every scenario.

    638 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Authors, validates, runs and participates in Prowl Agent Workflows, bundles that orchestrate several live coding agents inside the Prowl macOS app.

    638 GitHub stars~2.7k tokensUpdated 2 days ago
    Auto-check passed
  • Runs Prowl's benchmark layers for a branch or release against recorded baselines, only when explicitly asked and the machine is quiet.

    638 GitHub stars~2.4k tokensUpdated 2 days ago
    Auto-check passed
  • Write AI Doc

    onevcat/Prowl

    Create and maintain curated docs-ai/ records for substantial features and non-trivial, decision-shaping fixes (numbered entries with 000-plan.md before implementation and 001-action.md after).

    638 GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed
  • Keeps an agent-facing documentation set accurate against the implementation through small, diff-driven edits since a committed baseline.

    638 GitHub stars~2k tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Release-Time Localization Sync

What does Release-Time Localization Sync do?

Catches an app's string catalog up with the code once per release: translating new text, pruning unused entries, and flagging unlocalized strings. This skill runs as a once-per-release catch-up rather than a constant requirement, so day-to-day work can add new copy without being blocked by translation. All edits go through a bundled script rather than hand-editing the catalog or baseline file directly, because the script checks placeholder formatting and keeps the exact structure the build tool expects.

When should I use Release-Time Localization Sync?

Release-Time Localization Sync fits situations like: preparing a release by translating new UI copy against the project glossary; removing string catalog entries that no code references anymore; deciding whether a flagged string is UI copy or exempt code text.

How do I install Release-Time Localization Sync in Claude Code?

Run `npx skills add onevcat/Prowl --skill sync-l10n -a claude-code`. Or copy the skill folder (.claude/skills/sync-l10n in onevcat/Prowl) into .claude/skills/sync-l10n in your project. Claude Code loads it when a task matches its description.

How do I install Release-Time Localization Sync in Codex?

Run `npx skills add onevcat/Prowl --skill sync-l10n -a codex`. Or copy the skill folder (.claude/skills/sync-l10n in onevcat/Prowl) into .agents/skills/sync-l10n in your project. Codex loads it when a task matches its description.

Can I use Release-Time Localization Sync 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 onevcat/Prowl --skill sync-l10n -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sync-l10n, .gemini/skills/sync-l10n, .github/skills/sync-l10n and .opencode/skills/sync-l10n in your project.

What does Release-Time Localization Sync need to run?

Going by SKILL.md and its folder, Release-Time Localization Sync needs the command-line tools its instructions call (python3, make and git). Our summary lists: Python 3 to run the bundled localization script; A project using an Xcode-style string catalog.

Does Release-Time Localization Sync access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Release-Time Localization Sync 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 Release-Time Localization Sync use?

Release-Time Localization Sync has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Release-Time Localization Sync use?

About 3.4k tokens (SKILL.md is roughly 13k 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 Release-Time Localization Sync?

Skills that share tags, products or a category with Release-Time Localization Sync: I18n Completer (ShiinaLabs/wifi-lens, 118 stars), Sumv (liuyincs/musiver, 320 stars), Pre Release Review (KeeForge/KeeForge, 114 stars) and iOS Patterns (hanamizuki/solopreneur, 152 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release-Time Localization Sync?

onevcat (a GitHub user) maintains it in onevcat/Prowl, which has 638 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 6, 2026.

Source: onevcat/Prowl on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.