catalog-hygienelisted
Install: claude install-skill ClaudeRegistry/marketplace
# Catalog Hygiene
## Purpose
Provide a standardized, static methodology for keeping translation catalogs correct and complete, and for making a UI ready for right-to-left languages. A catalog rots the moment code and translations drift: keys used in code but missing from a locale render raw ids to users, keys left in the catalog after a feature is deleted are paid-for cruft, and values that were copy-pasted from English *look* translated but ship the wrong language. RTL readiness is the other half, a layout full of physical `left`/`right` CSS silently breaks in Arabic and Hebrew.
## Catalog Health Checks
Cross-reference the code's translation calls against every locale file and report:
| Check | Definition | Impact |
|---|---|---|
| Missing key | used in code, absent in a locale | fallback text or a raw key shown to users |
| Unused key | in the catalog, referenced nowhere | dead weight; wasted translation spend |
| Untranslated value | target value byte-equal to the source | looks done, ships the source language |
| Placeholder drift | `{name}`/`{count}` set differs across locales | `undefined` in the string or a formatter throw |
| ICU error | malformed `plural`/`select`, unbalanced braces | renders literally or throws at runtime |
| Missing plural category | locale lacks a CLDR form its grammar needs | wrong number agreement for real inputs |
Measure **coverage per locale** = translated keys ÷ source keys, and treat the source locale (usually `en`) as the reference set