{"version":"2.1.290","anchor":"unicode-normalization-routed-through-a-shared-helper","canonical_anchor":"unicode-normalization-routed-through-a-shared-helper","heading":"Text normalization for skill and command names now uses one shared routine","tier":"internal","area":"Skills","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/unicode-normalization-routed-through-a-shared-helper","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Text normalization for skill and command names now uses one shared routine\n\nMatching skill and command names, stripping accent marks and cleaning text now share one Unicode normalization routine\n\n**Unclear.** It is not clear whether the shared routine produces different output from the inline calls it replaced.\n\n**What**\n\nSeveral places in Claude Code that tidy up text before comparing or using it now go through a single shared routine for Unicode normalization. Unicode normalization converts characters that look the same but are stored differently into one standard form. The places affected are:\n\n- the matcher that compares skill names and command names\n\n- the step that strips accent marks from letters\n\n- a text sanitizer that cleans up strings\n\nBefore, each of these did its own normalization inline.\n\n**Why**\n\nIn practice, name matching and text cleanup are now handled the same way in each of these places. Whether any name now matches differently than before is not stated.\n\n- Area: Skills\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 0\/5\n- Scope: individual\n- Heads-up: no"}