Agent skill

Update Translations

by Raicuparta in Raicuparta/rai-pal

A skill your agent uses when asked to update translations, localize strings, add new languages, fix missing translation keys, or sync language files in this project.

GPL-3.0Auto-check passedWriting & Content

Install Update Translations

skills CLI
$ npx skills add Raicuparta/rai-pal --skill update-translations -a claude-code

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

GitHub CLI
$ gh skill install Raicuparta/rai-pal update-translations --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/Raicuparta/rai-pal.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/update-translations .claude/skills/update-translations && 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
update-translations
GitHub stars
735
Token cost
~839 tokens
SKILL.md length
434 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
GPL-3.0

At a glance

A skill your agent uses when asked to update translations, localize strings, add new languages, fix missing translation keys, or sync language files in this project.

  • Works in 2 steps: Validate source of truth → Check and fix other language files
  • Asked to update translations
  • SKILL.md covers Step 1: Validate source of truth, Step 2: Check and fix other…, Rules and Missing translations are…
  • Calls npx

What it does

Update Translations is an agent skill from Raicuparta/rai-pal. Use when asked to update translations, localize strings, add new languages, fix missing translation keys, or sync language files in this project. Triggered by keywords: translation, localize, locale, i18n, language strings, translate, en-us, localization files.

Its SKILL.md is about 840 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 Writing & Content, covering Translation and Internationalization. It works with Tauri, Rust and TypeScript. The repository describes itself as: Mod manager for universal game mods. The licence is GPL-3.0.

When your agent uses it

  • Asked to update translations
  • Localize strings
  • Add new languages
  • Fix missing translation keys

Example prompts

  • “/update-translations”

Requirements

  • Node.js

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Validate source of truth
  2. Check and fix other language files

What it can do on your machine

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

    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npx, 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

Update Translations loads about 839 tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 434 words of instructions outside code blocks.

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

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 Raicuparta/rai-pal at commit e4211d1, republished under its GPL-3.0 licence (© Raicuparta). 434 words, ~839 tokens.

