AgentSkillsCN

skd-validate

验证1C数据编排方案(СКД)的结构正确性——Template.xml

SKILL.md
--- frontmatter
name: skd-validate
description: Валидация структурной корректности схемы компоновки данных 1С (СКД) — Template.xml
argument-hint: <TemplatePath> [-MaxErrors 20]
allowed-tools:
  - Bash
  - Read
  - Glob

/skd-validate — валидация СКД (DataCompositionSchema)

Проверяет структурную корректность Template.xml схемы компоновки данных. Выявляет ошибки формата, битые ссылки, дубликаты имён.

Параметры и команда

ПараметрОписание
TemplatePathПуть к Template.xml или каталогу макета (авто-резолв в Ext/Template.xml)
MaxErrorsМакс. ошибок до остановки (по умолчанию 20)
OutFileЗаписать результат в файл
powershell
powershell.exe -NoProfile -File .claude\skills\skd-validate\scripts\skd-validate.ps1 -TemplatePath "<путь>"

Проверки (~30)

ГруппаЧто проверяется
RootXML parse, корневой элемент DataCompositionSchema, default namespace, ns-префиксы
DataSourceНаличие, name не пуст, type валиден (Local/External), уникальность имён
DataSetНаличие, xsi:type валиден, name не пуст, уникальность, ссылка на dataSource, query не пуст
FieldsdataPath не пуст, field не пуст, уникальность dataPath в наборе
Linkssource/dest ссылаются на существующие наборы, expressions не пусты
CalcFieldsdataPath не пуст, expression не пуст, уникальность, коллизии с полями наборов
TotalFieldsdataPath не пуст, expression не пуст
Parametersname не пуст, уникальность
Templatesname не пуст, уникальность
GroupTemplatestemplate ссылается на существующий template, templateType валиден
VariantsНаличие, name не пуст, settings element присутствует
Settingsselection/filter/order ссылаются на известные поля, comparisonType валиден, structure items типизированы

Коды выхода

КодЗначение
0Ошибок нет (могут быть предупреждения)
1Есть ошибки

Пример вывода

code
=== Validation: Template.xml ===

[OK]    XML parsed successfully
[OK]    Root element: DataCompositionSchema
[OK]    Default namespace correct
[OK]    1 dataSource(s) found, names unique
[OK]    1 dataSet(s) found, names unique
[OK]    DataSet "НаборДанных1": 2 fields, dataPath unique
[OK]    1 totalField(s): dataPath and expression present
[OK]    1 settingsVariant(s) found

=== Result: 0 errors, 0 warnings ===

Верификация

code
/skd-compile <JsonPath> <OutputPath>    — генерация XML
/skd-validate <OutputPath>              — проверка результата
/skd-info <OutputPath>                  — визуальная сводка