К основному содержанию
скилл CX Codex

meta-decompile — скилл для Claude Code: черновик объекта 1С из XML

Читает XML объекта метаданных 1С и выдаёт компактный JSON в формате meta-compile. Пригодится, когда новый объект проще собрать по образцу существующего, чем писать DSL с нуля.

Установить в Claude Code · Через маркетплейс плагинов Все способы и платформы ↓
/plugin marketplace add Nikolay-Shirokov/cc-1c-skills
/plugin install 1c-skills@cc-1c-skills
Открыть на GitHub

Что делает meta-decompile

Скилл разбирает XML вроде Catalogs/Имя.xml и эмитит JSON-заготовку для /meta-compile. В неё попадают структура и свойства объекта. UUID, тела модулей, формы, макеты и права не сохраняются.

Из этого следует главное: это не обратимая выгрузка. Скомпилированный черновик даёт новый объект с новой идентичностью, поэтому ссылки на исходный объект из кода, других объектов, состава подсистем и предопределённых данных сломаются. Никогда не компилируйте черновик поверх объекта-источника и не выдавайте его за реимпорт.

Запускается скриптом scripts/meta-decompile.ps1 через PowerShell. Обязательный параметр — путь к XML объекта, OutputPath необязателен: без него JSON уходит в stdout. Неподдерживаемый тип объекта или не-MetaDataObject root дают ненулевой код выхода и сообщение в stderr. Для точечной правки существующего объекта берите /meta-edit, для бэкапа и переноса — штатную выгрузку 1С, а чтобы просто посмотреть состав — /meta-info.

Какие задачи решает

  • собрать DSL-заготовку нового объекта по образцу рабочего
  • переименовать и адаптировать состав реквизитов и табличных частей
  • получить черновик для /meta-compile без ручного описания структуры
  • проверить, что за структура лежит в XML объекта, перед пересборкой

Примеры запросов агенту

  • /meta-decompile Catalogs/Образец.xml -OutputPath draft.json
  • собери по этому образцу новый справочник: поменяй name в draft.json и скомпилируй
  • декомпилируй Catalogs/Номенклатура.xml и покажи, какие реквизиты попадут в заготовку

Как установить meta-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 meta-decompile -a claude-code

3Вручную: положить файлы

~/.claude/skills/meta-decompile/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/meta-decompile/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о meta-decompile

Как установить meta-decompile в Claude?

Через маркетплейс: сначала /plugin marketplace add Nikolay-Shirokov/cc-1c-skills, затем /plugin install 1c-skills@cc-1c-skills.

Что делает meta-decompile?

Читает XML объекта метаданных 1С и выдаёт JSON-заготовку формата meta-compile со структурой и свойствами объекта.

Чем meta-decompile отличается от meta-edit?

meta-edit правит существующий объект точечно. Цикл decompile→compile даёт объект с новой идентичностью и теряет модули с формами, поэтому для правки он не годится.

Исходный текст

SKILL.md · MIT
---
name: meta-decompile
description: Декомпиляция объекта метаданных 1С в JSON-заготовку формата meta-compile. Используй когда нужно получить черновик DSL-описания нового объекта по образцу другого. Не сохраняет UUID/модули/формы.
argument-hint: <ObjectPath> [-OutputPath <out.json>]
disable-model-invocation: true
allowed-tools:
  - Bash
  - Read
  - Write
  - Glob
---

# /meta-decompile — DSL-заготовка из XML объекта метаданных

Читает XML объекта метаданных (`Catalogs/Имя.xml` и т.п.) и эмитит компактный JSON в формате `/meta-compile`. Назначение — **взять существующий объект образцом и собрать по нему НОВЫЙ**: декомпилировать → поправить → скомпилировать под другим именем.

## ⚠️ Главное: это НЕ обратимая выгрузка

Компиляция черновика создаёт **новый объект с новой идентичностью**, а не копию исходного. В JSON **не** попадают: UUID (идентичность самого объекта и всех дочерних), тела модулей, формы, макеты, права. Захватываются только структура и свойства.

Отсюда правило: **никогда не компилируй черновик поверх объекта-источника и не выдавай его за «реимпорт»** — у пересобранного объекта другие UUID, поэтому все ссылки на исходный объект (из кода, других объектов, состава подсистем, предопределённых данных) сломаются, а код модулей и формы пропадут.

## Когда использовать

**Собрать новый объект по образцу существующего** — получить DSL-заготовку рабочего объекта, переименовать и адаптировать состав, скомпилировать в новый. Быстрее, чем писать DSL с нуля для богатого объекта.

## Когда **не** использовать

