Files
cc-1c-skills/.claude/skills/form-decompile/SKILL.md
T
Nick ShirokovandClaude Opus 4.8 7c38422e2c feat(form-decompile): MVP-декомпилятор Form.xml→JSON + компактный вывод (draft, ring-ограничен)
Декомпилятор управляемой формы в формат form-compile (инверсия компилятора):
метаданные, реквизиты, параметры, команды, события, рекурсия ChildItems по
базовым типам, strip companions, инверсия типов и авто-имён обработчиков.
Компактный вывод тем же сериализатором, что skd-decompile (inline в пределах
lineLimit=120). Ring-ограничен (disable-model-invocation): раундтрип не
гарантируется, риск неполноты на пользователе.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 14:37:54 +03:00

4.0 KiB

name, description, argument-hint, disable-model-invocation, allowed-tools
name description argument-hint disable-model-invocation allowed-tools
form-decompile Декомпиляция управляемой формы 1С (Form.xml) в JSON-черновик в формате form-compile. Используй для scaffold новой формы по образцу или структурного рефакторинга. Не для точечных правок <FormPath> [-OutputPath <out.json>] true
Bash
Read
Write
Glob

/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 не покрывает.

  • Покрытые узлы — метаданные формы, реквизиты, параметры, команды, события, дерево базовых элементов (группы, поля, таблицы, страницы, кнопки и т.п.) ложатся в JSON как обычные узлы DSL.
  • Непокрытое теряется молча — конструкции вне зоны поддержки (богатые настройки полей, источники строк поиска, командные интерфейсы и др.) при декомпиляции опускаются. Поэтому навык исключён из автоматического использования моделью (disable-model-invocation: true): риск неполноты принимает на себя пользователь, явно вызывая /form-decompile.
  • Критичные конструкции (CommandInterface, ConditionalAppearance, неизвестный тип элемента, не-Form root) — скрипт падает с ненулевым кодом и сообщением в stderr; такую форму как образец брать нельзя, для правок — /form-edit.

Workflow

  1. /form-decompile <Form.xml> -OutputPath draft.json — получить черновик.
  2. Поправить JSON под задачу.
  3. /form-compile -JsonPath draft.json -OutputPath new/Form.xml — собрать обратно.
  4. /form-validate + /form-info — проверить результат.