Skip to content

Guide · Agent skill

How to use the Localization Pipeline agent skill (localize)

Updated · written with AI from the project's own documentation and checked against our catalogue data

The localize skill teaches an AI agent to run a localization workflow for a video game, which means getting the project ready so it can be translated into other languages. This guide explains what the skill does, how to install it, how to call it with a mode, and what it needs. By the end you will know which mode to run first and which ones change files.

Localization PipelineDonchitos/Claude-Code-Game-Studios · MIT

Quick start

  1. 1Download the ZIP. Download the localize ZIP from this page. It is MIT licensed and contains SKILL.md.
  2. 2Install the skill. Unzip it into ~/.claude/skills/ for all projects, or into the project's .claude/skills/ folder. In the Claude apps, upload the ZIP under Settings → Capabilities → Skills.
  3. 3Confirm prerequisites. Make sure the project has source code, a string table in assets/data/strings/, and a bash-compatible shell.
  4. 4Run a read-only check. Run /localize scan to list hardcoded strings with file paths and line numbers. Nothing is written.
  5. 5Draft new keys. Run /localize extract, review the diff, and approve it. Only new entries are written to strings-en.json.
  6. 6Check coverage. After translations arrive, run /localize validate and /localize status to find gaps and stale entries.

What the localize skill makes the agent do

A skill is a set of instructions, packaged as a SKILL.md file, that an AI agent loads when you ask for that kind of work. This one covers the full localization pipeline for a game, from finding text that is not ready for translation through to a QA pass before release.

The skill has ten modes: scan, extract, validate, status, brief, cultural-review, vo-pipeline, rtl-check, freeze and qa. Each mode has a narrow job, so you can run a single check or the whole cycle.

  • scan finds hardcoded strings and localization anti-patterns in source code. It is read-only.
  • extract compares source code against the string table in assets/data/strings/ and drafts new keyed entries with translator context.
  • validate checks translations for missing entries, placeholder mismatches, length problems, plural forms, orphaned keys and stale translations. It is read-only.
  • status produces a coverage matrix per locale. It is read-only.
  • brief writes a translator context document for an external team.
  • cultural-review, vo-pipeline, rtl-check, freeze and qa cover cultural sensitivity, voice-over, right-to-left layout, string freeze and the full release QA cycle.

Install the localize skill

Download the localize ZIP from this page. The skill is MIT licensed and its folder contains a SKILL.md file. You can install it in one of two ways.

For Claude Code, unzip the download into ~/.claude/skills/ to make it available in all your projects, or into .claude/skills/ inside one project to limit it to that project. For the Claude apps, open Settings, then Capabilities, then Skills, and upload the ZIP there.

  • Personal install: unzip into ~/.claude/skills/
  • Project install: unzip into the project's .claude/skills/ folder
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP

Check what the skill needs before you run it

The skill needs Claude Code or a compatible SKILL.md agent, a game project with source code, and a string table in assets/data/strings/. It also uses a bash-compatible shell, because it calls the yaml-helper.sh configuration script to read settings.

Without a string table or game source code, the skill does not produce useful results. It reports NOT ASSESSED instead. Treat that as a missing prerequisite, not as a clean result.

  • Claude Code or a compatible SKILL.md agent
  • A game project with source code
  • A string table in assets/data/strings/
  • A bash-compatible shell for yaml-helper.sh

Trigger the skill with a mode

Invoke the skill with /localize followed by one mode name. If you give no mode, the skill prints its usage list and stops, so pick a mode first. The first run is usually scan, because it shows where the code is not yet ready for translation.

Scan only reports findings. Extract is the mode that proposes changes, and it asks before writing anything. Brief writes a file into production/localization/, named with the locale and date.

  • Start with /localize scan to find hardcoded text
  • Use /localize extract to draft keys for untracked strings, then approve the diff
  • Use /localize validate after translators return files
  • Use /localize status for a coverage table per locale
  • Use /localize brief when you need a document for a translation vendor
/localize scan

Example workflow for a project preparing a second language

Suppose you are adding French and German to a game that has a string table but few keys yet. Run scan first and review the file paths and line numbers it reports. Strings it flags should be wrapped in a localization function before extraction.

Next run extract. The skill generates new entries following the convention category.subcategory.description, each with a context field that gives the translator the screen, the maximum length and any placeholder meaning. You then approve the diff, and only the new entries are written to assets/data/strings/strings-en.json.

Once translators have supplied files, run validate and then status. Use the status matrix to see what is missing or stale. Run brief for the vendor, and run rtl-check or qa before sign-off.

Safety notes: scripts and network

The skill runs a script. Its configuration is read through yaml-helper.sh using a bash command, and the skill's permissions limit that command to the resolve_config call. Read the script before you install the skill if your environment requires it.

The skill does not use the network. Most modes only read files. The files it can write are the new entries in the string table after your approval and the brief document in production/localization/.

  • Runs scripts: yes, through yaml-helper.sh
  • Uses network: no
  • Read-only modes: scan, validate, status
  • Writes only after approval: extract
  • Writes a file: brief

Tips for getting reliable results

The skill can only report on code it can find. If it says the code root is unresolved, it reports NOT ASSESSED rather than zero hits, which means a clean report from an unresolved root does not mean nothing needs localizing. Check that the project layout is what the skill expects before you trust the output.

The agent flags issues and drafts context, but it does not replace a professional translator or a native reviewer. Use cultural-review and the translator brief as inputs to human review.

  • Keep string keys in the category.subcategory.description format so extraction stays consistent
  • Give every string a clear context entry, because validate checks length against it
  • Run freeze before translation starts so later source changes show up as freeze violations in status
  • Treat NOT ASSESSED as a missing prerequisite, not a pass

What people use it for

  • A game developer scanning an existing project for text that is hardcoded and not ready for translation.
  • A localization lead generating a coverage matrix to see which locales are behind before a release.
  • A producer creating a translator brief for an external vendor, using the game design documents and string table.
  • A QA team running the qa cycle as a checklist before a localized build ships.
  • A developer checking a right-to-left language such as Arabic or Hebrew with rtl-check for mirroring and font support.

Frequently asked questions

How do I install the localize agent skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps, upload the ZIP under Settings → Capabilities → Skills.

Is the localize skill free to use?

The skill is published under the MIT licence, which is stated on this page. Check the licence file in the repository for the full terms.

What does the localize skill need to run?

It needs Claude Code or a compatible SKILL.md agent, a game project with source code, a string table in assets/data/strings/, and a bash-compatible shell for the yaml-helper.sh script. Without a string table or source code it reports NOT ASSESSED.

Does the localize skill change my files?

Scan, validate and status are read-only. Extract asks you before writing new entries to strings-en.json, and brief writes a translator document to production/localization/.

Can the localize skill replace a professional translator?

No. The skill flags issues and drafts context, but a human translator and a native reviewer are still needed for quality and cultural accuracy.

What should I use instead if my project has no string table?

The skill cannot do useful work without a string table or game source code, so you need to create a string table first. Whether another tool fits better depends on your engine, which this page does not cover.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

The localize skill suits game developers, localization leads and QA teams who want a checklist-style pass over a project before a multi-language release. It is a poor fit for projects with no string table or source code, and it does not replace human translation or native review.

Download the skill