- **Точечная правка существующего объекта** (добавить реквизит, ТЧ, свойство) → `/meta-edit`. Цикл decompile→compile тут вреден: даёт объект с новой идентичностью и теряет модули/формы.
- **Сохранить / восстановить / перенести тот же объект** (бэкап, миграция между конфигурациями с сохранением ссылок) → штатная выгрузка 1С (`/db-dump-xml` ↔ `/db-load-xml`, CF), а не decompile.
- **Просто понять структуру** объекта (реквизиты, ТЧ, типы) без пересборки → `/meta-info` (дешевле, не плодит файл).

## Параметры

| Параметр | Описание |
|----------|----------|
| `ObjectPath` | Путь к XML объекта (`Catalogs/Имя.xml`), обязательный |
| `OutputPath` | Путь к выходному JSON. Если не задан — JSON в stdout |

```powershell
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/meta-decompile.ps1" -ObjectPath "<Объект.xml>" -OutputPath "<out.json>"
```

Неподдерживаемый тип объекта или не-`MetaDataObject` root → ненулевой код выхода и сообщение в stderr.

## Workflow (сборка нового объекта по образцу)

1. `/meta-decompile <Образец.xml> -OutputPath draft.json` — получить заготовку.
2. В `draft.json` **сменить `name`** на имя нового объекта и адаптировать состав (реквизиты/ТЧ/свойства). Ссылки на *другие* объекты (владельцы, ввод на основании, типы) — по имени, сохраняются как есть.
3. `/meta-compile -JsonPath draft.json -OutputDir <ConfigDir>` — собрать (объект получит свежие UUID).
4. `/meta-validate` + `/meta-info` — проверить.
5. Модули, формы, макеты, права — добавить отдельно (в черновик они не попадают).

© Nikolay Shirokov · MIT · Nikolay-Shirokov/cc-1c-skills

Похожие скиллы

Каталог скиллов SKILL.md →
ilspy-decompile Aaronontheweb Декомпилирует сборки .NET через утилиту ilspycmd. Помогает изучать исходники пакетов NuGet и внутреннее устройство runtime-библиотек прямо в сессии агента. CX Codex +1 602установок kotlin-patterns affaan-m Скилл задаёт правила идиоматичного Kotlin для ИИ-агентов. Пригодится при ревью кода, настройке корутин и избавлении от лишних проверок на null. CX Codex +1 4 800установок tend juxt Скилл для редактирования и проверки спецификаций .allium. Переводит требования в правила и переходы, очищая модель от деталей реализации. CX Codex +1 2 600установок cli-hub-meta-skill HKUDS Скилл даёт агентам каталог профессиональных инструментов командной строки, адаптированных для работы с ИИ. Ищите, устанавливайте и запускайте CLI для видео, дизайна, AI и разработки прямо из своей среды. CX Codex +1 5 300установок meta-cognition-parallel actionbook Экспериментальный скилл разбирает вопросы по Rust через три слоя анализа и сводит результаты в одну рекомендацию. CX Codex +1 3 000установок meta-ads kostja94 Ведёт настройку кампаний Meta Ads: структура, аудитории, креативы, трекинг. Пригодится, когда запускаете рекламу в Facebook или Instagram и нужен порядок в аккаунте. CX Codex +1 2 200установок

Из того же набора14

epf-build Собирает внешнюю обработку 1С в файл EPF или ERF из XML-исходников и проверяет модули до сборки. CX Codex 47установок erf-init Генерирует минимальный набор XML-исходников внешнего отчёта 1С: корневой файл метаданных и каталог отчёта. Пригодится, когда начинаешь новый отчёт и не хочешь собирать каркас руками. CX Codex 46установок form-compile Собирает управляемую форму 1С в Form.xml из JSON-описания или из метаданных объекта. Пригодится, когда форму нужно создать с нуля или получить типовую. CX Codex 45установок web-publish Готовит default.vrd, правит httpd.conf и поднимает Apache, чтобы база 1С открывалась в браузере. Повторный запуск просто обновляет конфигурацию. CX Codex 44установок db-update Применяет изменения основной конфигурации 1С к конфигурации базы данных. Нужен, когда после загрузки XML или Git-ветки надо отдельным шагом обновить БД. CX Codex 44установок web-unpublish Удаляет веб-публикацию 1С из Apache: блок в httpd.conf и каталог publish/{appname}. Пригодится, когда базу нужно закрыть от веб-доступа. CX Codex 43установок db-load-cf Загружает конфигурацию 1С из бинарного CF-файла в информационную базу. Пригодится, когда нужно восстановить базу из бэкапа или развернуть конфигурацию на стенде. CX Codex 43установок db-dump-dt Скилл выгружает информационную базу 1С целиком в DT-файл: конфигурация плюс данные. Годится для бэкапа или точки отката перед обновлением. CX Codex 38установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой