CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

i18n

Internationalization (i18n) workflow and standards for managing translations. Use when: (1) Adding new user-facing text, (2) Creating new components with user-facing text, (3) Reviewing code for i18n compliance, (4) Adding a new translation module.

Quality

80%

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 ./.claude/skills/i18n/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

88%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 a strong, highly actionable workflow: concrete commands, explicit validation with feedback loops, and useful mistake/checklist tables, with no filler or generic-concept explanation. Its main weaknesses are mild repetition of the 'read the config first' rule and a fully inlined structure that could offload reference material (e.g., the zh-TW term table) to a separate file.

DimensionReasoningScore

Conciseness

The body is dense with project-specific facts (file paths, commands, naming rules, mistake tables) and never explains generic i18n concepts Claude already knows. Minor redundancy keeps it from a 5: the 'read i18n-config.json first / never assume a fixed number of languages' instruction is repeated in the intro, Step 1, Key Facts, the checklist, and the mistakes table.

4 / 5

Actionability

Fully executable throughout: concrete `cat`/`grep` commands, ordered `bun run i18n:types` then `node scripts/check-i18n.js` validation, copy-paste-ready TSX and JSON examples, and bad/good code pairs. The only trivial blemish is inconsistent path prefixes (`src/common/config/...` vs `packages/desktop/src/...`), which does not undermine executability.

5 / 5

Workflow Clarity

The 'Adding New Text' workflow is a clearly sequenced 6-step process with an explicit validation checkpoint (Step 6), error-recovery feedback ('If check-i18n.js exits with errors (❌), fix them before proceeding'), a hard gate ('Never commit with a stale i18n-keys.d.ts'), and a final checklist; the batch operation of adding keys to every locale is backed by a CI-validating script. This matches the anchor-5 example's validate-fix-retry pattern.

5 / 5

Progressive Disclosure

The skill is a single self-contained file with clear, well-ordered sections and no nested or buried references, and nearly all content is operationally relevant to the workflow rather than bulk reference material. It falls short of anchor 5 because at ~240 lines everything is inlined — reference-style content such as the zh-TW term-conversion table could live in a separate reference file with a well-signaled link.

4 / 5

Total

18

/

20

Passed

Description

65%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 has a strong, explicit 'Use when' trigger list and good natural keywords, but the capability statement is generic — it says the skill is a 'workflow and standards' without naming what it actually does. Adding one or two concrete actions (e.g., adding translation keys across all locales, regenerating types, validating with a check script) would raise both specificity and completeness.

Suggestions

Replace the generic 'workflow and standards for managing translations' with concrete actions, e.g., 'Add translation keys to every locale, regenerate i18n type definitions, and validate translations with the check-i18n script.'

Include natural synonyms such as 'localization', 'locales', or 'new languages' in the description or Use when list so users phrasing the need differently still trigger the skill.

Consider narrowing trigger (2) — 'Creating new components with user-facing text' — to reduce overlap with general component-creation work, e.g., 'Creating new components that render user-facing text'.

DimensionReasoningScore

Specificity

The description names the domain ("Internationalization (i18n) workflow and standards") but the only stated action is the generic "managing translations" — no concrete capabilities like adding keys to all locales, regenerating type definitions, or validating translations are listed. It matches anchor 2 ('names the domain but actions are minimal or generic') rather than 3, which requires 1-2 concrete actions.

2 / 5

Completeness

Both parts are present: a 'what' ("workflow and standards for managing translations") and an explicit numbered "Use when:" list with four triggers. Falls short of anchor 5 because the 'what' is high-level and lacks concrete capability statements.

4 / 5

Trigger Term Quality

Includes natural terms users would say: "Internationalization", "i18n", "translations", "user-facing text", and "i18n compliance". Not a 5 because common synonyms such as "localization", "locales", or "languages" are missing.

4 / 5

Distinctiveness Conflict Risk

The i18n/translation niche is clearly distinct with specific triggers ("Reviewing code for i18n compliance", "Adding a new translation module"). Minor overlap risk remains because "Creating new components with user-facing text" is broad enough to fire during general UI-component work.

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

referenced_paths_exist

Referenced path issues: 4 missing

Warning

Total

15

/

16

Passed

Repository

iOfficeAI/AionUi

Path

.claude/skills/i18n/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.