framework/skills/tool-usage/platform-data/xml-generation/SKILL.md
Единый toolkit для генерации, редактирования и валидации XML метаданных 1С через CLI xml-gen. Покрывает 11 доменов (EPF, Form, MXL, SKD, Role, Config, Subsystem, Interface, Meta 23 типа, Extension/CFE) + универсальные операции (validate, edit replace-text, form/template/help add). ~45 CLI-операций в формате Designer. Применяй при создании конфигураций и внешних обработок, добавлении объектов метаданных, форм, ролей, отчётов, печатных форм, расширений; а также при валидации и точечной модификации существующих XML.
npx skillsauth add steelmorgan/1c-agent-based-dev-framework xml-generationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Единый CLI xml-gen покрывает весь цикл работы с XML 1С: генерация из JSON DSL, точечная модификация существующих файлов, валидация. Этот SKILL.md — роутер: содержит обзор, индекс под-областей и сквозные принципы. За детальной спецификацией по каждому домену — переходи в соответствующий под-skill (<имя>/SKILL.md).
Установка: python tools/install.py --install-xml-gen (требует JDK 17+).
xml-gen покрывает 4 типа операций — compile / edit / init / validate — детали в §2 и под-skills. Универсальные команды (validate, form/template/help add, edit replace-text) описаны в §3.
Не используй когда: нужен формат EDT (только Designer), нужны DataSetUnion/CalculatedFields в СКД (workaround: вычисления в запросах).
| Под-область | Что делает | Когда применять | Reference |
|-------------|------------|-----------------|-----------|
| forms-toolkit | info / edit / validate / element-mapping / epf-validate — операционный цикл работы с управляемыми формами и EPF | анализ структуры формы, добавление полей, валидация, маппинг Title→Name для Vanessa | forms-toolkit/SKILL.md |
| form-dsl | компиляция формы из JSON DSL (form compile, в т.ч. --from-object) | создать форму с нуля или сгенерировать по объекту | form-dsl/SKILL.md |
| skd-dsl | компиляция СКД из JSON (skd compile) | создать схему компоновки с нуля | skd-dsl/SKILL.md |
| skd-edit | patch-операции по существующей СКД (skd add-parameter, skd add-field) | точечная правка Schema.xml | skd-edit/SKILL.md |
| mxl-dsl | макеты MXL / SpreadsheetDocument (mxl compile) | печатные формы, шаблоны | mxl-dsl/SKILL.md |
| role-dsl | компиляция ролей (role compile, role add-object, role add-right) | создать/изменить роль | role-dsl/SKILL.md |
| config-operations | работа с корнем конфигурации (config init/info/edit/validate) | инициализация новой CF, навигация по корню | config-operations/SKILL.md |
| meta-operations | 23 типа объектов метаданных (meta compile/info/edit) | Catalogs / Documents / InformationRegisters / Enums и др. | meta-operations/SKILL.md |
| subsystem-interface | подсистемы и командные интерфейсы (subsystem compile/edit, interface edit/validate) | организация интерфейса конфигурации | subsystem-interface/SKILL.md |
| epf-full | внешние обработки и отчёты (epf init/add-form/add-template/bsp-init) | создание EPF / ERF с нуля, включая БСП-варианты | epf-full/SKILL.md |
| extension-operations | расширения конфигурации / CFE (extension init/borrow/diff) | создать CFE, заимствовать объекты, сравнить расширение с основой | extension-operations/SKILL.md |
Универсальные команды (
xml-gen form add,template add,help add,edit replace-text,validate) описаны в §3 ниже и не имеют отдельного под-skill-а.
Четыре группы: validate (структурная/семантическая проверка любого XML), form/template/help add (добавление форм, макетов, справки к любому объекту метаданных), edit replace-text (побайтовая замена без нормализации line endings).
Когда применять: validate — перед и после каждой модификации; form/template/help add — когда нужно зарегистрировать новый артефакт без пересборки; edit replace-text — при точечной правке XML с мультилайн в <v8:content> (тултипы, описания) или любой замене, где важно сохранить line endings.
→ references/universal-commands.md
--format designer (default). EDT не поддерживается.utf-8-sig). Сохраняй BOM при правке.<v8:content>. Не используй Claude Code Edit — xml-gen edit replace-text (→ references/universal-commands.md).validate перед и после модификации. При ошибке <domain> edit делает rollback автоматически.form edit / meta edit / subsystem edit принимает массивы операций; используй вместо повторных вызовов CLI.output/MyProcessor.xml. Формы EPF: output/MyProcessor/Forms/MainForm/Ext/Form.xml.xml-gen epf init --name MyProcessor output/
xml-gen epf add-form --epf MyProcessor --name MainForm output/
xml-gen validate --type epf output/MyProcessor
Детали — epf-full/SKILL.md.
# 1. Изучить структуру
xml-gen form info "src/Catalogs/Контрагенты/Forms/ФормаЭлемента/Ext/Form.xml"
# 2. Добавить элемент с привязкой к реквизиту
xml-gen form add-element --type InputField --name Склад --path Объект.Склад \
--parent ГруппаШапка --after Контрагент \
"src/Catalogs/Контрагенты/Forms/ФормаЭлемента/Ext/Form.xml"
# 3. Проверить
xml-gen validate --type form "src/Catalogs/Контрагенты/Forms/ФормаЭлемента/Ext/Form.xml"
Детали — forms-toolkit/SKILL.md (info/edit/validate) и form-dsl/SKILL.md (compile с нуля).
xml-gen skd compile schema.json Template.xml
xml-gen validate --type skd Template.xml
Детали — skd-dsl/SKILL.md. Для точечной правки готовой Schema.xml — skd-edit/SKILL.md.
xml-gen extension init output_ext/ МоёРасширение --config-path output/
xml-gen extension borrow output_ext/ output/ "Catalog.Товары"
xml-gen extension diff output_ext/ output/
Детали — extension-operations/SKILL.md.
# Неправильно: role compile с файлом на выход
xml-gen role compile role.json Roles/МояРоль.xml
# Правильно: output_dir → Roles/<Name>/Ext/Rights.xml
xml-gen role compile role.json output/
# Неправильно: form add-element без --path
xml-gen form add-element --type InputField --name Наименование Form.xml
# Правильно: --path связывает элемент с реквизитом
xml-gen form add-element --type InputField --name Наименование --path Наименование Form.xml
# Неправильно: role add-object с "view"
xml-gen role add-object --name Catalog.Номенклатура --rights view Rights.xml
# Правильно: права через запятую, регистр из enum RoleRight
xml-gen role add-object --name Catalog.Номенклатура --rights Read,View Rights.xml
| Проблема | Решение |
|----------|---------|
| Parent element not found (form) | Проверь точное имя родителя в Form.xml — регистр важен |
| Object already exists (role) | role add-right вместо add-object |
| DataSet not found (skd) | Проверь имя набора данных в Schema.xml |
| Edit tool ломает line endings | Используй xml-gen edit replace-text |
| Нужен DataSetUnion / CalculatedFields в СКД | Workaround: вычисления в запросах |
| Нужен формат EDT | Не поддерживается, только Designer |
depends_on:
tools
Diagnostics for Vanessa Automation runs. Use when a feature scenario failed, artifacts were not created, or you need to classify a failure after launch.
tools
Creating and refining Vanessa Automation feature scenarios based on real project requirements. Use when you need to write or update a scenario test, not just run it.
tools
--- name: v8-session-manager description: Use when working with the 1С session manager (v8-session-manager) - launch, configuration, connecting 1С clients, reading session_list, calling proxied MCP-tools from 1С extensions, diagnostics. Triggers: mention of `v8-session-manager`, `session_list`, 1С extension MCP showcase, error “no active sessions” / “session_id required”, connecting a client to the manager via `mcpMode=ws`. provides_capabilities: # Built-in manager tools — always available whi
tools
Use when Codex needs to manage v8-runner on local 1C projects through the CLI: configure v8project.yaml, initialize infobases or EDT workspaces, build sources from Designer or EDT, run syntax checks and tests, dump infobase changes, convert source formats, load or export artifacts, launch 1C clients, or choose safe 1C automation command sequences.