russian-text-quality

Скилл Claude Code, который ищет ошибки русского языка в коде: неполные формы множественного числа, падежи в склейке строк, разнобой терминов

СкиллНизкий рискРоссийский стек

anic888/russian-text-quality

Установка

git clone https://github.com/Anic888/russian-text-quality.git ~/russian-text-quality
ln -s ~/russian-text-quality ~/.claude/skills/russian-text-quality

Можно вместо симлинка скопировать папку в ~/.claude/skills.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Скилл проверяет русские строки в коде и файлах локализации по пяти правилам. Самое строгое: в ключах i18next, ICU и vue-i18n должны быть все формы множественного числа по CLDR, иначе это ошибка. Предупреждениями отмечаются разные переводы одного термина, склейка строк после слов, требующих другого падежа, и смесь языков в комментариях. Транслитерированные имена переменных вроде polzovatel помечаются как информация. Скилл включается, только если в проекте есть кириллица, а отчет пишет по-английски, чтобы его понял и не говорящий по-русски ревьюер.

Для кого. Для команд, у которых код на английском, а интерфейс или комментарии на русском.

Подходит, если

  • Перед мержем PR, который меняет ru.json, ru.yml или ru.po
  • Агент перевел или отрефакторил файлы локализации и нужно проверить формы множественного числа
  • Нужно навести порядок в терминах, например пользователь и юзер в разных файлах

Не подходит, если

  • Нужна типографика, орфография или восстановление буквы «е»
  • Нужна редактура текстов интерфейса, а не структурные проверки

Пример запроса к агенту

Проверь проект на ошибки в русских текстах, особенно формы множественного числа в локалях

Ограничения

Старый формат i18next v3 с суффиксом _plural не поддерживается. Проверки склейки строк и транслитерации эвристические и дают ложные срабатывания, поэтому их результаты никогда не отмечаются как ошибки. Термины сравниваются по отсечению окончаний без полной морфологии, вложенные ICU-конструкции могут пропускаться. Автоисправление есть только для форм множественного числа и только после подтверждения.

Как отключить. Удалите папку или симлинк russian-text-quality из ~/.claude/skills.

Проверка безопасности

  • Скилл состоит из инструкций и справочников
  • Правки в локалях вносятся только после подтверждения

Коротко о README

README объясняет, какие ошибки русского языка пропускают линтеры и модели, и перечисляет пять проверок с уровнями серьезности. Установка сводится к клонированию и симлинку в ~/.claude/skills. Описаны условия активации, пример отчета и честный список ограничений. За типографикой и орфографией автор отправляет к отдельным инструментам, например ru-text и yaspeller. Лицензия MIT.

SKILL.md

---
name: russian-text-quality
description: Use when reviewing or writing code that contains Russian-language UI strings, i18n locale files (ru.json, ru.yml, ru.po), Russian comments, or transliterated identifiers (polzovatel, tovar, kolichestvo). Triggers on mixed English-code + Russian-content projects. Does not cover typography, spelling, or ё/е.
---

# Russian Text Quality Review

## Overview

Detects Russian-language quality bugs that general linters and LLMs consistently miss in code: broken pluralization in i18n locale files, case-agreement bugs in string concatenation, terminology drift across files, transliterated identifiers, and inconsistent language mixing. Code-aware, not prose-focused.

**Core principle:** structural Russian mistakes that survive `eslint` and type-checks but break production UIs. Prose quality is delegated to other tools.

## Activation

Run this skill ONLY if BOTH conditions hold:

1. The project contains **≥10 total Cyrillic characters** across code and locale files (excluding `node_modules`, `.git`, `dist`, `build`, and `.gitignore`d paths).
2. At least one file contains **≥5 consecutive Cyrillic characters** (rules out single stray tokens).

If either condition fails, respond with `Not activated — no Russian content detected` and stop. Never run on English-only projects.

Full activation pseudo-code: `references/activation-logic.md`.

## What this skill checks

| # | Check | Detection | Severity | Confidence |
|---|---|---|---|---|
| 1 | **Plural structure** — i18next/ICU/vue-i18n Russian plurals missing CLDR categories (`one`/`few`/`many`/`other`) | Deterministic parse of locale files + call sites | **Error** | High |
| 2 | **Terminology drift** — same source key translated to different Russian terms across files, or known-synonym variance | Normalized value comparison | Warning | Medium |
| 3 | **Concatenation case bug** — Russian preposition/verb governing non-nominative case followed by string interpolation | Heuristic regex + closed trigger list | Warning | Medium |
| 4 | **Language mixing** — inconsistent comment language in a single file, or inline Russian literals outside i18n | Per-file line-language ratios | Warning | Medium |
| 5 | **Transliterated identifiers** — `polzovatel`, `tovar`, `kolichestvo` etc. | Dictionary + phonotactic + file-context (3-tier) | Info | Low |

Частые вопросы

Не будет ли шума в английских проектах?

Нет, скилл запускается только при наличии кириллицы в коде или локалях, иначе сообщает, что не активирован.

Как закрепить единый перевод термина?

Скопируйте пример глоссария в .claude/russian-glossary.yml и укажите нужные варианты, он заменит автоматический поиск разнобоя.

Выбор редакции

Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода

ПлагинСредний риск286,6 тыс.
Выбор редакции

Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура

СкиллНизкий риск262 тыс.

Референсные MCP-серверы

Model Context Protocol servers

Выбор редакции

Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything

MCP-серверСредний риск90,3 тыс.
Выбор редакции

Актуальная документация и примеры кода нужной версии библиотеки прямо в контексте агента, через MCP или CLI со скиллом

MCP-серверСредний риск62 тыс.