Download SKILL.mdSave it as .claude/skills/update-translations/SKILL.md (or your agent's skills folder).
name
update-translations
description
Use when asked to update translations, localize strings, add new languages, fix missing translation keys, or sync language files in this project. Triggered by keywords: translation, localize, locale, i18n, language strings, translate, en-us, localization files.

Update Translations

Step 1: Validate source of truth

Run TypeScript check on frontend/localizations/en-us.ts:

bash
npx tsc --noEmit --ignoreConfig frontend/localizations/en-us.ts

If there are any TypeScript errors, cancel the entire process and report the error to the user. Do not proceed.

en-us.ts is the source of truth with contextual comments. No other language files have or should have comments.

Step 2: Check and fix other language files

For every other .ts file in frontend/localizations/ (excluding en-us.ts and localizations.ts):

  1. Run npx tsc --noEmit --ignoreConfig frontend/localizations/<file>.ts — if it passes, skip it entirely.
  2. If it has errors, the TypeScript errors will tell you exactly which keys are missing or have wrong parameter signatures (because they all use the Localization type derived from en-us).
  3. Translate the missing entries one by one, respecting the context comments in en-us.ts. Leave all existing translations untouched.
  4. After fixing each file, re-run the type check to confirm it passes.

Rules

  • Never add comments to non-en-us files.
  • Never modify localizations.ts.
  • When syncing other language files (Steps 1–2 above), never modify en-us.ts. Only modify en-us.ts when adding new keys for a feature (see below).
  • Keep existing translations as-is — only add missing entries or fix parameter mismatches.
  • Match the same parameters/variables from en-us.ts (e.g. {items}, {authorName}, {provider}).
  • NEVER put placeholder values in any language file. No English text, no TODO, no copied en-us strings, no machine-guessed filler — a key either gets a real translation or it is not added to that file at all.
  • Never add translations to non-English files unless the user explicitly asks you to translate. New keys go only in en-us.ts. Type errors from missing keys in other language files are the intended signal that translations are pending.
Show full SKILL.md (159 more words)Show less

Missing translations are signaled by type errors — on purpose

Type errors from missing translation keys are by design. They are the mechanism that tells us which translations are missing. Never "fix" them by inserting placeholder values.

When the user says "don't translate yet" / "use placeholders"

Do NOT put placeholder values in any language file. Instead:

  1. Use the translations hook as normal in the component code.
  2. Purposely reference a new translation key that doesn't exist yet.
  3. Leave all language files untouched, including en-us.ts.
  4. The resulting type errors are intentional — leave them, and tell the user they mark the pending translations.
When implementing features that need translated text (user gave no instructions about translations)

Default behavior:

  1. Add the new keys only to en-us.ts, with contextual comments as usual.
  2. Leave every other language file untouched.
  3. Ignore the type errors this causes in the other language files — they are the intended signal that translations are missing.

© Raicuparta, GPL-3.0. 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 .agents/skills/update-translations of Raicuparta/rai-pal.

Open the folder on GitHubat commit e4211d1

Compare with similar skills

Update Translations 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.

Update Translations compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Update Translations this skillRaicuparta/rai-pal735—~839Automated safety check: PassGPL-3.0
Add UI Stringopenfootmanager/openfootmanager1.1k—~2.6kAutomated safety check: PassGPL-3.0
Pre Commit CheckMooshieblob1/MooshieUI207—~825Automated safety check: PassAGPL-3.0
Code TranslationArabelaTso/Skills-4-SE253—~3.1kAutomated safety check: PassApache-2.0
Store Localizationdotnetdreamer/open-screenshot-generator127—~3.8kAutomated safety check: PassMIT
Translation Diff ExportDevolutions/UniGetUI26k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Add UI String

    openfootmanager/openfootmanager

    Add or change any text a player can see, in every locale the game ships in.

    1.1k GitHub stars~2.6k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Pre Commit Check

    Mooshieblob1/MooshieUI

    Validates MooshieUI uncommitted changes before commit or PR — build gates, Rust fmt/clippy, conventions, i18n.

    207 GitHub stars~825 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Code Translation

    ArabelaTso/Skills-4-SE

    Convert code between programming languages while preserving functionality and semantics.

    253 GitHub stars~3.1k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Store Localization

    dotnetdreamer/open-screenshot-generator

    Ships one screenshot design in many App Store and Play Store languages using the open-screenshot-generator CLI (osg localize): it adds store locales to an existing project, writes per language copy…

    127 GitHub stars~3.8k tokensUpdated today
    MobileAuto-check passed
  • Translation Diff Export

    Devolutions/UniGetUI

    Compares UniGetUI JSON locale files against English, identifies untranslated or source-changed keys, and generates patch, reference, and handoff files for a target language.

    26k GitHub stars~1.1k tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Translation Diff Translate

    Devolutions/UniGetUI

    Translates a sparse UniGetUI JSON language patch, writes completed entries into the working copy, preserves placeholders and terminology, and prepares the patch for merge-back.

    26k GitHub stars~934 tokensUpdated yesterday
    Writing & ContentAuto-check passed

Questions about Update Translations

What does Update Translations do?

A skill your agent uses when asked to update translations, localize strings, add new languages, fix missing translation keys, or sync language files in this project. Update Translations is an agent skill from Raicuparta/rai-pal. Use when asked to update translations, localize strings, add new languages, fix missing translation keys, or sync language files in this project.

When should I use Update Translations?

Update Translations fits situations like: asked to update translations; localize strings; add new languages; fix missing translation keys.

How do I install Update Translations in Claude Code?

Run `npx skills add Raicuparta/rai-pal --skill update-translations -a claude-code`. Or copy the skill folder (.agents/skills/update-translations in Raicuparta/rai-pal) into .claude/skills/update-translations in your project. Claude Code loads it when a task matches its description.

How do I install Update Translations in Codex?

Run `npx skills add Raicuparta/rai-pal --skill update-translations -a codex`. Or copy the skill folder (.agents/skills/update-translations in Raicuparta/rai-pal) into .agents/skills/update-translations in your project. Codex loads it when a task matches its description.

Can I use Update Translations 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 Raicuparta/rai-pal --skill update-translations -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/update-translations, .gemini/skills/update-translations, .github/skills/update-translations and .opencode/skills/update-translations in your project.

What does Update Translations need to run?

Going by SKILL.md and its folder, Update Translations needs the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Update Translations access the network?

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

Is Update Translations 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 Update Translations use?

Update Translations is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Update Translations use?

About 839 tokens (SKILL.md is roughly 3.4k 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 Update Translations?

Skills that share tags, products or a category with Update Translations: Add UI String (openfootmanager/openfootmanager, 1.1k stars), Pre Commit Check (Mooshieblob1/MooshieUI, 207 stars), Code Translation (ArabelaTso/Skills-4-SE, 253 stars) and Store Localization (dotnetdreamer/open-screenshot-generator, 127 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Update Translations?

Raicuparta (a GitHub user) maintains it in Raicuparta/rai-pal, which has 735 GitHub stars. The repository was last updated on October 9, 2026.

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