form-decompile — скилл для Claude Code: что делает и как установить
Превращает Form.xml управляемой формы 1С в JSON-черновик для form-compile. Нужен для создания формы по образцу и структурного рефакторинга.
/plugin marketplace add Nikolay-Shirokov/cc-1c-skills
/plugin install 1c-skills@cc-1c-skillsЧто делает form-decompile
Скилл читает Form.xml и выдаёт компактный JSON в формате form-compile. Путь к форме передаётся через обязательный параметр FormPath, а OutputPath задаёт файл результата; без него JSON выводится в stdout. Внутри используется PowerShell-скрипт form-decompile.ps1.
Черновик подходит для дальнейшей правки и сборки новой формы. Цикл xml → json → xml не гарантирует обратимость: часть конструкций может потеряться молча. Для точечных изменений готовой формы скилл не подходит, потому что переписывание целиком даёт большой diff.
Скилл завершается с ошибкой на критичных конструкциях, включая ConditionalAppearance со scope, design-time диаграммы и неизвестный тип элемента. Это значит, что перед обработкой такой формы нужно проверить её структуру; для адресных правок используйте /form-edit.
Какие задачи решает
- получить JSON-черновик из
Form.xml - создать новую форму по образцу существующей
- перебрать дерево элементов и реквизиты
- подготовить форму к структурному рефакторингу
- сохранить результат в отдельный JSON-файл
Примеры запросов агенту
- Выполни
/form-decompileдляForm.xmlи сохрани результат вdraft.json. - Преобразуй
Forms/Order/Form.xmlв JSON-черновик через/form-decompile. - Получи черновик формы из
Form.xmlбез-OutputPath, выведи JSON в stdout.
Как установить form-decompile
1Через маркетплейс плагинов
/plugin marketplace add Nikolay-Shirokov/cc-1c-skills/plugin install 1c-skills@cc-1c-skillsКоманда ставит плагин 1c-skills целиком, со всеми его скиллами
2Через Skills CLI (Vercel)
npx skills add Nikolay-Shirokov/cc-1c-skills --skill form-decompile -a claude-code3Вручную: положить файлы
~/.claude/skills/form-decompile/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/form-decompile/
1Через Skills CLI (Vercel)
npx skills add Nikolay-Shirokov/cc-1c-skills --skill form-decompile -a codex2Вручную: положить файлы
.agents/skills/form-decompile/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/form-decompile/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Nikolay-Shirokov/cc-1c-skills form-decompile2Вручную: положить файлы
.github/skills/form-decompile/SKILL.mdКомандой платформы
gemini skills install https://github.com/Nikolay-Shirokov/cc-1c-skills --path .claude/skills/form-decompileВручную: положить файлы
.devin/skills/form-decompile/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о form-decompile
Как установить form-decompile в Claude Code?
Добавьте маркетплейс командой /plugin marketplace add Nikolay-Shirokov/cc-1c-skills, затем установите плагин командой /plugin install 1c-skills@cc-1c-skills.
Что делает form-decompile?
Скилл преобразует Form.xml управляемой формы 1С в JSON-черновик формата form-compile. Этот файл можно изменить и передать в сборку новой формы.
Подходит ли form-decompile для точечной правки формы?
Нет. Для добавления или удаления элемента, смены заголовка и других адресных изменений используется /form-edit, потому что декомпиляция и повторная сборка могут переписать форму целиком.
Исходный текст
SKILL.md · MIT
---
name: form-decompile
description: Декомпиляция управляемой формы 1С (Form.xml) в JSON-черновик в формате form-compile. Используй для scaffold новой формы по образцу или структурного рефакторинга. Не для точечных правок
argument-hint: <FormPath> [-OutputPath <out.json>]
disable-model-invocation: true
allowed-tools:
- 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
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` — проверить результат.
© Nikolay Shirokov · MIT · Nikolay-Shirokov/cc-1c-skills