mcpField
F
form-decompile

form-decompile

github.com/nikolay-shirokov開発74145 回インストール今日更新
リポジトリ

form-decompile について

form-decompileは、マネージドフォームのForm.xmlをform-compile用のコンパクトなJSON草案に変換するスキルです。フォームのひな形作成や構造変更向けで、完成済みフォームの細かな編集には適しません。

主な機能

  1. 01Form.xmlをJSON草案に変換
  2. 02フォーム要素、属性、コマンドを表現
  3. 03ファイルまたはstdoutへ出力
  4. 04未対応の重要な構造を報告

活用シーン

  1. 01既存フォームを基に新規フォームを作成
  2. 02JSONを介してフォーム構造をリファクタリング

インストール

コマンドをコピーしてターミナルで実行します。

$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

プロジェクトの README より

この README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。

/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

  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 — проверить результат.

コメント