/skd-decompile - Декомпилятор СКД в JSON DSL
SkillDev toolsDecompiles a 1C data composition schema (SKD) from XML to a JSON draft DSL. Use when you need to decompile an SKD, convert a data composition schema to JSON, or get DSL from an SKD template
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the /skd-decompile - Декомпилятор СКД в JSON DSL skill
What this skill tells your AI
The instructions your AI receives, as published by desko77/cursor-1c-skills in skills/1c-skd-decompile/SKILL.md and read by ahel’s review.
Принимает XML схемы компоновки данных (корневой элемент DataCompositionSchema; в выгрузке EDT/Конфигуратора это обычно Template.xml макета) и генерирует JSON-черновик в формате DSL скила /skd-compile. Обратная операция к /skd-compile.
ВАЖНО: результат - ЧЕРНОВИК, не гарантированный lossless round-trip. Перед компиляцией через /skd-compile обязательно просмотреть JSON и разрешить все маркеры _todo.
Использование
/skd-decompile <Template.xml> [output.json]
Команда
powershell.exe -NoProfile -File skills/1c-skd-decompile/scripts/skd-decompile.ps1 -InputFile "<путь>/Template.xml" [-OutputFile "<путь>.skd.json"]
Параметры
| Параметр | Обязательный | Описание |
|---|---|---|
| InputFile | да | Путь к XML СКД. Имя файла любое - проверяется только корневой элемент DataCompositionSchema |
| OutputFile | нет | Путь для JSON. По умолчанию рядом с входным: <имя>.skd.json |
Коды возврата
| Код | Условие |
|---|---|
| 0 | Успех (в том числе с предупреждениями _todo) |
| 1 | Ошибка: файл не найден, XML не парсится, корень не DataCompositionSchema |
| 2 | Неверные аргументы (python-версия, argparse) |
Рабочий процесс
/skd-decompile- получить JSON-черновик из существующей СКД- Просмотреть черновик, разрешить каждый
_todo(вручную или моделью) - Править JSON под задачу (новые поля, варианты, параметры)
/skd-compile- собрать новый Template.xml/skd-validateи/skd-info- проверить результат
Легитимные сценарии: заготовка нового отчета на основе существующего как шаблона; структурный рефакторинг полей/вариантов. Для точечной правки одного отчета лучше /skd-edit - полный цикл переписывает весь макет.
Ограничения - черновик и маркеры _todo
- Конструкции XML, которые наш DSL не выражает, помечаются ключом
"_todo"(массив строк-пояснений) на уровне соответствующего элемента JSON или корня. Каждая помета дублируется предупреждением в stderr. - Перед скармливанием
/skd-compileразрешить каждый_todo: перенести смысл в поддерживаемую форму или сознательно удалить (компилятор упадет на объектах-заглушках, состоящих из одного_todo). - В
_todoуходят (не полный список): составные типы значений иTypeSet, папки полей (DataSetFieldFolder), вложенные схемы (nestedSchema), условия выбора макета (templateCondition), ячейки-картинки, привязки макета к полю (fieldTemplate), пользовательские поля вариантов (userFields),scopeусловного оформления,GroupItemAutoв группировках, неизвестные типы элементов структуры/отбора/выборки. - Молчаливые упрощения (без
_todoна каждом узле):userSettingIDструктурных элементов отбрасываются (одна сводная помета в корне),userSettingIDотборов в shorthand-форме заменяются флагом@user(при компиляции сгенерируется новый GUID), стиль ячеек макета подбирается эвристикой по 4 встроенным пресетам (header/data/subheader/total), ширины и высота макета читаются только из первой строки. dataParametersвсегда выводятся явным массивом (свертка в"auto"не выполняется).- Схема без единого
dataSetдекомпилируется, но помечается в корне:/skd-compileтребует минимум один набор данных. - py-версия строит глобальную карту namespace-префиксов документа (первое объявление префикса побеждает). На XML, где один и тот же префикс переиспользован с разными URI на разных уровнях (встречается у .NET-сериализаторов), возможен неверный резолвинг типов - для таких файлов используй ps1-версию (контекстный резолвинг по месту).
Примеры
# Декомпиляция макета отчета, JSON рядом (Template.skd.json)
powershell.exe -NoProfile -File skills/1c-skd-decompile/scripts/skd-decompile.ps1 -InputFile "src/Reports/Продажи/Templates/ОсновнаяСхемаКомпоновкиДанных/Ext/Template.xml"
# Явный путь вывода
powershell.exe -NoProfile -File skills/1c-skd-decompile/scripts/skd-decompile.ps1 -InputFile "C:/tmp/Schema.xml" -OutputFile "C:/tmp/schema-draft.json"
Альтернатива (Python, тот же алгоритм):
python skills/1c-skd-decompile/scripts/skd-decompile.py -InputFile "<путь>/Template.xml" [-OutputFile "<путь>.skd.json"]
JSON-схема DSL
Полная спецификация целевого формата: docs/skd-dsl-spec.md (прочитать через ). Краткий справочник - в skills/1c-skd-compile/SKILL.md.
Signals
- GitHub stars
- 57
- Forks
- 13
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
x-1c-skd-decompile-desko77- Source
- github.com/desko77/cursor-1c-skills