Skip to main content
skill CX Codex

xdto-validate — Claude Code skill: what it does, how to install

Statically validates 1C XDTO packages before applying them to a configuration. Catches missing types and broken metadata relations in source files.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin marketplace add Nikolay-Shirokov/cc-1c-skills
/plugin install 1c-skills@cc-1c-skills
Open on GitHub

What xdto-validate does

The skill executes xdto-validate.ps1 via powershell.exe to inspect XDTO package structures, metadata files, and their links to 1C configuration source trees. Each issue appears on a separate line tagged with [ERROR] or [WARN]. Any critical failure exits with code 1.

Static inspection catches issues that the 1C engine overlooks during import. When a referenced type from another namespace cannot be resolved, the platform silently substitutes it with xs:anyType. That leaves the package visually valid until runtime operations fail or return untyped data.

Target inputs accept a directory path, an Ext/Package.bin binary, or an XML metadata file via PackagePath. The checker stops after 20 errors by default unless overridden with MaxErrors. Without PowerShell in the host environment, validation scripts will not run.

What it helps with

  • detect unresolved namespace types prior to importing packages into 1C
  • verify metadata links between XDTO definitions and configuration sources
  • export detailed issue logs to a file with -OutFile
  • prevent silent type fallback to xs:anyType during runtime data extraction

Example prompts for the agent

  • /xdto-validate PackagePath "src/XDTOpackages/OrderExchange"
  • /xdto-validate PackagePath "Ext/Package.bin" -Detailed -OutFile "report.txt"
  • /xdto-validate PackagePath "Order.xml" -ConfigDir "src/cf" -MaxErrors 5

How to install xdto-validate

1Plugin marketplace

/plugin marketplace add Nikolay-Shirokov/cc-1c-skills
/plugin install 1c-skills@cc-1c-skills

This installs the whole 1c-skills plugin with all its skills

2Skills CLI (Vercel)

npx skills add Nikolay-Shirokov/cc-1c-skills --skill xdto-validate -a claude-code

3Manually: put the files in place

~/.claude/skills/xdto-validate/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/xdto-validate/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about xdto-validate

How to install xdto-validate in Claude Code?

In Claude Code, run /plugin marketplace add Nikolay-Shirokov/cc-1c-skills and then run /plugin install 1c-skills@cc-1c-skills.

What does xdto-validate do?

It checks 1C XDTO package models and metadata integrity, returning exit code 1 when critical flaws are detected.

Why run validation if 1C loads the package without errors?

The 1C runtime often masks unresolved schema references by replacing missing types with xs:anyType, which leads to untyped objects during runtime processing.

Source text

SKILL.md · MIT
---
name: xdto-validate
description: Валидация пакета XDTO 1С. Используй после создания или модификации пакета XDTO для проверки корректности
argument-hint: <PackagePath> [-ConfigDir <каталог>] [-Detailed] [-MaxErrors N] [-OutFile <файл>]
allowed-tools:
  - Bash
  - Read
  - Glob
---

# /xdto-validate — Валидация пакета XDTO

Проверяет модель пакета, объект метаданных и его связь с конфигурацией.
Каждая находка выводится отдельной строкой с объяснением. Exit code `1` при ошибках.

## Параметры

| Параметр | Обязательный | Описание |
|----------|--------------|----------|
| `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 "<путь>"
```

`[ERROR]` — платформа такой пакет не примет либо примет неправильно.
`[WARN]` — пакет рабочий, но есть риск, о котором стоит знать.

## Зачем запускать, если пакет и так грузится

Часть дефектов платформа не диагностирует: неразрешённый тип из чужого пространства
имён она молча подменяет на `xs:anyType`, и пакет выглядит загруженным, пока
`ФабрикаXDTO` не отдаст в рантайме бесструктурное значение. Такие вещи видно только
статически — до загрузки в базу.

## Типичный workflow

1. `/xdto-compile`, `/xdto-edit` или переработка через `/xdto-decompile` → `/xdto-compile -Force`
2. `/xdto-validate <путь>` — до загрузки в базу
3. `/db-load-xml` + `/db-update`

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

Topics and platforms

SKILL.md skills catalog →

From the same set59

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor