CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

i18n-localization

Internationalization and localization patterns. Detecting hardcoded strings, managing translations, locale files, RTL support.

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/i18n-localization/SKILL.md

The canonical home for this skill is i18n-localization in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

61%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is well-organized with genuinely executable code and a working checker script, but it reads as a topical cheat sheet rather than a skill: it re-explains basics Claude knows, ends with a filler sentence, and never sequences its own tooling into a validate-and-fix workflow. Trimming the known-concept material and wiring the checker into an explicit loop would lift most dimensions.

Suggestions

Delete the 'Core Concepts' table (i18n/L10n/RTL definitions Claude already knows) and the filler closing 'When to Use' sentence, which states nothing actionable.

Add a sequenced workflow with a feedback loop, e.g.: 1. Run 'python scripts/i18n_checker.py <project_path>' 2. Replace flagged strings with translation keys 3. Add entries to locales/<lang>/*.json 4. Re-run the checker until it reports zero hardcoded strings.

Add one concrete ICU pluralization example and a sample locale JSON (key/value pairs) to back the 'Use ICU message format' and file-structure guidance, ideally in a references/ file to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The 'Core Concepts' table defines i18n/L10n/RTL — concepts Claude already knows — and the closing 'When to Use: This skill is applicable to execute the workflow or actions described in the overview.' is pure filler. Most other sections (code examples, file structure, RTL CSS, checklist, script table) are tight, so this is mostly efficient with some unnecessary content, matching anchor 3 rather than 2's 'several padded sections'.

3 / 5

Actionability

Executable snippets are provided for react-i18next, next-intl, Python gettext, and RTL-safe CSS logical properties, plus a verified runnable command 'python scripts/i18n_checker.py <project_path>'. Minor gaps keep it below anchor 5: no sample locale JSON key/value content, and 'Use ICU message format' is recommended without a pluralization example.

4 / 5

Workflow Clarity

Sections are topical rather than a sequenced process: there is no explicit flow such as run the checker → replace flagged strings with keys → add locale entries → re-run until clean. The 'Checklist — Before shipping' and the issue→solution table provide implicit checkpoints, but validation via the checker script is never wired into a fix-and-retry loop, matching anchor 3's 'sequence present but checkpoints missing or implicit'.

3 / 5

Progressive Disclosure

The ~150-line body is cleanly sectioned and the single bundle file (scripts/i18n_checker.py, verified to exist and match its stated purpose) is clearly signaled in a table with path and command — one level deep. It falls short of anchor 5 because everything else is inline with no navigation to deeper material (e.g., per-framework setup or ICU syntax could live in references/), but structure and signaling are clearly above anchor 3.

4 / 5

Total

14

/

20

Passed

Description

61%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description identifies a clear niche with good natural trigger terms, but it is a topic list rather than an action inventory, and it omits any 'when to use' guidance. Adding an explicit 'Use when...' clause and the i18n/L10n abbreviations users commonly type would raise it substantially.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user mentions translations, locales, RTL, i18n/L10n, or wants to remove hardcoded strings from a codebase.'

Convert topic nouns into concrete actions: replace 'managing translations, locale files, RTL support' with verbs like 'extract hardcoded strings into translation keys, set up locale file structures, and apply RTL-safe CSS logical properties'.

Include the common abbreviations and synonyms (i18n, L10n, multi-language, translate the app) so the description matches how users actually phrase the request.

DimensionReasoningScore

Specificity

"Detecting hardcoded strings" is the one clearly concrete action; "managing translations, locale files, RTL support" are topic nouns rather than performed actions. It names the domain plus 1-2 concrete actions but is not comprehensive, matching anchor 3 rather than 4, which requires several specific listed actions.

3 / 5

Completeness

The 'what' is clear (detecting hardcoded strings, managing translations/locale files/RTL), but there is no 'Use when...' clause or equivalent trigger guidance, capping completeness at 3 per the judging guidelines. Not 4 because the 'when' is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

Natural terms users would say are present: "Internationalization", "localization", "translations", "locale files", "RTL", "hardcoded strings". It falls short of anchor 5 because widely-used synonyms/abbreviations like "i18n", "L10n", and "multi-language" are missing, but coverage exceeds anchor 3's 'some relevant keywords'.

4 / 5

Distinctiveness Conflict Risk

The i18n niche with distinct terms like "locale files", "RTL support", and "translations" is mostly distinguishable from other skills; minor overlap risk comes from "Detecting hardcoded strings", which could also match linting/code-quality skills. Not 5 due to that overlap; clearly more specific than anchor 3's generic 'works with document files' level.

4 / 5

Total

14

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/i18n-localization/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.