framework_eng/skills/tool-usage/platform-data/xml-generation/subsystem-interface/SKILL.md
Use for creating subsystems, managing their composition, and configuring CommandInterface.xml (visibility, command order, placement in groups). Helps maintain configuration navigation through xml-gen subsystem/interface compile/edit/validate.
npx skillsauth add steelmorgan/1c-agent-based-dev-framework subsystem-interfaceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Trigger | Action |
|---------|----------|
| Need to create a subsystem | subsystem compile subsystem.json <output_dir> |
| Need to view subsystem contents | subsystem info <subsystemPath> |
| Need to add an object to a subsystem | subsystem edit <path> --op add-content --value "Catalog.Товары" |
| Need to validate a subsystem | subsystem validate <subsystemPath> |
| Need to view the subsystem tree | subsystem info --mode tree <subsystemPath> |
| Hide/show a command | xml-gen interface edit … --op hide/show |
| Place a command in a group | xml-gen interface edit … --op place |
| Set the order of commands/subsystems/groups | xml-gen interface edit … --op set-order/set-subsystem-order/set-group-order |
| Validate CommandInterface.xml | xml-gen interface validate <ciPath> |
| Set visibility by role | xml-gen interface edit … --op hide --role <RoleName> |
xml-gen subsystem compile <subsystem.json> <output_dir> [--parent <parentSubsystem.xml>] [--no-stubs]
--parent <path> — bottom-up registration: the new subsystem is added to the parent subsystem's ChildObjects (instead of Configuration.xml).--no-stubs — disable automatic creation of stub XML for declared content items and children without files. Enabled by default so validation does not fail in an intermediate state.xml-gen subsystem info [--mode brief|overview|full|tree|ci] <subsystemPath>
xml-gen subsystem edit <subsystemPath> --op <operation> --value <value>
Operations: add-content / remove-content / add-child / remove-child / set-property
add-content — "Catalog.Товары" or ["Catalog.Товары","Document.Заказ"]add-child — if the file <Parent>/Subsystems/<childName>.xml does not exist, stub XML is created.set-property — "IncludeInCommandInterface=true", "Synonym=Торговля", "Picture=CommonPicture.ТорговляИСклад"13 checks: XML structure, Properties, Content, ChildObjects, files, CommandInterface.
xml-gen subsystem validate <subsystemPath>
xml-gen interface edit <ciPath> --op <operation> --value <value> [--role <RoleName>] [--create-if-missing] [--no-validate] [--definition-file <file.json>]
ciPath — path to CommandInterface.xml or to the subsystem directory (Ext/CommandInterface.xml is added automatically).--definition-file — JSON file with an array of operations (batch mode; incompatible with --op).--create-if-missing — create a new file if missing.--no-validate — skip automatic validation after changes.| Operation | --value argument |
|----------|--------------------|
| hide | "Catalog.Товары.StandardCommand.Create" or ["Cmd1","Cmd2"] |
| show | "Report.Продажи.Command.Отчёт" |
| place | "command=Catalog.X.StandardCommand.Create group=CommandGroup.Документы" |
| set-order | '{"group":"CommandGroup.Отчеты","commands":["Cmd1","Cmd2"]}' |
| set-subsystem-order | '["Subsystem.X.Subsystem.A","Subsystem.X.Subsystem.B"]' |
| set-group-order | '["NavigationPanelOrdinary","NavigationPanelImportant"]' |
[
{ "op": "hide", "value": "Catalog.Товары.StandardCommand.OpenList" },
{ "op": "show", "value": "Report.Продажи.Command.Отчёт" },
{ "op": "place", "value": "command=CommonCommand.Настройки group=CommandGroup.Сервис" }
]
xml-gen interface validate <ciPath> [--detailed] [--max-errors <N>]
13 checks: root element <CommandInterface>, allowed sections (CommandsVisibility/CommandsPlacement/CommandsOrder/SubsystemsOrder/GroupsOrder), canonical section order, reference format, duplicates, true/false values, group references, Subsystem.X.Subsystem.Y format, UTF-8 BOM encoding, extra attributes.
The reviewer subagent must call interface validate before the final review of changes in CommandInterface.xml.
| Type | Example |
|-----|--------|
| Common command | CommonCommand.ОткрытьСправочник |
| Standard catalog command | Catalog.Товары.StandardCommand.Create |
| Standard command (list) | Catalog.Товары.StandardCommand.OpenList |
| Object command | Catalog.Товары.Command.ПечатьЭтикетки |
| Report command | Report.Продажи.Command.Отчёт |
| UUID reference | 0:<uuid> |
By default, interface edit runs interface validate after each change.
development
1C server maintenance webhooks: container restart and external component cache cleanup
development
Interactive DAP debugging of a single BSL procedure
tools
Rules for using RLM tools for project search and navigation in 1C/BSL
development
Creates web applications and routes on Winow (a web server on OneScript and Autumn). Use when working with a web server on OneScript, routing, or Winow controllers.