From 404e6c6851e42d44aeea8f462ea8f48b1fde16f7 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Mon, 30 Mar 2026 20:55:05 +0300 Subject: [PATCH] =?UTF-8?q?refactor(*-validate):=20trim=20SKILL.md=20?= =?UTF-8?q?=E2=80=94=20remove=20check=20tables,=20exit=20codes,=20clarify?= =?UTF-8?q?=20Detailed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All 11 validate skills: remove internal check tables and exit code lines that provide no value to the model-user. Update Detailed param description to be clearer. -221 lines, ~1550 tokens saved. Co-Authored-By: Claude Opus 4.6 (1M context) --- .claude/skills/cf-validate/SKILL.md | 17 +----------- .claude/skills/cfe-validate/SKILL.md | 22 +-------------- .claude/skills/epf-validate/SKILL.md | 18 +----------- .claude/skills/erf-validate/SKILL.md | 18 +----------- .claude/skills/form-validate/SKILL.md | 23 +--------------- .claude/skills/interface-validate/SKILL.md | 22 +-------------- .claude/skills/meta-validate/SKILL.md | 32 +--------------------- .claude/skills/mxl-validate/SKILL.md | 20 +------------- .claude/skills/role-validate/SKILL.md | 17 +----------- .claude/skills/skd-validate/SKILL.md | 21 +------------- .claude/skills/subsystem-validate/SKILL.md | 22 +-------------- 11 files changed, 11 insertions(+), 221 deletions(-) diff --git a/.claude/skills/cf-validate/SKILL.md b/.claude/skills/cf-validate/SKILL.md index 1fd71fd4..4f709253 100644 --- a/.claude/skills/cf-validate/SKILL.md +++ b/.claude/skills/cf-validate/SKILL.md @@ -17,7 +17,7 @@ allowed-tools: | Параметр | Обяз. | Умолч. | Описание | |------------|:-----:|---------|-------------------------------------------------| | ConfigPath | да | — | Путь к Configuration.xml или каталогу выгрузки | -| Detailed | нет | — | Показывать [OK] для каждой проверки | +| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 30 | Остановиться после N ошибок | | OutFile | нет | — | Записать результат в файл (UTF-8 BOM) | @@ -27,18 +27,3 @@ allowed-tools: powershell.exe -NoProfile -File .claude/skills/cf-validate/scripts/cf-validate.ps1 -ConfigPath "upload/cfempty" powershell.exe -NoProfile -File .claude/skills/cf-validate/scripts/cf-validate.ps1 -ConfigPath "upload/cfempty/Configuration.xml" ``` - -## Проверки - -| # | Проверка | Серьёзность | -|---|----------|-------------| -| 1 | XML well-formedness, MetaDataObject/Configuration, version 2.17/2.20 | ERROR | -| 2 | InternalInfo: 7 ContainedObject, валидные ClassId, уникальность | ERROR | -| 3 | Properties: Name непустой, Synonym, DefaultLanguage, DefaultRunMode | ERROR/WARN | -| 4 | Properties: enum-значения (11 свойств) | ERROR | -| 5 | ChildObjects: валидные имена типов (44 типа), нет дубликатов, порядок типов | ERROR/WARN | -| 6 | DefaultLanguage ссылается на существующий Language в ChildObjects | ERROR | -| 7 | Файлы языков Languages/.xml существуют | WARN | -| 8 | Каталоги объектов из ChildObjects существуют (spot-check) | WARN | - -Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации. diff --git a/.claude/skills/cfe-validate/SKILL.md b/.claude/skills/cfe-validate/SKILL.md index 00d1e3b9..ffc3ff0c 100644 --- a/.claude/skills/cfe-validate/SKILL.md +++ b/.claude/skills/cfe-validate/SKILL.md @@ -17,7 +17,7 @@ allowed-tools: | Параметр | Обяз. | Умолч. | Описание | |---------------|:-----:|---------|-------------------------------------------------| | ExtensionPath | да | — | Путь к каталогу или Configuration.xml расширения | -| Detailed | нет | — | Показывать [OK] для каждой проверки | +| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 30 | Остановиться после N ошибок | | OutFile | нет | — | Записать результат в файл | @@ -27,23 +27,3 @@ allowed-tools: powershell.exe -NoProfile -File .claude/skills/cfe-validate/scripts/cfe-validate.ps1 -ExtensionPath "src" powershell.exe -NoProfile -File .claude/skills/cfe-validate/scripts/cfe-validate.ps1 -ExtensionPath "src/Configuration.xml" ``` - -## Проверки (13 шагов) - -| # | Проверка | Уровень | -|---|----------|---------| -| 1 | XML well-formedness, MetaDataObject/Configuration, version | ERROR | -| 2 | InternalInfo: 7 ContainedObject, валидные ClassId | ERROR | -| 3 | Extension properties: ObjectBelonging=Adopted, Name, Purpose, NamePrefix, KeepMapping | ERROR | -| 4 | Enum-значения: ConfigurationExtensionCompatibilityMode, DefaultRunMode, ScriptVariant, InterfaceCompatibilityMode | ERROR | -| 5 | ChildObjects: валидные типы (44), нет дубликатов, каноничный порядок | ERROR/WARN | -| 6 | DefaultLanguage ссылается на Language в ChildObjects | ERROR | -| 7 | Файлы языков существуют | WARN | -| 8 | Каталоги объектов существуют | WARN | -| 9 | Заимствованные объекты: ObjectBelonging=Adopted, ExtendedConfigurationObject UUID | ERROR/WARN | -| 10 | Sub-items: Attribute, TabularSection (InternalInfo + вложенные), EnumValue, Form-ссылки | ERROR | -| 11 | Заимствованные формы: метаданные, Form.xml, Module.bsl, BaseForm version | ERROR/WARN | -| 12 | Зависимости форм: CommonPicture, StyleItem (с whitelist платформенных), Enum DesignTimeRef | WARN | -| 13 | TypeLink: human-readable Items.* DataPath (должны быть удалены) | WARN | - -Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации. diff --git a/.claude/skills/epf-validate/SKILL.md b/.claude/skills/epf-validate/SKILL.md index cfb2c8f3..48c5d518 100644 --- a/.claude/skills/epf-validate/SKILL.md +++ b/.claude/skills/epf-validate/SKILL.md @@ -17,7 +17,7 @@ allowed-tools: | Параметр | Обяз. | Умолч. | Описание | |------------|:-----:|---------|-------------------------------------------------| | ObjectPath | да | — | Путь к корневому XML или каталогу обработки | -| Detailed | нет | — | Показывать [OK] для каждой проверки | +| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 30 | Остановиться после N ошибок | | OutFile | нет | — | Записать результат в файл (UTF-8 BOM) | @@ -28,19 +28,3 @@ powershell.exe -NoProfile -File .claude/skills/epf-validate/scripts/epf-validate powershell.exe -NoProfile -File .claude/skills/epf-validate/scripts/epf-validate.ps1 -ObjectPath "src/МояОбработка/МояОбработка.xml" ``` -## Проверки - -| # | Проверка | Серьёзность | -|----|-------------------------------------------------------|--------------| -| 1 | Root structure: MetaDataObject/ExternalDataProcessor | ERROR | -| 2 | InternalInfo: ClassId, ContainedObject, GeneratedType | ERROR / WARN | -| 3 | Properties: Name (identifier), Synonym | ERROR / WARN | -| 4 | ChildObjects: допустимые типы, порядок | ERROR / WARN | -| 5 | Cross-references: DefaultForm → Form, AuxiliaryForm | ERROR / WARN | -| 6 | Attributes: UUID, Name, Type | ERROR | -| 7 | TabularSections: UUID, Name, GeneratedType, Attributes | ERROR / WARN | -| 8 | Уникальность имён (Attribute, TS, Form, Template, Command) | ERROR | -| 9 | Файлы: формы (.xml + Ext/Form.xml), макеты | ERROR | -| 10 | Дескрипторы форм: корневая структура, uuid, Name, FormType | ERROR / WARN | - -Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации. diff --git a/.claude/skills/erf-validate/SKILL.md b/.claude/skills/erf-validate/SKILL.md index 48345bc5..ba621002 100644 --- a/.claude/skills/erf-validate/SKILL.md +++ b/.claude/skills/erf-validate/SKILL.md @@ -19,7 +19,7 @@ allowed-tools: | Параметр | Обяз. | Умолч. | Описание | |------------|:-----:|---------|-------------------------------------------------| | ObjectPath | да | — | Путь к корневому XML или каталогу отчёта | -| Detailed | нет | — | Показывать [OK] для каждой проверки | +| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 30 | Остановиться после N ошибок | | OutFile | нет | — | Записать результат в файл (UTF-8 BOM) | @@ -30,19 +30,3 @@ powershell.exe -NoProfile -File .claude/skills/epf-validate/scripts/epf-validate powershell.exe -NoProfile -File .claude/skills/epf-validate/scripts/epf-validate.ps1 -ObjectPath "src/МойОтчёт/МойОтчёт.xml" ``` -## Проверки - -| # | Проверка | Серьёзность | -|----|-------------------------------------------------------|--------------| -| 1 | Root structure: MetaDataObject/ExternalReport | ERROR | -| 2 | InternalInfo: ClassId, ContainedObject, GeneratedType | ERROR / WARN | -| 3 | Properties: Name, Synonym, MainDataCompositionSchema | ERROR / WARN | -| 4 | ChildObjects: допустимые типы, порядок | ERROR / WARN | -| 5 | Cross-references: DefaultForm, MainDCS → Template | ERROR / WARN | -| 6 | Attributes: UUID, Name, Type | ERROR | -| 7 | TabularSections: UUID, Name, GeneratedType, Attributes | ERROR / WARN | -| 8 | Уникальность имён (Attribute, TS, Form, Template, Command) | ERROR | -| 9 | Файлы: формы (.xml + Ext/Form.xml), макеты | ERROR | -| 10 | Дескрипторы форм: корневая структура, uuid, Name, FormType | ERROR / WARN | - -Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации. diff --git a/.claude/skills/form-validate/SKILL.md b/.claude/skills/form-validate/SKILL.md index 0c52059d..fc305b12 100644 --- a/.claude/skills/form-validate/SKILL.md +++ b/.claude/skills/form-validate/SKILL.md @@ -17,7 +17,7 @@ allowed-tools: | Параметр | Обяз. | Умолч. | Описание | |-----------|:-----:|---------|-----------------------------------------| | FormPath | да | — | Путь к файлу Form.xml | -| Detailed | нет | — | Показывать [OK] для каждой проверки | +| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 30 | Остановиться после N ошибок | ## Команда @@ -27,24 +27,3 @@ powershell.exe -NoProfile -File .claude/skills/form-validate/scripts/form-valida powershell.exe -NoProfile -File .claude/skills/form-validate/scripts/form-validate.ps1 -FormPath "src/МояОбработка/Forms/Форма/Ext/Form.xml" ``` -## Проверки - -| # | Проверка | Серьёзность | -|---|---|---| -| 1 | Корневой элемент `
`, version="2.17" | ERROR / WARN | -| 2 | `` присутствует, id="-1" | ERROR | -| 3 | Уникальность ID элементов (отдельный пул) | ERROR | -| 4 | Уникальность ID реквизитов (отдельный пул) | ERROR | -| 5 | Уникальность ID команд (отдельный пул) | ERROR | -| 6 | Companion-элементы (ContextMenu, ExtendedTooltip, и др.) | ERROR | -| 7 | DataPath → ссылается на существующий реквизит | ERROR | -| 8 | CommandName кнопок → ссылается на существующую команду | ERROR | -| 9 | События имеют непустые имена обработчиков | ERROR | -| 10 | Команды имеют Action (обработчик) | ERROR | -| 11 | Не более одного MainAttribute | ERROR | -| 12 | BaseForm: наличие и version (при расширении) | OK / WARN | -| 13 | callType значения: Before, After, Override | ERROR | -| 14 | ID расширения >= 1000000 для добавленных attrs/commands | WARN | -| 15 | callType без BaseForm — некорректная структура | WARN | - -Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации. diff --git a/.claude/skills/interface-validate/SKILL.md b/.claude/skills/interface-validate/SKILL.md index 1f6a1386..422b972c 100644 --- a/.claude/skills/interface-validate/SKILL.md +++ b/.claude/skills/interface-validate/SKILL.md @@ -17,7 +17,7 @@ allowed-tools: | Параметр | Обяз. | Умолч. | Описание | |-----------|:-----:|---------|-----------------------------------------| | CIPath | да | — | Путь к CommandInterface.xml | -| Detailed | нет | — | Показывать [OK] для каждой проверки | +| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 30 | Остановиться после N ошибок | | OutFile | нет | — | Записать результат в файл (UTF-8 BOM) | @@ -27,23 +27,3 @@ allowed-tools: powershell.exe -NoProfile -File ".claude/skills/interface-validate/scripts/interface-validate.ps1" -CIPath "Subsystems/Продажи" powershell.exe -NoProfile -File ".claude/skills/interface-validate/scripts/interface-validate.ps1" -CIPath "Subsystems/Продажи/Ext/CommandInterface.xml" ``` - -## Проверки (13) - -| # | Проверка | Серьёзность | -|----|--------------------------------------------------------------|-------------| -| 1 | XML well-formedness + root element (CommandInterface, version, namespace) | ERROR | -| 2 | Допустимые дочерние элементы (только 5 секций) | ERROR | -| 3 | Порядок секций корректен | ERROR | -| 4 | Нет дублирующихся секций | ERROR | -| 5 | CommandsVisibility — Command.name + Visibility/xr:Common | ERROR | -| 6 | CommandsVisibility — нет дубликатов по name | WARN | -| 7 | CommandsPlacement — Command.name + CommandGroup + Placement | ERROR | -| 8 | CommandsOrder — Command.name + CommandGroup | ERROR | -| 9 | SubsystemsOrder — Subsystem непустой, формат Subsystem.X | ERROR | -| 10 | SubsystemsOrder — нет дубликатов | WARN | -| 11 | GroupsOrder — Group непустой | ERROR | -| 12 | GroupsOrder — нет дубликатов | WARN | -| 13 | Формат ссылок на команды | WARN | - -Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации. diff --git a/.claude/skills/meta-validate/SKILL.md b/.claude/skills/meta-validate/SKILL.md index e0e794f5..3e17bef0 100644 --- a/.claude/skills/meta-validate/SKILL.md +++ b/.claude/skills/meta-validate/SKILL.md @@ -17,7 +17,7 @@ allowed-tools: | Параметр | Обяз. | Умолч. | Описание | |------------|:-----:|---------|-------------------------------------------------| | ObjectPath | да | — | Путь к XML-файлу или каталогу. Через `\|` для batch | -| Detailed | нет | — | Показывать [OK] для каждой проверки | +| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 30 | Остановиться после N ошибок (per object) | | OutFile | нет | — | Записать результат в файл (UTF-8 BOM) | @@ -27,33 +27,3 @@ allowed-tools: powershell.exe -NoProfile -File .claude/skills/meta-validate/scripts/meta-validate.ps1 -ObjectPath "Catalogs/Номенклатура/Номенклатура.xml" powershell.exe -NoProfile -File .claude/skills/meta-validate/scripts/meta-validate.ps1 -ObjectPath "Catalogs/Банки|Documents/Заказ" ``` - -## Поддерживаемые типы (23) - -**Ссылочные:** Catalog, Document, Enum, ExchangePlan, ChartOfAccounts, ChartOfCharacteristicTypes, ChartOfCalculationTypes, BusinessProcess, Task -**Регистры:** InformationRegister, AccumulationRegister, AccountingRegister, CalculationRegister -**Отчёты/Обработки:** Report, DataProcessor -**Сервисные:** CommonModule, ScheduledJob, EventSubscription, HTTPService, WebService -**Прочие:** Constant, DocumentJournal, DefinedType - -## Проверки - -| # | Проверка | Серьёзность | -|----|------------------------------------------|--------------| -| 1 | XML well-formedness + root structure | ERROR | -| 2 | InternalInfo / GeneratedType | ERROR / WARN | -| 3 | Properties — Name, Synonym | ERROR / WARN | -| 4 | Properties — enum-значения свойств | ERROR | -| 5 | StandardAttributes | ERROR / WARN | -| 6 | ChildObjects — допустимые элементы | ERROR | -| 7 | Attributes/Dimensions/Resources — UUID, Name, Type | ERROR | -| 7b | Reserved attribute names | WARN | -| 8 | Уникальность имён | ERROR | -| 9 | TabularSections — внутренняя структура | ERROR / WARN | -| 10 | Кросс-свойства | ERROR / WARN | -| 11 | HTTPService/WebService — вложенная структура | ERROR | -| 12 | Forbidden properties per type | ERROR | -| 13 | Method reference (Handler/MethodName) | ERROR / WARN | -| 14 | DocumentJournal Columns | ERROR | - -Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации. diff --git a/.claude/skills/mxl-validate/SKILL.md b/.claude/skills/mxl-validate/SKILL.md index 1e680ce8..994b654a 100644 --- a/.claude/skills/mxl-validate/SKILL.md +++ b/.claude/skills/mxl-validate/SKILL.md @@ -17,7 +17,7 @@ allowed-tools: | Параметр | Обяз. | Умолч. | Описание | |---------------|:-----:|---------|--------------------------------------------| | TemplatePath | да | — | Путь к макету (директория или Template.xml) | -| Detailed | нет | — | Показывать [OK] для каждой проверки | +| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 20 | Остановиться после N ошибок | ## Команда @@ -27,21 +27,3 @@ powershell.exe -NoProfile -File .claude/skills/mxl-validate/scripts/mxl-validate powershell.exe -NoProfile -File .claude/skills/mxl-validate/scripts/mxl-validate.ps1 -TemplatePath "src/МояОбработка/Templates/ПечатнаяФорма" ``` -## Проверки - -| # | Проверка | Серьёзность | -|---|---|---| -| 1 | `` >= максимальный индекс строки + 1 | ERROR | -| 2 | `` <= `` | WARN | -| 3 | Индексы форматов ячеек (``) в пределах палитры форматов | ERROR | -| 4 | `` строк и колонок в пределах палитры | ERROR | -| 5 | Индексы колонок в ячейках (``) в пределах количества колонок (с учётом набора) | ERROR | -| 6 | `` строк ссылается на существующий набор колонок | ERROR | -| 7 | `` в merge/namedItem ссылается на существующий набор | ERROR | -| 8 | Диапазоны именованных областей в пределах границ документа | ERROR | -| 9 | Диапазоны объединений в пределах границ документа | ERROR | -| 10 | Индексы шрифтов в форматах в пределах палитры шрифтов | ERROR | -| 11 | Индексы линий границ в форматах в пределах палитры линий | ERROR | -| 12 | `pictureIndex` рисунков ссылается на существующую картинку | ERROR | - -Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации. diff --git a/.claude/skills/role-validate/SKILL.md b/.claude/skills/role-validate/SKILL.md index f48b6e05..40e12768 100644 --- a/.claude/skills/role-validate/SKILL.md +++ b/.claude/skills/role-validate/SKILL.md @@ -16,7 +16,7 @@ allowed-tools: | Параметр | Обяз. | Умолч. | Описание | |--------------|:-----:|---------|-------------------------------------------------| | RightsPath | да | — | Путь к роли (директория или `Rights.xml`) | -| Detailed | нет | — | Показывать [OK] для каждой проверки | +| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 30 | Макс. ошибок до остановки (по умолчанию 30) | | OutFile | нет | — | Записать результат в файл (UTF-8 BOM) | @@ -25,18 +25,3 @@ allowed-tools: ```powershell powershell.exe -NoProfile -File .claude/skills/role-validate/scripts/role-validate.ps1 -RightsPath "Roles/МояРоль" ``` - -## Проверки - -| # | Проверка | Серьёзность | -|---|----------|-------------| -| 1 | XML well-formed — парсинг без ошибок | ERROR | -| 2 | Корневой элемент `` с namespace `http://v8.1c.ru/8.2/roles` | ERROR | -| 3 | Три глобальных флага: setForNewObjects, setForAttributesByDefault, independentRightsOfChildObjects | ERROR | -| 4 | Объекты: name не пуст, тип распознан, права валидны для типа (с подсказкой при опечатке) | ERROR/WARN | -| 5 | Вложенные объекты (3+ сегмента): допустимы только View, Edit (или Use для IntegrationServiceChannel) | ERROR | -| 6 | RLS ``: condition не пуст | ERROR | -| 7 | Шаблоны ``: name и condition не пусты | ERROR | -| 8 | Метаданные (если MetadataPath): UUID, Name, Synonym | ERROR/WARN | - -Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации. diff --git a/.claude/skills/skd-validate/SKILL.md b/.claude/skills/skd-validate/SKILL.md index 3bc20d73..035e70cf 100644 --- a/.claude/skills/skd-validate/SKILL.md +++ b/.claude/skills/skd-validate/SKILL.md @@ -17,7 +17,7 @@ allowed-tools: | Параметр | Обяз. | Умолч. | Описание | |--------------|:-----:|---------|---------------------------------------------------------| | TemplatePath | да | — | Путь к Template.xml или каталогу макета | -| Detailed | нет | — | Показывать [OK] для каждой проверки | +| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 20 | Остановиться после N ошибок | | OutFile | нет | — | Записать результат в файл | @@ -27,22 +27,3 @@ allowed-tools: powershell.exe -NoProfile -File .claude/skills/skd-validate/scripts/skd-validate.ps1 -TemplatePath "src/МойОтчёт/Templates/ОсновнаяСхема" powershell.exe -NoProfile -File .claude/skills/skd-validate/scripts/skd-validate.ps1 -TemplatePath "Catalogs/Номенклатура/Templates/СКД/Ext/Template.xml" ``` - -## Проверки (~30) - -| Группа | Что проверяется | -|--------|-----------------| -| **Root** | XML parse, корневой элемент `DataCompositionSchema`, default namespace, ns-префиксы | -| **DataSource** | Наличие, name не пуст, type валиден (Local/External), уникальность имён | -| **DataSet** | Наличие, xsi:type валиден, name не пуст, уникальность, ссылка на dataSource, query не пуст | -| **Fields** | dataPath не пуст, field не пуст, уникальность dataPath в наборе | -| **Links** | source/dest ссылаются на существующие наборы, expressions не пусты | -| **CalcFields** | dataPath не пуст, expression не пуст, уникальность, коллизии с полями наборов | -| **TotalFields** | dataPath не пуст, expression не пуст | -| **Parameters** | name не пуст, уникальность | -| **Templates** | name не пуст, уникальность | -| **GroupTemplates** | template ссылается на существующий template, templateType валиден | -| **Variants** | Наличие, name не пуст, settings element присутствует | -| **Settings** | selection/filter/order ссылаются на известные поля, comparisonType валиден, structure items типизированы | - -Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации. diff --git a/.claude/skills/subsystem-validate/SKILL.md b/.claude/skills/subsystem-validate/SKILL.md index 2893f77e..b75c4d7f 100644 --- a/.claude/skills/subsystem-validate/SKILL.md +++ b/.claude/skills/subsystem-validate/SKILL.md @@ -17,7 +17,7 @@ allowed-tools: | Параметр | Обяз. | Умолч. | Описание | |---------------|:-----:|---------|--------------------------------------------| | SubsystemPath | да | — | Путь к XML-файлу подсистемы | -| Detailed | нет | — | Показывать [OK] для каждой проверки | +| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) | | MaxErrors | нет | 30 | Остановиться после N ошибок | | OutFile | нет | — | Записать результат в файл | @@ -27,23 +27,3 @@ allowed-tools: powershell.exe -NoProfile -File ".claude/skills/subsystem-validate/scripts/subsystem-validate.ps1" -SubsystemPath "Subsystems/Продажи" powershell.exe -NoProfile -File ".claude/skills/subsystem-validate/scripts/subsystem-validate.ps1" -SubsystemPath "Subsystems/Продажи.xml" ``` - -## Проверки (13) - -| # | Проверка | Серьёзность | -|---|----------|-------------| -| 1 | XML well-formedness + root structure (MetaDataObject/Subsystem) | ERROR | -| 2 | Properties — 9 обязательных свойств | ERROR | -| 3 | Name — непустой, валидный идентификатор | ERROR | -| 4 | Synonym — непустой (хотя бы один v8:item) | WARN | -| 5 | Булевы свойства — содержат true/false | ERROR | -| 6 | Content — формат xr:Item, xsi:type | ERROR | -| 7 | Content — нет дубликатов | WARN | -| 8 | ChildObjects — элементы непустые | ERROR | -| 9 | ChildObjects — нет дубликатов | WARN | -| 10 | ChildObjects → файлы существуют | WARN | -| 11 | CommandInterface.xml — well-formedness | ERROR | -| 12 | Picture — формат ссылки | ERROR | -| 13 | UseOneCommand=true → ровно 1 элемент в Content | ERROR | - -Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации.