| name | 1c-metadata-manage |
| description | 1C metadata management — create, edit, validate, and remove configuration objects (catalogs, documents, registers, enums), managed forms, data composition schemas (SKD), spreadsheet layouts (MXL), roles, external processors (EPF/ERF), extensions (CFE), configurations (CF), databases, subsystems, command interfaces, templates. Use when working with 1C metadata structure. |
1C Metadata Manage — Skill Dispatch
Use this skill when the task involves 1C metadata structure (creating, editing, validating, or removing configuration objects, forms, reports, layouts, roles, extensions, or databases).
Hard rule
Any mutation of metadata XML — Configuration.xml, object XML, Form.xml, MXL / SKD layouts, Role.xml, subsystems, command interfaces — is executed through this skill (dispatch below → domain doc → PowerShell tools) or through the 1c-metadata-manager subagent. The tools under tools/ handle BOM, encodings, UUID regeneration, ChildObjects ordering and cross-references that are easy to break manually. Hand-editing these files while the skill is available is a defect (AGENTS.md → Skills and Subagents), not a slower-but-acceptable alternative.
The same gate covers infobase operations (create / run, load / dump configuration, /UpdateDBCfg, web publication): use the db-ops / web-ops tools of this skill (db-manage.md, web-manage.md) or the matching slash command (/update1cbase, /loadfrom1cbase, /getconfigfiles, /deploy-and-test) — never an ad-hoc 1cv8.exe / ibcmd command line composed from memory. DB updates follow the iterative retry discipline (db-manage.md → Update retry discipline).
Repository-bound projects: when .dev.env REPOSITORY_PATH is set, the configuration is bound to a 1C configuration repository (хранилище) — objects must be locked in the repository before this skill mutates them and committed after verification, and repository operations themselves go through the 1c-repository-manage skill (content/skills/1c-repository-manage/SKILL.md, process — its docs/repo-sdlc.md). A "configuration object is read-only / locked" failure in a mutating or DB-update run on such a project routes there, not into a retry loop. Never unbind the configuration from the repository to proceed (AGENTS.md / that skill's Safety invariant 5).
EDT-format sources: the tools of this skill address the Designer XML dump (Configuration.xml, object XML, Form.xml, MXL / SKD, Role.xml). A project developed in 1C:EDT (.dev.env USE_EDT=true) may instead keep its sources in EDT format — .project, DT-INF/, src/**/*.mdo, Form.form — which is outside this toolchain: never point these scripts at src/, and never hand-edit *.mdo / *.form as a workaround. Metadata mutations there go through EDT (EDT-MCP create_metadata / modify_metadata / rename_metadata_object / …, the EDT UI, or a confirmed export → XML → import round trip) per content/rules/edt-workflow.md. When the working tree is a Designer XML dump, this skill applies unchanged whether or not the humans edit it in EDT.
The only exceptions:
- Unambiguous one-line fix of an existing value that cannot break structure — a synonym / comment typo, a boolean flag flip on an existing element. Anything that adds / removes / reorders elements, touches UUIDs, or spans more than one line of XML is not "one-line".
- Skill not available in the session (files not installed / not exposed) — state it once in one line, then hand-edit with
metadata-xml-workarounds.md loaded and validate per verification-gates.md → Gate 5.
- Read-only analysis of metadata XML is not a mutation — reading files directly is fine (subject to
mcp-first-search.md for locating them).
Vendor support gate
Every mutating tool of this skill refuses to edit an object of a typical configuration on vendor support that is locked ("на замке"), and refuses to delete one that has not been taken off support. This is not advisory: the run exits 1 with a diagnostic. Editing such an object directly breaks future vendor updates silently, so the refusal is the correct outcome, not an obstacle to route around by hand-editing the XML.
The default answer when a typical object needs a change is an extension (cfe-borrow / cfe-patch-method) — support state stays untouched and updates keep working. Deliberately changing support state is the support-edit tool. Both paths, plus the SUPPORT_GUARD modes in .dev.env (deny — default / warn / off), are in support-manage.md.
In every case the post-edit validation (verify_xml / skill validation scripts) still applies. When reporting a task that mutated metadata / forms / layouts, name the path used in one line (Metadata tooling: <tool / subagent> or hand-edit — <exception>) per AGENTS.md → Skills and Subagents.
Path conventions
PowerShell examples in this skill (SKILL.md and every docs/*.md) use the prefix skills/1c-metadata-manage/tools/.... That prefix is relative to the active tool's skills directory, not to the repository root:
- After installation: the script lives under
<tool>/skills/1c-metadata-manage/tools/... (e.g. .cursor/skills/1c-metadata-manage/tools/..., .claude/skills/1c-metadata-manage/tools/..., .kilo/skills/1c-metadata-manage/tools/..., .ai-agent/skills/1c-metadata-manage/tools/...). Active tools that load this skill resolve the prefix automatically.
- In the
1c-rules source repository (when editing the skill itself): the same script lives under content/skills/1c-metadata-manage/tools/.... Prepend content/ when running the example outside of an installed project.
The same convention applies to docs/*.md references like skills/1c-metadata-manage/tools/1c-skd-info/modes-reference.md.
Dispatch Strategy
Determine task complexity, then choose the execution mode:
Direct execution — simple / read-only tasks
Use when the task is a single lightweight query: checking metadata info, a quick lookup, one validation call. In this case identify the task domain from the table below, read the corresponding file, and follow its instructions directly.
Subagent delegation — complex / mutation tasks
Delegate to the 1c-metadata-manager subagent (defined in content/agents/metadata-manager.md, or in the installed agents directory for the active tool) when any of the following is true:
- The task creates, scaffolds, or compiles metadata (objects, forms, SKD, MXL, roles, EPF, CF, CFE, databases)
- The task edits multiple files or spans multiple domains
- The task involves a multi-step workflow (create → edit → validate → fix → re-validate)
- The task requires reading large domain docs (forms, meta-manage, SKD, MXL, roles, EPF, DB — each 200–800 lines)
The subagent already knows how to read the skill docs, execute PowerShell scripts, and validate results. Provide it with the full task description including object names, attributes, types, and any business context from the conversation.
Task Domain Table
| Task Domain | Keywords | File |
|---|
| Metadata objects — create, edit, analyze, remove, validate | catalog, document, register, enum, constant, module, attribute, tabular section | meta-manage.md |
| UUID integrity — duplicate identities in an XML dump | UUID, duplicate uuid, TypeId, ValueId, identity collision, load failure after generation | uuid-check.md |
| Managed forms — design, create, edit, analyze, validate | form, Form.xml, UI, elements, commands, events | form-manage.md |
| Managed-form layout patterns — archetypes, naming conventions, advanced patterns | form patterns, archetype, layout, naming, ERP form, list form, document form, wizard | form-patterns.md → canonical content/rules/form-patterns.md |
Form-compile DSL reference — full JSON DSL spec for 1c-form-compile, --from-object mode, presets | form DSL, form-compile, autoCmdBar, columnGroup, RadioButtonField, --from-object, form preset | form-compile-dsl.md |
| Data Composition Schema (DCS/SKD) — create, edit, analyze, decompile, validate | report, DCS, SKD, data composition, data set, query, decompile | skd-manage.md |
| Spreadsheet documents (MXL) — create, decompile, analyze, validate | MXL, spreadsheet, template, print form, layout | mxl-manage.md |
| Roles and access rights — create, analyze, validate | role, rights, RLS, access, permissions | role-manage.md |
| External processors/reports (EPF/ERF) — scaffold, build, dump, validate | EPF, ERF, data processor, external report, build, dump |
If the task spans multiple domains, the subagent will read all relevant docs automatically (or read each one directly for simple tasks).