Skill v1.0.1
currentAutomated scan100/100+1 new
version: "1.0.1" name: skills-i18n-sync description: Use for управления синхронизацией framework/ (RU-источник) → framework_eng/ (EN-зеркало). Helps проверить статус, запустить перевод вручную или диагностировать блокировку коммита.
skills-i18n-sync — синхронизация RU→EN навыков
framework/ (RU, источник правды) → framework_eng/ (EN, автоматическое зеркало). Симлинки IDE указывают на framework_eng/. Никогда не редактируй `framework_eng/` напрямую.
Когда применять
| Триггер | Действие | |
|---|---|---|
Ты изменил любой файл в framework/ (кроме README.md) | Немедленно синхронизировать изменённый файл через /sync-skills <path> | |
Видишь статус dirty или pending в реестре | Запустить /sync-skills перед использованием навыка | |
| Коммит заблокирован хуком с ошибкой перевода | Запустить python3 tools/sync-skill.py --all, затем повторить коммит | |
Добавлен новый файл в framework/ | Запустить /sync-skills <path> для создания EN-версии | |
| Нужно проверить состояние всех навыков | Запустить /sync-skills check |
Команды
/sync-skills check
Показывает таблицу статусов всех файлов:
✓ synced— RU и EN синхронизированы○ pending— EN-версия ещё не создавалась✗ dirty— RU изменён, EN устарел! error— последний перевод завершился ошибкой
python3 tools/sync-skill.py --check
/sync-skills
Синхронизировать все pending и dirty файлы:
python3 tools/sync-skill.py --all
/sync-skills <path>
Синхронизировать конкретный файл:
python3 tools/sync-skill.py framework/skills/bsl-practices/coding-standards/SKILL.md
/sync-skills init-all
Первичная синхронизация — перевести всё что ещё не имеет EN-зеркала. Запускается один раз при инициализации или после добавления большого блока файлов:
python3 tools/sync-skill.py --init-all
Правила для агентов
- После любого изменения файла в `framework/` — сразу запускай синхронизацию.
Не откладывай до коммита: хук заблокирует его если EN отсутствует.
- Исключение:
README.mdфайлы не переводятся и не синхронизируются.
- Перед использованием навыка — проверь что его статус
synced.
Если dirty — данные в .claude/skills/ устаревшие.
- `framework_eng/` только читай, никогда не пиши напрямую.
- При конфликте содержимого RU и EN — RU всегда победитель (источник правды).
Как работает pre-commit хук
git commit↓.git/hooks/pre-commit запускается↓Находит staged файлы в framework/ (кроме README.md)↓Вызывает: python3 tools/sync-skill.py <список файлов>↓sync-skill.py вызывает Codex CLI (gpt-5.1-codex-mini) для перевода каждого файла↓Записывает результат в framework_eng/ (зеркальный путь)Обновляет .skills-sync-state.json↓Хук добавляет framework_eng/ файлы и state в коммит (git add)↓Коммит продолжается (RU + EN всегда в одном коммите)↓При ошибке: БЛОКИРОВКА коммита с инструкцией по исправлению
Реестр синхронизации
Файл .skills-sync-state.json в корне репо — статусы и хэши каждого файла.
Установка хука на новой машине
cp tools/hooks/pre-commit .git/hooks/pre-commitchmod +x .git/hooks/pre-commit
depends_on: []