From 1c-skills
Compiles JSON layout definitions into valid 1C MXL Template.xml files for printed forms. Ensures XML correctness with palettes, indexes, merges, and namespaces. Use for tabular document layouts.
npx claudepluginhub nikolay-shirokov/cc-1c-skills --plugin 1c-skillsThis skill uses the workspace's default tool permissions.
---
Decompiles 1C MXL Template.xml files into editable JSON DSL definitions. Useful for analyzing or modifying existing report layouts before recompiling with mxl-compile.
Creates, edits, and formats DOCX documents using .NET OpenXML SDK via CLI or C# scripts. Pipelines for new docs, content filling, and template formatting with validation.
Generates HWPX documents from user-uploaded or default templates using ZIP-level XML text replacement and ObjectFinder surveys. Use for quick report and official document creation.
Share bugs, ideas, or general feedback.
Принимает компактное JSON-определение макета и генерирует корректный Template.xml для табличного документа 1С. Claude описывает что нужно (области, параметры, стили), скрипт обеспечивает корректность XML (палитры, индексы, объединения, namespace).
/mxl-compile <JsonPath> <OutputPath>
| Параметр | Обязательный | Описание |
|---|---|---|
| JsonPath | да | Путь к JSON-определению макета |
| OutputPath | да | Путь для генерации Template.xml |
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -JsonPath "<путь>.json" -OutputPath "<путь>/Template.xml"
.json/mxl-compile для генерации Template.xml/mxl-validate для проверки корректности/mxl-info для верификации структурыЕсли макет создаётся по изображению (скриншот, скан печатной формы) — сначала вызвать /img-grid для наложения сетки, по ней определить границы колонок и пропорции, затем использовать "Nx" ширины + "page" для автоматического расчёта размеров.
Полная спецификация формата: docs/mxl-dsl-spec.md (прочитать через Read tool перед написанием JSON).
Краткая структура:
{ columns, page, defaultWidth, columnWidths,
fonts: { name: { face, size, bold, italic, underline, strikeout } },
styles: { name: { font, align, valign, border, borderWidth, wrap, format } },
areas: [{ name, rows: [{ height, rowStyle, cells: [
{ col, span, rowspan, style, param, detail, text, template }
]}]}]
}
Ключевые правила:
page — формат страницы ("A4-landscape", "A4-portrait" или число). Автоматически вычисляет defaultWidth из суммы пропорций "Nx"col — 1-based позиция колонкиrowStyle — автозаполнение пустот стилем (рамки по всей ширине)param → Parameter, text → Text, template → Templaterowspan — объединение строк вниз (rowStyle учитывает занятые ячейки)