skill-editing-from-project
$
npx mdskill add SteelMorgan/1c-agent-based-dev-framework/skill-editing-from-projectEdit framework skills from a 1C project directory using symlinks and a component map.
- Helps modify or fix framework skills when working outside the main repository.
- Depends on symlinks to framework_eng and a .install-session.json file for paths.
- Uses the component map to locate RU source files for direct editing.
- Guides users through opening the map, finding paths, and applying changes.
SKILL.md
.github/skills/skill-editing-from-projectView on GitHub ↗
---
name: skill-editing-from-project
installable: true
description: >
Как редактировать навыки фреймворка, работая из каталога проекта 1С.
Используй когда пользователь просит изменить, дополнить или исправить
навык/правило фреймворка, находясь не в репозитории фреймворка,
а в проекте, где фреймворк установлен через симлинки.
---
# Редактирование навыков фреймворка из проекта
Навыки подключены через симлинки на `framework_eng/` (EN-зеркало). Правки вносятся в `framework/` (RU-источник). Карта сопоставлений — в `.install-session.json`.
---
## Когда применять
| Триггер | Действие |
|---------|----------|
| Пользователь просит изменить навык/правило фреймворка из каталога проекта | Следуйте процедуре ниже |
| Нужно исправить ошибку в навыке, но рабочий каталог — проект 1С | Открыть `.install-session.json`, найти RU-путь, внести правку, синхронизировать |
---
## Процедура
### 1. Открыть карту компонентов
Прочитайте файл `.install-session.json` в корне проекта.
Ключевые поля:
| Поле | Назначение |
|------|-----------|
| `sync_script` | Абсолютный путь к скрипту синхронизации RU→EN |
| `framework_dir` | Абсолютный путь к `framework/` (RU-источник) |
| `component_map` | Карта всех установленных компонентов |
Каждый элемент `component_map`:
```json
{
"skill/vanessa-run": {
"type": "skill",
"ru_path": "/path/to/fw/framework/skills/tool-usage/vanessa/vanessa-run/SKILL.md",
"en_path": "/path/to/fw/framework_eng/skills/tool-usage/vanessa/vanessa-run/SKILL.md"
}
}
```
### 2. Найти нужный компонент
По `component_map` найдите компонент по имени (ключ — `type/name`).
Значение `ru_path` — это файл, который нужно редактировать.
### 3. Внести правки в RU-файл
Откройте файл по пути из `ru_path` и внесите изменения.
**Обязательные правила:**
- **Язык правок — русский.** Весь текст навыка пишется на русском.
- **Не редактируйте `en_path`** — файл перезапишется при синхронизации.
- **Не переводите вручную** — перевод выполняет скрипт автоматически.
### 4. Синхронизировать EN-зеркало
Сразу после правок вызовите скрипт синхронизации — **не откладывайте до коммита**.
```bash
# Путь к скрипту — из поля sync_script в .install-session.json
python3 <sync_script> <ru_path>
```
Если изменено несколько файлов:
```bash
python3 <sync_script> --all
```
---
## Типичные ошибки
| Ошибка | Последствие |
|--------|------------|
| Редактировать `en_path` напрямую | Правки потеряются при синхронизации |
| Писать текст на английском | Нарушает языковую политику |
| Забыть синхронизировать | EN-версия устарела, агенты работают с неактуальным навыком |
---
depends_on: []
---