xdto-edit

Applies point edits to 1C XDTO packages via XSD round-trip.

578|108|Updated Feb 8, 2026
One-click install
npx skills add https://github.com/Nikolay-Shirokov/cc-1c-skills --skill xdto-edit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: xdto-edit
Source: https://github.com/Nikolay-Shirokov/cc-1c-skills/tree/main/.claude/skills/xdto-edit
Command: npx skills add https://github.com/Nikolay-Shirokov/cc-1c-skills --skill xdto-edit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires lxml, and includes scripts (resource) components.

What problem does it solve?

Editing a large 1C XDTO package (like EnterpriseData, around a megabyte) normally requires reading and rewriting the entire schema, which is slow and error-prone. This Skill changes a single element of the package — a type, property, enumeration value, import, name, or namespace — without touching anything else.

Core Features & Use Cases

  • Point model edits: Add, replace, or remove properties and types, add enumeration literals and namespace imports, addressed by paths like Тип.Свойство with batch support via ;;.
  • Metadata operations: Rename the package (updating the file, directory, and Configuration.xml registration), set synonym, comment, or target namespace with automatic internal reference updates.
  • Safety and validation: A support-guard blocks edits to vendor objects locked on support, and every edit is automatically verified by xdto-validate unless disabled with -NoValidate.
  • Use Case: You need to add an optional Комментарий string field to the Платёж type in an exchange package — run one add-property operation with an XSD fragment instead of decompiling and recompiling the whole schema by hand.

Quick Start

Ask the AI to add a new optional string property to a specific type in your XDTO package using the xdto-edit skill, providing the package path and the XSD fragment for the new element.

Frequently Asked Questions about xdto-edit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a property to a type in a 1C XDTO package?

Run the add-property operation with the type name as Target and an xs:element or xs:attribute fragment as Value. The script decompiles the package to XSD, inserts the declaration into the type body, and recompiles the package.

How do I rename an XDTO package in a 1C configuration?

Use the rename operation with the new name as Value. It updates the metadata object, renames the XML file and directory, fixes the registration in Configuration.xml, and validates the new name as a proper 1C identifier.

Does xdto-edit work on Linux or only Windows?

Both. The skill ships a PowerShell script for Windows and a Python port using lxml for Linux and macOS, with matching behavior including case-insensitive parameter handling.

Why does xdto-edit refuse to edit my package?

The support-guard blocks edits when the package belongs to a vendor configuration on support and the object is locked or the configuration is read-only. Set editingAllowedCheck to warn or off in .v8-project.json, or move the change into an extension.

What happens to other packages when I change a namespace?

set-namespace updates targetNamespace and internal self-references, but dependent packages importing the old namespace are not modified. The skill lists them so you can fix their imports manually if the change is not versioning-related.

When should I use xdto-edit instead of xdto-compile?

Use xdto-edit for single-element changes in large packages where full recompilation is impractical. Use xdto-decompile plus xdto-compile when you need to rework the whole schema or first understand its structure.