CtrlK
BlogDocsLog inGet started
Tessl Logo

translate

Adding, changing or translating interface strings in the SurfSense desktop app (surfsense_local). Use when adding a message to the code, moving hard-coded UI text into messages, translating into every language in LOCALES, or adding a language. Owns the key shape, the tone per language and the glossary.

75

Quality

94%

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

SKILL.md
Quality
Evals
Security

Quality

Content

96%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.

An exceptionally dense, fully executable skill: every rule is project-specific, each workflow ends in an explicit validation checkpoint with a feedback loop, and references are cleanly signaled one level deep. The single weakness is that the referenced glossary.md is missing from the bundle.

Suggestions

Ship glossary.md alongside SKILL.md — the body requires translators to follow it and mandates that recurring new terms be added there ("A new term that will recur goes into glossary.md in the same change"), but the file is absent from the bundle.

DimensionReasoningScore

Conciseness

Every line is a non-obvious project rule (key shape, ICU skeletons, per-language register, apostrophe escaping) with zero padding; it never explains what FormatJS or ICU MessageFormat is, fully assuming Claude's competence.

5 / 5

Actionability

Copy-paste-ready commands throughout ("pnpm translations", "pnpm translations:verify", "node scripts/check_translations.mjs", the git-diff bash block) plus exact code patterns like intl.formatMessage({ id: "sources_list_empty", defaultMessage: "No sources yet" }) and concrete ICU examples ({count, plural, one {# document} other {# documents}}).

5 / 5

Workflow Clarity

Three workflows (Adding English, Translating, Adding a language) are each a clear numbered sequence ending in explicit validation ("Stop and fix on any failure; do not commit around it", pre-commit hooks, pnpm test), providing a validate→fix→retry feedback loop for the batch translation operation.

5 / 5

Progressive Disclosure

Sections are well organized with clearly signaled one-level references ([glossary.md](glossary.md), docs/architecture/localization.md, ADR 0017), but the referenced glossary.md is not present in the bundle even though the body directs translators to it ("Follow the tone below and glossary.md"). Minor structural gap, so anchor 4 fits better than 5.

4 / 5

Total

19

/

20

Passed

Description

92%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 is exemplary: it names concrete actions, gives an explicit 'Use when' clause with multiple trigger scenarios, and delimits ownership to avoid conflicts. Its only gap is the absence of common synonyms such as 'localization' or 'i18n' that a user might naturally say.

DimensionReasoningScore

Specificity

"Adding, changing or translating interface strings", "moving hard-coded UI text into messages", and "adding a language" are multiple specific concrete actions covering the skill's full scope, matching the comprehensive-coverage anchor.

5 / 5

Completeness

"Adding, changing or translating interface strings in the SurfSense desktop app (surfsense_local)" states the what, and "Use when adding a message to the code, moving hard-coded UI text into messages, translating into every language in LOCALES, or adding a language" explicitly states the when with concrete trigger phrases — exactly the anchor-5 pattern.

5 / 5

Trigger Term Quality

Natural phrases a user would say are present ("translating", "hard-coded UI text", "adding a message", "adding a language"), but common synonyms like "localization" or "i18n" are missing. Fits anchor 4 (good coverage, a few natural terms missing) rather than 5.

4 / 5

Distinctiveness Conflict Risk

Scoped to a single named app with explicit ownership ("Owns the key shape, the tone per language and the glossary"), giving it a clear niche with distinct triggers and minimal overlap with other skills.

5 / 5

Total

19

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 4 missing, 2 suspicious

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository
MODSetter/SurfSense
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.