Agent skill

I18n Completer

by ShiinaLabs in 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.

Apache-2.0Auto-check passedFrontend & Design

Install I18n Completer

skills CLI
$ npx skills add ShiinaLabs/wifi-lens --skill i18n-completer -a claude-code

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

GitHub CLI
$ gh skill install ShiinaLabs/wifi-lens i18n-completer --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/ShiinaLabs/wifi-lens.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/i18n-completer .claude/skills/i18n-completer && 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
i18n-completer
GitHub stars
119
Token cost
~595 tokens
SKILL.md length
163 words
Files
4 (incl. scripts, references)
Skills in repo
2
Repo updated
First seen
Licence
Apache-2.0

At a glance

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.

  • Works in 6 steps: Scan for gaps → Read source strings → Load glossary (if exists) → …
  • Adding translations in .xcstrings files
  • SKILL.md covers Core Principle, Workflow and Glossary Format
  • Runs Python scripts from its folder; calls python3

What it does

I18n Completer is an agent skill from ShiinaLabs/wifi-lens. Use when checking, completing, fixing, or adding translations in .xcstrings files, especially when localizations are missing or glossary terminology must be enforced.

Its SKILL.md is about 600 tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/LOCALIZATION_TERMS.md`, `scripts/apply_i18n.py` and `scripts/scan_i18n.py`).

It sits in Frontend & Design, covering Internationalization and Translation. It works with macOS and SwiftUI. The repository describes itself as: Native open-source network diagnostics app for macOS with built-in Wi-Fi analysis. The licence is Apache-2.0.

When your agent uses it

  • Adding translations in .xcstrings files
  • Especially when localizations are missing
  • Glossary terminology must be enforced

Example prompts

  • “/i18n-completer”

Requirements

  • Python 3

Workflow steps

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

  1. Scan for gaps
  2. Read source strings
  3. Load glossary (if exists)
  4. Generate translations
  5. Write via script
  6. Verify

What it can do on your machine

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

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    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

I18n Completer loads about 595 tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 45 tokens; SKILL.md has 163 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~595
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.5k

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); the scripts in this folder are not scanned.

SKILL.md

The full file from ShiinaLabs/wifi-lens at commit 48e9fba, republished under its Apache-2.0 licence (© ShiinaLabs). 163 words, ~595 tokens.

Download SKILL.mdSave it as .claude/skills/i18n-completer/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
i18n-completer
description
Use when checking, completing, fixing, or adding translations in .xcstrings files, especially when localizations are missing or glossary terminology must be enforced.

i18n Completer

Core Principle

LLM does not read or write .xcstrings directly. All file operations go through scripts. The LLM's role is only to generate translation pairs.

Workflow

1. Scan for gaps
bash
python3 .agents/skills/i18n-completer/scripts/scan_i18n.py <xcstrings_path>

Options: --glossary <path>, --source-lang <lang>, --json

2. Read source strings

Get the English values for missing keys without loading the full file:

bash
python3 -c "
import json
with open('<xcstrings_path>') as f:
    data = json.load(f)
keys = <list of missing keys from scan output>
for k in keys:
    en = data['strings'][k].get('localizations',{}).get('en',{}).get('stringUnit',{}).get('value','')
    print(f'{k} = {en}')
"
3. Load glossary (if exists)

Read references/LOCALIZATION_TERMS.md to follow project terminology.

4. Generate translations

Produce a JSON object mapping keys to language-code/value pairs:

json
{
  "key.name": {
    "de": "German translation",
    "es": "Spanish translation"
  }
}

Translation rules:

  • Follow glossary terms strictly
  • Keep parameterized placeholders (%@, %lld, %1$@) exactly as in source
  • Follow target language punctuation (… not ... for ja/zh-Hans)
  • Match existing tone and style in the target language
5. Write via script

Pipe the JSON to the apply script:

bash
cat <<'EOF' | python3 .agents/skills/i18n-completer/scripts/apply_i18n.py <xcstrings_path> --from -
{
  "key.name": {
    "de": "...",
    "es": "..."
  }
}
EOF

Or save to a temp file first:

bash
python3 .agents/skills/i18n-completer/scripts/apply_i18n.py <xcstrings_path> --from /tmp/translations.json

Single key shortcut:

bash
python3 .agents/skills/i18n-completer/scripts/apply_i18n.py <xcstrings_path> --set KEY --lang ja --value "翻訳"

Options: --dry-run to preview, --source-lang <lang>

6. Verify

Re-run scan to confirm no gaps remain.

Glossary Format

Markdown table with at least two columns. See references/LOCALIZATION_TERMS.md.

EnglishTarget Language Term
channel信道
scan扫描

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

Files

SKILL.md and 3 other files (scripts, references) in .agents/skills/i18n-completer of ShiinaLabs/wifi-lens.

  • SKILL.md
  • references/LOCALIZATION_TERMS.md
  • scripts/apply_i18n.py
  • scripts/scan_i18n.py

Open the folder on GitHubat commit 48e9fba

Compare with similar skills

I18n Completer 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.

I18n Completer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
I18n Completer this skillShiinaLabs/wifi-lens119—~595Automated safety check: PassApache-2.0
cmux Localization Rulesmanaflow-ai/cmux28k1 repos~1.3kAutomated safety check: PassCustom licence
iOS Patternshanamizuki/solopreneur152—~2.3kAutomated safety check: NotesMIT
Localization Setuprshankras/claude-code-apple-skills787—~1.4kAutomated safety check: NotesMIT
Localization Strategygustavscirulis/snapgrid1161 repos~5.8kAutomated safety check: PassCustom licence
Chatbox i18n Translatorchatboxai/chatbox42k—~508Automated safety check: PassGPL-3.0

Similar skills

  • cmux Localization Rules

    manaflow-ai/cmux

    Rules and a helper script for localizing every user-facing string in cmux, covering Swift catalog entries, English web messages and the checks that validate translations.

    28k GitHub starsUsed in 1 repo~1.3k tokens
    DevelopmentAuto-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 13 days ago
    Frontend & DesignAuto-check: notes
  • Localization Setup

    rshankras/claude-code-apple-skills

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

    787 GitHub stars~1.4k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check: notes
  • Localization Strategy

    gustavscirulis/snapgrid

    Localization and internationalization strategy for iOS/macOS apps.

    116 GitHub starsUsed in 1 repo~5.8k tokens
    Frontend & DesignAuto-check passed
  • Chatbox i18n Translator

    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.

    42k GitHub stars~508 tokensUpdated 15 days ago
    Frontend & DesignAuto-check passed
  • 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.

    33k GitHub starsUsed in 1 repo~1.9k tokens
    Frontend & DesignAuto-check passed

More from ShiinaLabs/wifi-lens

  • Verify Build

    ShiinaLabs/wifi-lens

    A skill your agent uses when a change touches the WiFi Lens product itself (Swift app source, unit tests) before claiming that work is complete, before committing such a change, or when asked to…

    119 GitHub stars~827 tokensUpdated today
    Auto-check passed

Works with

Questions about I18n Completer

What does I18n Completer do?

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. I18n Completer is an agent skill from ShiinaLabs/wifi-lens.xcstrings files, especially when localizations are missing or glossary terminology must be enforced.

When should I use I18n Completer?

I18n Completer fits situations like: adding translations in .xcstrings files; especially when localizations are missing; glossary terminology must be enforced.

How do I install I18n Completer in Claude Code?

Run `npx skills add ShiinaLabs/wifi-lens --skill i18n-completer -a claude-code`. Or copy the skill folder (.agents/skills/i18n-completer in ShiinaLabs/wifi-lens) into .claude/skills/i18n-completer in your project. Claude Code loads it when a task matches its description.

How do I install I18n Completer in Codex?

Run `npx skills add ShiinaLabs/wifi-lens --skill i18n-completer -a codex`. Or copy the skill folder (.agents/skills/i18n-completer in ShiinaLabs/wifi-lens) into .agents/skills/i18n-completer in your project. Codex loads it when a task matches its description.

Can I use I18n Completer 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 ShiinaLabs/wifi-lens --skill i18n-completer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/i18n-completer, .gemini/skills/i18n-completer, .github/skills/i18n-completer and .opencode/skills/i18n-completer in your project.

What does I18n Completer need to run?

Going by SKILL.md and its folder, I18n Completer needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does I18n Completer 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 I18n Completer 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does I18n Completer use?

I18n Completer is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does I18n Completer use?

About 595 tokens (SKILL.md is roughly 2.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.9k tokens, read only when the agent opens those files.

What are the alternatives to I18n Completer?

Skills that share tags, products or a category with I18n Completer: cmux Localization Rules (manaflow-ai/cmux, 28k stars), iOS Patterns (hanamizuki/solopreneur, 152 stars), Localization Setup (rshankras/claude-code-apple-skills, 787 stars) and Localization Strategy (gustavscirulis/snapgrid, 116 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains I18n Completer?

ShiinaLabs (a GitHub organization) maintains it in ShiinaLabs/wifi-lens, which has 119 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 10, 2026.

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