skills-i18n-sync
$
npx mdskill add SteelMorgan/1c-agent-based-dev-framework/skills-i18n-syncSynchronizes Russian-language skills in framework/ with their English mirror in framework_eng/ to maintain translation integrity.
- Helps manage translation status and resolve commit blocks due to outdated or missing English versions.
- Integrates with a Python script (tools/sync-skill.py) for automated synchronization and status checks.
- Decides actions based on file changes, pending or dirty statuses, and error triggers from hooks.
- Presents results through status tables and command outputs, guiding users to run specific sync commands.
SKILL.md
.github/skills/skills-i18n-syncView on GitHub ↗
---
name: skills-i18n-sync
description: >
Управление синхронизацией русскоязычных навыков (framework/) с
англоязычным зеркалом (framework_eng/). Используй когда нужно
проверить статус синхронизации, вручную запустить перевод,
или понять почему заблокирован коммит.
---
# 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` — последний перевод завершился ошибкой
```bash
python3 tools/sync-skill.py --check
```
### `/sync-skills`
Синхронизировать все `pending` и `dirty` файлы:
```bash
python3 tools/sync-skill.py --all
```
### `/sync-skills <path>`
Синхронизировать конкретный файл:
```bash
python3 tools/sync-skill.py framework/skills/bsl-practices/coding-standards/SKILL.md
```
### `/sync-skills init-all`
Первичная синхронизация — перевести всё что ещё не имеет EN-зеркала.
Запускается один раз при инициализации или после добавления большого блока файлов:
```bash
python3 tools/sync-skill.py --init-all
```
---
## Правила для агентов
1. **После любого изменения файла в `framework/`** — сразу запускай синхронизацию.
Не откладывай до коммита: хук заблокирует его если EN отсутствует.
2. **Исключение:** `README.md` файлы не переводятся и не синхронизируются.
3. **Перед использованием навыка** — проверь что его статус `synced`.
Если `dirty` — данные в `.claude/skills/` устаревшие.
4. **`framework_eng/` только читай**, никогда не пиши напрямую.
5. **При конфликте содержимого** 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` в корне репо — статусы и хэши каждого файла.
---
## Установка хука на новой машине
```bash
cp tools/hooks/pre-commit .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
```
---
depends_on: []
---
More from SteelMorgan/1c-agent-based-dev-framework
- 1c-ai-agent-cliCLI 1C BSL Agent Framework — tools/install.py (clone, install). Используй при клонировании репозитория, установке компонентов в проект, настройке IDE (Cursor, Claude Code, Windsurf, VS Code+Continue).
- agent-debugПаттерн отладочных сообщений для 1С BSL. Используй, когда стандартная диагностика (event-log, скриншоты) не даёт понять фактическое поведение системы — нужно вставить временные точки логирования в код, запустить тест и проанализировать записи ЖР.
- agent-developmentCreate custom subagents for specialized AI tasks. Use when the user wants to create a new type of subagent, set up task-specific agents, configure code reviewers, debuggers, or domain-specific assistants with custom prompts.
- agent-development-ext>
- agent-git-workflowStandardizes git workflow for the AI agent in the sandbox devcontainer: work in agent/<task>-<yyyymmdd>, integrate via agent, never push to main/master, open PRs via GitHub CLI. Use when the user asks to create branches, push changes, open PRs, or follow this sandbox repo setup.
- auto-skill-bootstrapDeterministic helper to inventory existing project skills, detect missing capability coverage, search skills.sh via Skills CLI, and (optionally) install missing skills under a trust policy. Uses skills-manifest.json + state.json to stay idempotent across changing requirements.
- code-navigationНавигация по коду (Code Navigation). Навык учит агента **эффективно перемещаться по BSL-коду** с помощью LSP (Language Server Protocol).
- config-operationsОперации с конфигурацией 1С (CF) — init, info, edit, validate. Используй при создании конфигурации, анализе структуры, изменении свойств и ChildObjects, валидации Configuration.xml.
- epf-buildСобрать EPF/ERF из XML-исходников. Используй после внесения временных диагностических правок в разобранную обработку.
- epf-dumpРазобрать EPF/ERF в XML-исходники. Используй, когда нужно быстро получить исходный код внешней обработки или отчета для анализа и временной модификации.