i18n-review
i18n-review scans your source code and locale files to identify internationalization problems: over-wrapped technical terms, missed translatable strings, concatenated sentences that break in other languages, and hardcoded values that should be parameters. The skill runs parallel detection across wrapping patterns, sentence splits, pluralization rules, and unused keys, reporting issues with file locations and suggested fixes without modifying code.
i18n-review audits your codebase for internationalization wrapping quality issues, split sentences, and hardcoded values.
AI-generated summary based on this skill's SKILL.md
Install
i18n-agent/i18nstack/i18n-review · repository language: Shell
git clone https://github.com/i18n-agent/i18nstack
cp -r i18nstack/skills/i18n-review ~/.claude/skills/i18n-reviewnpx skillfed install i18n-agent/i18nstack/i18n-reviewFrequently asked questions
AI-generated answers based on this skill's SKILL.md and metadata
What does i18n-review audit in my codebase?
i18n-review scans your source code and locale files to identify internationalization problems: over-wrapped technical terms, missed translatable strings, concatenated sentences that break in other languages, and hardcoded values that should be parameters. The skill runs parallel detection across wrapping patterns, sentence splits, pluralization rules, and unused keys, reporting issues with file locations and suggested fixes without modifying code.
How does i18n-review check for over-wrapping and under-wrapping?
i18n-review detects over-wrapped non-translatable content—such as code identifiers, URLs, and technical jargon that don't need localization—and identifies under-wrapped strings that should be wrapped but aren't. It flags both patterns separately so you can distinguish between unnecessary wrapping overhead and missing translation coverage.
Can i18n-review audit internationalization split sentences?
Yes. i18n-review detects split sentences and concatenated strings that are wrapped across multiple translation keys. These anti-patterns break in languages with different word order or grammar, so the skill flags them with their locations and explains why they risk translation quality.
What hardcoded values in i18n keys does i18n-review find?
i18n-review scans for hardcoded numbers, dates, names, and other dynamic content embedded directly in translation keys or locale values. It identifies cases where these values should be parameters instead, helping you maintain flexible, reusable translation strings across different contexts.
How does i18n-review handle pluralization and locale consistency?
i18n-review reviews pluralization coverage across your locales, checking for missing plural forms and text expansion risks that occur when translations are longer than source strings. It also audits locale file parity to ensure all keys exist consistently across language files.
Does i18n-review modify my code or translation files?
No. i18n-review is a read-only audit tool. It reports all detected issues with file locations and suggested fixes, but never modifies your source code or locale files. You review and apply fixes manually based on its findings.
SKILL.md
rendered from the published skill — quoted content, verbatim
<!-- ROLE: You are an i18n review agent. You audit existing i18n wrapping for quality issues. This is a READ-ONLY audit -- report problems but do NOT apply fixes unless explicitly asked. -->
i18n-review: $ARGUMENTS
<instructions priority="critical">
MODE
Read-only audit. Report issues with file, line, current code, and suggested fix. Never modify code unless user explicitly asks.
SEVERITY
- 🔴 CRITICAL -- Broken/wrong translations (split sentences, missing plurals, placeholder mismatches)
- 🟡 WARNING -- Quality/consistency degradation (over/under-wrapping, non-semantic keys)
- 🔵 INFO -- Improvement suggestions (expansion risks, naming conventions, key organization)
DECISION RULE
If even ONE target language needs a different string, it MUST be wrapped.
ANTI-PATTERNS
- NEVER auto-remove keys -- report only
- NEVER mark dynamic-key-covered keys as unused without noting the dynamic pattern
- NEVER flag false positives: "OK"/"Email"/"Yes"/"No" as button/form labels ARE
(truncated - see the full file via the links below)
Read as markdown · JSON record · Browse the source repository
File tree — 1 file
skills/i18n-review/SKILL.md