diff --git a/.claude/skills/xdto-compile/SKILL.md b/.claude/skills/xdto-compile/SKILL.md index 8bed895d..b3183baa 100644 --- a/.claude/skills/xdto-compile/SKILL.md +++ b/.claude/skills/xdto-compile/SKILL.md @@ -1,7 +1,7 @@ --- name: xdto-compile description: Создание пакета XDTO 1С из XML-схемы (XSD). Используй когда нужно добавить пакет XDTO в конфигурацию — для обмена, интеграции, веб-сервиса, разбора внешнего XML-формата -argument-hint: -XsdPath <файл.xsd> -OutputDir <каталог-исходников> [-Name <имя>] [-Synonym <синоним>] [-Comment <текст>] [-Force] +argument-hint: -XsdPath <файл.xsd>|-Xsd <схема> -OutputDir <каталог-исходников> [-Name <имя>] [-Synonym <синоним>] [-Comment <текст>] [-Force] allowed-tools: - Bash - Read @@ -13,20 +13,19 @@ allowed-tools: Собирает пакет XDTO по XML-схеме: `XDTOPackages/<Имя>.xml`, `XDTOPackages/<Имя>/Ext/Package.bin` и регистрацию в `Configuration.xml`. -Вход — обычная XSD. Отдельного формата описания нет: пиши схему так, как её пишут -везде, остальное навык сделает сам. +Вход — обычная XML-схема, писать её нужно так же, как для любого другого инструмента. ## Параметры -| Параметр | Описание | -|----------|----------| -| `XsdPath` | Путь к файлу XML-схемы | -| `Xsd` | Схема строкой, вместо `-XsdPath` | -| `OutputDir` | Каталог исходников конфигурации или расширения — там, где лежит `Configuration.xml` | -| `Name` | Имя объекта метаданных. По умолчанию — из `xs:appinfo`, иначе имя файла XSD | -| `Synonym` | Синоним: строка или хеш-таблица `@{ru='…'; en='…'}` | -| `Comment` | Комментарий | -| `Force` | Перезаписать существующий пакет | +| Параметр | Обязательный | Описание | +|----------|--------------|----------| +| `XsdPath` | один из двух | Путь к файлу XML-схемы. Псевдоним — `-Path` | +| `Xsd` | один из двух | Схема строкой, вместо `-XsdPath` | +| `OutputDir` | да | Каталог исходников конфигурации или расширения — там, где лежит `Configuration.xml` | +| `Name` | нет | Имя объекта метаданных. По умолчанию — из `xs:appinfo`, иначе имя файла XSD, санированное под идентификатор 1С | +| `Synonym` | нет | Синоним (строка). По умолчанию — из `xs:appinfo`, иначе имя пакета. Для нескольких языков задавай синоним в схеме, блоком `xs:appinfo` | +| `Comment` | нет | Комментарий. По умолчанию — из `xs:appinfo` | +| `Force` | нет | Перезаписать существующий пакет. Без него навык откажется затирать уже собранный пакет | ```powershell powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-compile.ps1" -XsdPath "<схема.xsd>" -OutputDir "<каталог-исходников>" @@ -64,10 +63,11 @@ XSD выразительнее модели XDTO. Всё, что не перен ## Зависимости между пакетами `` разрешается по namespace среди пакетов конфигурации -или расширения. -Если пакета с таким пространством имён нет, платформа при загрузке молча подменит тип -на `xs:anyType` — без ошибки. Собирай сначала зависимости, потом зависящий пакет, -и проверяй результат через `/xdto-validate`. +или расширения. Если пакета с таким пространством имён нет, платформа при загрузке +молча подменит тип на `xs:anyType` — без ошибки. Собирай сначала зависимости, потом +зависящий пакет, и проверяй результат через `/xdto-validate`. + +Какие пакеты уже собраны, видно в `ChildObjects` файла `Configuration.xml`. ## Что XSD выразить не может diff --git a/.claude/skills/xdto-decompile/SKILL.md b/.claude/skills/xdto-decompile/SKILL.md index 4ed44ec6..15894425 100644 --- a/.claude/skills/xdto-decompile/SKILL.md +++ b/.claude/skills/xdto-decompile/SKILL.md @@ -15,10 +15,10 @@ allowed-tools: ## Параметры -| Параметр | Описание | -|----------|----------| -| `PackagePath` | Каталог пакета, путь к `Ext/Package.bin` или к `<Имя>.xml` объекта метаданных | -| `OutFile` | Записать схему в файл. Без него — вывод в stdout | +| Параметр | Обязательный | Описание | +|----------|--------------|----------| +| `PackagePath` | да | Каталог пакета, путь к `Ext/Package.bin` или к `<Имя>.xml` объекта метаданных. Псевдоним — `-Path` | +| `OutFile` | нет | Записать схему в файл (UTF-8 с BOM). Без него — вывод в stdout | ```powershell powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-decompile.ps1" -PackagePath "<путь>" @@ -40,13 +40,13 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-decompile.ps1" В схеме могут встретиться атрибуты с префиксом `xdto:` — так записано то, что XML Schema выразить не может (например `nillable` у атрибута). Схема при этом остаётся валидной, валидаторы такие атрибуты игнорируют. Трогать их обычно не нужно; смысл -каждого описан в справочнике навыка `/xdto-compile`. +каждого описан в `xsd-reference.md` навыка `/xdto-compile`. ## Передача схемы наружу -Полученную XSD можно отдавать контрагенту как есть. В отличие от команды -«Экспорт XML-схемы» в Конфигураторе, навык не теряет `nillable` у свойств-атрибутов -и не пишет `form` на глобальных объявлениях, где спецификация XSD его не допускает. +Полученную XSD можно отдавать контрагенту как есть — она валидна и не теряет +данных пакета. Штатная команда «Экспорт XML-схемы» в Конфигураторе для этого +хуже: она теряет `nillable` у свойств-атрибутов. ## Верификация diff --git a/.claude/skills/xdto-validate/SKILL.md b/.claude/skills/xdto-validate/SKILL.md index ac56c80c..5b346e02 100644 --- a/.claude/skills/xdto-validate/SKILL.md +++ b/.claude/skills/xdto-validate/SKILL.md @@ -15,13 +15,13 @@ allowed-tools: ## Параметры -| Параметр | Описание | -|----------|----------| -| `PackagePath` | Каталог пакета, `Ext/Package.bin` или `<Имя>.xml` объекта метаданных | -| `ConfigDir` | Корень исходников. По умолчанию определяется по расположению пакета | -| `Detailed` | Показывать успешные проверки, а не только проблемы | -| `MaxErrors` | Остановиться после N ошибок (по умолчанию 20) | -| `OutFile` | Записать отчёт в файл | +| Параметр | Обязательный | Описание | +|----------|--------------|----------| +| `PackagePath` | да | Каталог пакета, `Ext/Package.bin` или `<Имя>.xml` объекта метаданных. Псевдоним — `-Path` | +| `ConfigDir` | нет | Корень исходников. По умолчанию определяется по расположению пакета | +| `Detailed` | нет | Показывать успешные проверки, а не только проблемы | +| `MaxErrors` | нет | Остановиться после N ошибок. По умолчанию 20 | +| `OutFile` | нет | Записать отчёт в файл | ```powershell powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-validate.ps1" -PackagePath "<путь>"