关于 form-decompile
form-decompile 将受控表单的 Form.xml 转换为供 form-compile 使用的精简 JSON 草稿。它适用于搭建表单框架或结构重构,不适合精确修改已完成的表单。
主要功能
- 01将 Form.xml 转换为 JSON 草稿
- 02表示表单元素、属性和命令
- 03输出到文件或 stdout
- 04报告不支持的关键结构
适用场景
- 01以现有表单为基础创建新表单
- 02通过 JSON 重构表单结构
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nikolay-shirokov/ cc-1c-skills --skill form-decompile安装后在 Claude Code 中输入/form-decompile确认已加载。
附带文件scripts/form-decompile.ps1scripts/form-decompile.py
README 原文English
来自项目 READMEREADME 暂无中文译文,以下为英文原文;中文介绍见上方。
/form-decompile — JSON-черновик из Form.xml управляемой формы
Читает Form.xml и эмитит компактный JSON в формате form-compile. Результат — черновик, а не обратимое представление: см. раздел «Что получаешь».
Когда использовать
- Scaffold новой формы по образцу — взять существующую форму, получить JSON, поправить и скомпилировать в новую.
- Структурный рефакторинг — перебрать дерево элементов, реквизиты, команды.
Когда не использовать
- Точечные правки готовой формы (добавить элемент, реквизит, команду; переставить элемент, перенести в другую группу, поменять заголовок или видимость, удалить) →
/form-edit. Цикл «декомпиляция → правка JSON → компиляция» переписывает форму целиком, может терять непокрытые конструкции и даёт большой diff./form-editправит адресно.
Параметры
| Параметр | Описание |
|---|---|
FormPath | Путь к Form.xml (обязательный) |
OutputPath | Путь к выходному JSON. Если не задан — JSON в stdout |
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/form-decompile.ps1" -FormPath "<Form.xml>" -OutputPath "<out.json>"
Что получаешь
JSON-черновик в формате /form-compile — не полное обратимое представление: раундтрип xml → json → xml не гарантируется, часть конструкций DSL не покрывает и теряет молча.
Критичные конструкции (ConditionalAppearance со scope, design-time диаграммы/планировщики на реквизите, неизвестный тип элемента, не-Form root) → скрипт падает с ненулевым кодом и сообщением в stderr; для правок такой формы — /form-edit.
Workflow
/form-decompile <Form.xml> -OutputPath draft.json— получить черновик.- Поправить JSON под задачу.
/form-compile -JsonPath draft.json -OutputPath new/Form.xml— собрать обратно./form-validate+/form-info— проверить результат.