Localization
jame581/GodotPrompter
A skill your agent uses when implementing localization (i18n/l10n) — TranslationServer, CSV/PO translation files, locale switching, RTL support, and pluralization in Godot 4.3+
Localization pipeline — find hardcoded strings, extract string tables, cultural review, VO, RTL, enforce string freeze.
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill localize -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Donchitos/Claude-Code-Game-Studios localize --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/localize .claude/skills/localize && rm -rf skills-srcUse ~/.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/
Install the "localize" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/localize into .claude/skills/localize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "localize", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/localizeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill localize -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Donchitos/Claude-Code-Game-Studios localize --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/localize .agents/skills/localize && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "localize" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/localize into .agents/skills/localize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "localize", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill localize -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Donchitos/Claude-Code-Game-Studios localize --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/localize .cursor/skills/localize && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "localize" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/localize into .cursor/skills/localize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "localize", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Donchitos/Claude-Code-Game-Studios.git --path .claude/skills/localize--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill localize -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Donchitos/Claude-Code-Game-Studios localize --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/localize .gemini/skills/localize && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "localize" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/localize into .gemini/skills/localize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "localize", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Donchitos/Claude-Code-Game-Studios localizeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill localize -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/localize .github/skills/localize && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "localize" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/localize into .github/skills/localize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "localize", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill localize -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Donchitos/Claude-Code-Game-Studios localize --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/localize .opencode/skills/localize && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "localize" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/localize into .opencode/skills/localize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "localize", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
localizeLocalization pipeline — find hardcoded strings, extract string tables, cultural review, VO, RTL, enforce string freeze.
Localize is an agent skill from Donchitos/Claude-Code-Game-Studios. Localization pipeline — find hardcoded strings, extract string tables, cultural review, VO, RTL, enforce string freeze.
Its SKILL.md is about 5.2k 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 Frontend & Design, covering Internationalization. The repository describes itself as: Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b21fa0f. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGlobGrepWriteBashAgentAskUserQuestionBash(bash "*/.claude/skills/localize/../../hooks/yaml-helper.sh" resolve_config *)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Localize loads about 5.2k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 2,016 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Glob, Grep, Write, Bash, Agent, AskUserQuestion, Bash(bash "*/.claude/skills/localize/../../hoAutomated 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.
The full file from Donchitos/Claude-Code-Game-Studios at commit b21fa0f, republished under its MIT licence (© Donchitos). 2,016 words, ~5,201 tokens.
.claude/skills/localize/SKILL.md (or your agent's skills folder).!bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys automation
Localization is not just translation — it is the full process of making a game feel native in every language and region. Poor localization breaks immersion, confuses players, and blocks platform certification. This skill covers the complete pipeline from string extraction through cultural review, VO recording, RTL layout testing, and localization QA sign-off.
Modes:
scan — Find hardcoded strings and localization anti-patterns (read-only)extract — Extract strings and generate translation-ready tablesvalidate — Check translations for completeness, placeholders, and lengthstatus — Coverage matrix across all localesbrief — Generate translator context briefing document for an external teamcultural-review — Flag culturally sensitive content, symbols, colours, idiomsvo-pipeline — Manage voice-over localization: scripts, recording specs, integrationrtl-check — Validate RTL language layout, mirroring, and font supportfreeze — Enforce string freeze; lock source strings before translation beginsqa — Run the full localization QA cycle before releaseIf no subcommand is provided, output usage and stop. Verdict: FAIL — missing required subcommand.
Every AskUserQuestion call follows .claude/docs/automation-modes.md
(collaborative asks always · guided major-only · autonomous logs and proceeds;
automation_always_ask categories always prompt).
Search the code root (resolve per .claude/docs/code-root-resolution.md) for hardcoded user-facing strings. If the code root is unresolved, report NOT ASSESSED — code root unresolved rather than zero hits. Zero hits from an unresolved root reads as "nothing to localize", which is the failure this guards:
tr(), Tr(), NSLocalizedString, GetText, etc.)%s, %d) instead of named ones ({playerName})Search for localization anti-patterns:
1,000 vs 1.000)assets/)"You won!" — exclamation styles vary by locale)Report all findings with file paths and line numbers. This mode is read-only — no files are written.
assets/data/strings/[category].[subcategory].[description]ui.hud.health_label, dialogue.npc.merchant.greeting, menu.main.play_buttoncontext field — a translator comment explaining:{playerName} = the player's chosen display name)Output a diff of new strings to add to the string table.
Present the diff to the user. Ask: "May I write these new entries to assets/data/strings/strings-en.json?"
If yes, write only the diff (new entries), not a full replacement. Verdict: COMPLETE — strings extracted and written.
Read all string table files in assets/data/strings/. For each locale, check:
{name} but translation omits it or adds extrascontext fieldReport validation results grouped by locale and severity. This mode is read-only — no files are written.
## Localization Status
Generated: [Date]
String freeze: [Active / Not yet called / Lifted]
| Locale | Total | Translated | Missing | Stale | Coverage |
|--------|-------|-----------|---------|-------|----------|
| en (source) | [N] | [N] | [N] | [N] | [N]% |
| [locale] | [N] | [N] | [N] | [N] | [X]% |
> **Every cell above is a count you must take from the string table — including
> the source row.** Do not pre-fill the source locale as `100%`: that asserts a
> result before counting, and on a project with no `assets/data/strings/` it
> produces a coverage report for a table that does not exist. If the string table
> is absent, the whole status output is
> **`NOT ASSESSED — no string table found`**, not a matrix of zeros with a
> confident source row.
### Issues
- [N] hardcoded strings found in source code (run /localize scan)
- [N] strings exceeding character limits
- [N] placeholder mismatches
- [N] orphaned keys
- [N] strings added after freeze was called (freeze violations)This mode is read-only — no files are written.
Generate a translator context briefing document. This document is sent to the external translation team or localisation vendor alongside the string table export.
Read:
design/gdd/ — extract game genre, tone, setting, character namesassets/data/strings/strings-en.json — the source string tabledesign/narrative/Generate production/localization/translator-brief-[locale]-[date].md:
# Translator Brief — [Game Name] — [Locale]
## Game Overview
[2-3 paragraph summary of the game, genre, tone, and audience]
## Tone and Voice
- **Overall tone**: [e.g., "Darkly comic, not slapstick — think Terry Pratchett, not Looney Tunes"]
- **Player address**: [e.g., "Second person, informal. Never formal 'vous' — always 'tu' for French"]
- **Profanity policy**: [e.g., "Mild — PG-13 equivalent. Match intensity to source, do not soften or escalate"]
- **Humour**: [e.g., "Wordplay exists — if a pun cannot translate, invent an equivalent local joke; do not translate literally"]
## Character Glossary
| Name | Role | Personality | Notes |
|------|------|-------------|-------|
| [Name] | [Role] | [Personality] | [Do not translate / transliterate as X] |
## World Glossary
| Term | Meaning | Notes |
|------|---------|-------|
| [Term] | [What it means] | [Keep in English / translate as X] |
## Do Not Translate List
The following must appear verbatim in all locales:
- [Game name]
- [UI terms that match in-engine labels]
- [Brand or trademark names]
## Placeholder Reference
| Placeholder | What it represents | Example |
|-------------|-------------------|---------|
| `{playerName}` | Player's chosen display name | "Shadowblade" |
| `{count}` | Integer quantity | "3" |
## Character Limits
Tight UI fields with hard limits are marked in the string table `context` field.
Where no limit is stated, target ±30% of the English length as a guideline.
## Contact
Direct questions to: [placeholder for user/team contact]
Delivery format: JSON, same schema as strings-en.jsonAsk: "May I write this translator brief to production/localization/translator-brief-[locale]-[date].md?"
Spawn localization-lead via Agent. Ask them to audit the following for cultural sensitivity across the target locales (read from assets/data/strings/ and assets/):
Symbols and gestures
Colours
Numbers
Humour and idioms
Violence and content ratings
Names and representations
Present findings as a table:
| Finding | Locale(s) Affected | Severity | Recommended Action |
|---|---|---|---|
| [Description] | [Locale] | [BLOCKING / ADVISORY / NOTE] | [Change / Flag for review / Accept] |
BLOCKING = must fix before shipping that locale. ADVISORY = recommend change. NOTE = informational only.
Ask: "May I write this cultural review report to production/localization/cultural-review-[date].md?"
Manage the voice-over localization process. Determine the sub-task from the argument:
vo-pipeline scan — identify all dialogue lines that require VO recordingvo-pipeline script — generate recording scripts with director notesvo-pipeline validate — check that all recorded VO files are present and correctly namedvo-pipeline integrate — verify VO files are correctly referenced in code/assetsRead assets/data/strings/ and design/narrative/. Identify:
dialogue.*) with source textassets/audio/vo/)Output a recording manifest:
## VO Recording Manifest — [Date]
| Key | Character | Source Line | Status |
|-----|-----------|-------------|--------|
| dialogue.npc.merchant.greeting | Merchant | "Welcome, traveller." | Recorded |
| dialogue.npc.merchant.haggle | Merchant | "That's my final offer." | Needs recording |Generate a recording script document for each character, grouped by scene. Include:
[Warm, welcoming], [Annoyed, clipped])Ask: "May I write the VO recording scripts to production/localization/vo-scripts-[locale]-[date].md?"
Glob assets/audio/vo/[locale]/ for all .wav/.ogg files. Cross-reference against the VO manifest. Report:
Grep the code root for VO audio references. Verify each referenced path exists in assets/audio/vo/[locale]/. Report broken references.
Right-to-left languages (Arabic, Hebrew, Persian, Urdu) require layout mirroring beyond just translating text. This mode validates the implementation.
Determine the engine: read engine.name from project.yaml; if that key is absent or empty (including when project.yaml has no engine: block), fall back to .claude/docs/technical-preferences.md. Then check:
Layout mirroring
Control.layout_direction, Unity: RTL Support package, Unreal: text direction flags)Text rendering
String assembly
{placeholder} positions in sentences work correctly when sentence structure is reversed?Asset review
Grep patterns to check:
HBoxContainer, LinearLayout, HorizontalBox nodes — verify layout_direction settings+ near dialogue or UI codeReport findings. Flag BLOCKING issues (content unreadable without fix) vs ADVISORY (cosmetic improvements).
Ask: "May I write this RTL check report to production/localization/rtl-check-[date].md?"
String freeze locks the source (English) string table so that translations can proceed without the source changing under the translators.
Check current freeze status in production/localization/freeze-status.md (if it exists).
If already frozen:
"String freeze is currently ACTIVE (called [date]). [N] strings have been added or modified since freeze. These are freeze violations — they require re-translation or an approved freeze lift."
If not frozen, present the pre-freeze checklist:
Pre-Freeze Checklist
[ ] All planned UI screens are implemented
[ ] All dialogue lines are final (no further narrative revisions planned)
[ ] All system strings (error messages, tutorial text) are complete
[ ] /localize scan shows zero hardcoded strings
[ ] /localize validate shows no placeholder mismatches in source (en)
[ ] Marketing strings (store description, achievements) are finalUse AskUserQuestion:
production/localization/freeze-status.md (Status: ACTIVE) and locks the source table."[A] Yes — call string freeze now / [B] No — I still have strings to addIf [A]: Write production/localization/freeze-status.md:
# String Freeze Status
**Status**: ACTIVE
**Called**: [date]
**Called by**: [user]
**Total strings at freeze**: [N]
## Post-Freeze Changes
[Any strings added or modified after freeze are listed here automatically by /localize extract]If argument includes lift: ask "May I update freeze-status.md to LIFTED?", then set its Status to LIFTED and record the reason and date. Warn: "Lifting the freeze requires re-translation of all modified strings. Notify the translation team."
When extract mode finds new or modified strings and freeze-status.md shows Status: ACTIVE — name freeze-status.md in extract's own "May I write" question, append the new keys to its ## Post-Freeze Changes on approval, and warn:
"⚠️ String freeze is active. [N] new/modified strings have been added. These are freeze violations. Notify your localization vendor before proceeding."
Localization QA is a dedicated pass that runs after translations are delivered but
before any locale ships. This is not the same as /localize validate (which checks
completeness) — this is a structured playthrough-based quality check.
Spawn localization-lead via Agent with:
design/gdd/ or /content-audit output)/localize validate reportAsk the localization-lead to produce a QA plan covering:
Output a QA verdict per locale:
## Localization QA Verdict — [Locale]
**Status**: PASS / PASS WITH CONDITIONS / NOT ASSESSED / FAIL
**Reviewed by**: localization-lead
**Date**: [date]
### Findings
| ID | Area | Description | Severity | Status |
|----|------|-------------|----------|--------|
| LOC-001 | UI Overflow | "Settings" button text overflows on [Screen] | BLOCKING | Open |
| LOC-002 | Translation | [Key] translation is literal — sounds unnatural | ADVISORY | Open |
### Conditions (if PASS WITH CONDITIONS)
- [Condition 1 — must resolve before ship]
### Sign-Off
[ ] All BLOCKING findings resolved
[ ] Producer approves shipping [Locale]First match wins: FAIL if any BLOCKING finding is open; else NOT ASSESSED if a check could not run — the checks are playthrough-based, so a locale nobody has played in-game (or whose translations were not delivered) cannot pass on the string tables alone; name each check that did not run; else PASS WITH CONDITIONS if conditions remain; else PASS. NOT ASSESSED outranks both pass values — an unplayed locale has not passed — and ranks below FAIL, so an open BLOCKING finding is never buried behind it.
Ask: "May I write this localization QA report to production/localization/loc-qa-[locale]-[date].md?"
Gate integration: At workflow: full, the Polish → Release gate requires a PASS or PASS WITH CONDITIONS verdict for every translated locale being shipped (recommended at standard; dropped at minimal). A FAIL blocks release for that locale only — other locales may still proceed if their QA passes. A NOT ASSESSED locale has not passed: its QA did not run.
context field with translator notes, character limits, and placeholder meaning/localize scan → find hardcoded strings
/localize extract → build string table
/localize freeze → lock source before sending to translators
/localize brief → generate translator briefing document
[Send to translators]
/localize validate → check returned translations
/localize cultural-review → flag culturally sensitive content
/localize rtl-check → if shipping Arabic / Hebrew / Persian
/localize vo-pipeline → if shipping dubbed VO
/localize qa → full localization QA passAfter qa returns PASS or PASS WITH CONDITIONS for every translated locale you ship, include the QA report paths when running /gate-check release.
© Donchitos, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/localize of Donchitos/Claude-Code-Game-Studios.
Open the folder on GitHubat commit b21fa0f
Localize 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Localize this skillDonchitos/Claude-Code-Game-Studios | 26k | — | ~5.2k | Automated safety check: Notes | MIT | |
| Localizationjame581/GodotPrompter | 792 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Impeccablebestofjs/bestofjs | 3.1k | 27 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Chatbox i18n Translatorchatboxai/chatbox | 42k | — | ~508 | Automated safety check: Pass | GPL-3.0 | |
| Internationalization Workflow with i18niOfficeAI/AionUi | 33k | 1 repos | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Enforce Rules For I18nmoeru-ai/airi | 50k | — | ~1.5k | Automated safety check: Pass | MIT |
jame581/GodotPrompter
A skill your agent uses when implementing localization (i18n/l10n) — TranslationServer, CSV/PO translation files, locale switching, RTL support, and pluralization in Godot 4.3+
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
chatboxai/chatbox
Translates new or changed i18n keys from a Chatbox Pro diff, staged changes or a commit range, writing the locale JSON files directly with a built-in glossary.
iOfficeAI/AionUi
Standards for keeping all user-facing text translatable: read the i18n config first, use namespaced keys, reuse shared strings and follow the key naming rules.
moeru-ai/airi
Review pending AIRI translations on Crowdin in a batch, then sync them into the repository.
javaht/claude-desktop-zh-cn
Adds missing Simplified and Traditional Chinese translations to the Claude Desktop Chinese patch across three layers, then checks how many mappings actually hit.
Donchitos/Claude-Code-Game-Studios
Audits game assets against naming conventions, file size budgets and format standards, and finds orphaned assets and missing references.
Donchitos/Claude-Code-Game-Studios
Writes per-asset visual specs and AI image-generation prompts for a game's characters, enemies and screens, driven by the GDD, art bible and an entity inventory.
Donchitos/Claude-Code-Game-Studios
Checks game data and formulas for balance outliers, broken progression, degenerate strategies and economy problems, and answers 'could not run' when the data is missing.
Donchitos/Claude-Code-Game-Studios
Turns a description into a structured bug report, or scans code for likely bugs, then verifies and closes reports through four modes.
Donchitos/Claude-Code-Game-Studios
Reviews the open bug backlog, separates severity from priority, assigns fixes to sprints and reports systemic trends, writing a dated triage file.
Donchitos/Claude-Code-Game-Studios
Generates an internal or player-facing changelog from git commits and sprint data, filtering out framework maintenance commits so that only work on the game itself reaches release copy.
Categories
Localization pipeline — find hardcoded strings, extract string tables, cultural review, VO, RTL, enforce string freeze. Localize is an agent skill from Donchitos/Claude-Code-Game-Studios. Localization pipeline — find hardcoded strings, extract string tables, cultural review, VO, RTL, enforce string freeze.
Localize fits situations like: tasks that involve Internationalization.
Run `npx skills add Donchitos/Claude-Code-Game-Studios --skill localize -a claude-code`. Or copy the skill folder (.claude/skills/localize in Donchitos/Claude-Code-Game-Studios) into .claude/skills/localize in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Donchitos/Claude-Code-Game-Studios --skill localize -a codex`. Or copy the skill folder (.claude/skills/localize in Donchitos/Claude-Code-Game-Studios) into .agents/skills/localize in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Donchitos/Claude-Code-Game-Studios --skill localize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/localize, .gemini/skills/localize, .github/skills/localize and .opencode/skills/localize in your project.
Going by SKILL.md and its folder, Localize needs the command-line tools its instructions call (bash). Its frontmatter pre-approves these tools: Read, Glob, Grep, Write, Bash, Agent, AskUserQuestion, Bash(bash "*/.claude/skills/localize/../../hooks/yaml-helper.sh" resolve_config *).
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.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Localize is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.2k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Localize: Localization (jame581/GodotPrompter, 792 stars), Impeccable (bestofjs/bestofjs, 3.1k stars), Chatbox i18n Translator (chatboxai/chatbox, 42k stars) and Internationalization Workflow with i18n (iOfficeAI/AionUi, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Donchitos (a GitHub user) maintains it in Donchitos/Claude-Code-Game-Studios, which has 25,834 GitHub stars. The repository holds 73 skills in this directory. The repository was last updated on September 29, 2026.
Source: Donchitos/Claude-Code-Game-Studios on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.