From cd3e50c408e163aeb0fdb7ccdc4b291dfcbf55cd Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Mon, 25 May 2026 14:37:11 +0300 Subject: [PATCH] =?UTF-8?q?docs(skd-guide):=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C=20/skd-decompile=20=D0=B8=20=D1=81?= =?UTF-8?q?=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B9=20=C2=AB=D0=BF=D0=BE?= =?UTF-8?q?=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B7=D1=86=D1=83=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Дополняем гайд группы skd-*: - В таблицу навыков добавлена строка /skd-decompile с пометкой об отключённом автоподборе моделью. - В блок «Рабочий цикл» нарисована обратная стрелка Template.xml → /skd-decompile → JSON DSL. - Новый под-раздел «Когда /skd-decompile, а когда /skd-edit» с явным предупреждением о неполноте преобразования и тихих потерях. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/skd-guide.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/skd-guide.md b/docs/skd-guide.md index 661be5d1..c74c45c9 100644 --- a/docs/skd-guide.md +++ b/docs/skd-guide.md @@ -8,6 +8,7 @@ |-------|-----------|----------| | `/skd-info` | ` [-Mode] [-Name]` | Анализ структуры СКД: наборы, поля, параметры, ресурсы, варианты (11 режимов, включая full) | | `/skd-compile` | `[-DefinitionFile \| -Value ] -OutputPath ` | Генерация Template.xml из JSON DSL: наборы, поля, итоги, параметры, варианты | +| `/skd-decompile` | ` [-OutputPath ]` | Преобразование Template.xml в JSON-черновик в формате `/skd-compile` — для нового отчёта по образцу или структурной переработки существующего. Из соображений предосторожности исключён из автоматического подбора моделью — вызывается только явной командой | | `/skd-edit` | ` -Operation -Value ""` | Точечное редактирование: 26 атомарных операций (add/set/patch/modify/clear/remove) | | `/skd-validate` | ` [-MaxErrors 20]` | Валидация структурной корректности: ~30 проверок | @@ -15,15 +16,23 @@ ``` Описание отчёта (текст) → JSON DSL → /skd-compile → Template.xml → /skd-validate - ↕ /skd-edit → /skd-info + ↑ ↕ /skd-edit → /skd-info + └──── /skd-decompile ──────┘ ``` -1. Claude формирует JSON-определение СКД (shorthand-поля, параметры, итоги, варианты) +1. Claude формирует JSON-определение СКД (shorthand-поля, параметры, итоги, варианты) — либо с нуля по описанию, либо `/skd-decompile` готовит черновик по существующему Template.xml 2. `/skd-compile` генерирует Template.xml с корректными namespace, типами, группировками 3. `/skd-edit` вносит точечные изменения: добавление полей, фильтров, наборов данных, вариантов, условного оформления и т.д. 4. `/skd-validate` проверяет корректность XML 5. `/skd-info` выводит компактную сводку для визуальной проверки +### Когда `/skd-decompile`, а когда `/skd-edit` + +- **`/skd-edit`** — точечные правки готового отчёта (добавить поле, фильтр, итог, переименовать параметр). Меняет XML адресно, без полной реконструкции, не задевает непокрытые конструкции. +- **`/skd-decompile` → правка JSON → `/skd-compile`** — сценарии, где правки структурны: новый отчёт по образцу существующего, переработка варианта, перерисовка макета, перебор набора полей. Цикл переписывает Template.xml целиком. + + **Полнота не гарантируется.** Известные декомпилятору непокрытые конструкции явно отмечаются маркерами в JSON и собираются в файл предупреждений — компилятор откажется собирать такой черновик, пока маркеры не разрешены вручную или не удалены. Но возможны и **тихие потери** — мелкое оформление, редкие настройки, незнакомые декомпилятору расширения. Это даёт валидный XML без части функциональности, и Конфигуратор такой результат не отбракует. Именно поэтому навык не предназначен для точечных правок (для них есть `/skd-edit`) и исключён из автоматического подбора моделью — вызывается только явной командой пользователя. Решение использовать пересобранный Template.xml — на стороне пользователя, и сверка с оригиналом перед коммитом остаётся его ответственностью. + ## JSON DSL — компактный формат СКД описываются в JSON с двумя уровнями детализации для каждой секции: