Reverse of /mxl-compile: reads Template.xml and produces compact
JSON definition with auto-generated font/style names, rowStyle
detection, span/rowspan mapping, and column width compression.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Shared spec for mxl-compile and future mxl-decompile.
Compiler SKILL.md now references the spec instead of inlining it.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- rowspan: vertical cell merging with rowStyle gap-fill awareness
- numberFormat: style field generates nested <format> in palette
- Updated SKILL.md: new fields, removed from limitations
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Esc-Xml helper to escape &, <, >, " in cell text and
template content to prevent invalid XML generation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
JSON DSL format compiles to valid 1C Template.xml with correct
format palettes, merges, named areas, and rowStyle gap-filling.
Tested on simple (4 areas) and invoice (7 areas) templates.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Parameters from [ParamName] placeholders in template text are now always
extracted and shown with [tpl] suffix. Numeric-only placeholders like [5]
(footnote references in legal forms) are filtered out.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Script improvements:
- Sort areas by position (top-to-bottom) instead of alphabetically
- Extract detailParameter (drill-down links)
- Show column set sizes in header and per-area [colset 20cols]
- Detect Rows+Columns intersections with GetArea hint
SKILL.md: add "Reading the Output" section explaining area order,
column sets, intersections, detailParameter, and text content.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Based on УКД (universal correction document) template analysis.
Multiple <columns> with UUID allow rows to use independent
column grids. Merges and named areas also reference column sets.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Based on real templates from 1C:Accounting — invoice (horizontal
areas, 33 columns) and label (vertical area, drawing, barcode).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Skills are self-contained — all templates and instructions are
in SKILL.md. Removed spec references that could mislead the
model into trying to read files that may not exist. Updated
README to note that docs/ is not needed when copying skills.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
README: replace abstract examples with realistic scenarios — processor
with form for data manipulation, BSP print form with spreadsheet
template, incremental additions. Emphasize natural language over slash
commands.
epf-add-template SKILL.md: add Russian name mapping for template types
(табличный документ, текстовый документ).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Show that users can describe tasks in free form — Claude will pick
the right skills automatically. Slash commands still work for precise
control.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New skill /epf-add-help creates built-in help files (Help.xml + HTML page)
for external data processors. Also adds IncludeHelpInContents to form
metadata if missing.
New spec docs/1c-help-spec.md documents the help file format, HTML
template, and help button integration on forms.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New skills for working with BSP (Standard Subsystems Library) mechanism:
- epf-bsp-init: adds СведенияОВнешнейОбработке() to object module
- epf-bsp-add-command: adds commands to existing BSP processor
Both skills use code templates in SKILL.md (no PowerShell scripts) —
Claude modifies BSL code directly via Read/Edit.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Added parameters column to skills table
- Noted that remove skills are manual-only
- Removed --main from quick start (first form is auto-main)
- Added "Подключение к проекту" section
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- argument-hint: shows expected parameters when typing /command
- disable-model-invocation on epf-remove-form and epf-remove-template
prevents Claude from invoking destructive operations autonomously
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When adding the first form to a processor, DefaultForm is now set
automatically without requiring the --main flag. The --main flag
is still available to reassign DefaultForm to a different form.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7 skills for working with 1C external data processor XML sources:
- epf-init: scaffold a new processor (root XML + ObjectModule.bsl)
- epf-add-form: add a managed form with BSL module
- epf-add-template: add a template (HTML/Text/SpreadsheetDocument/BinaryData)
- epf-remove-form: remove a form and update root XML
- epf-remove-template: remove a template and update root XML
- epf-build: build EPF from XML (documentation only)
- epf-dump: dump EPF to XML (documentation only)
Includes XML format spec and build/dump command reference.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>