From 83d63fac478f8a1adea6978676b1ba9f4871e8bb Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Tue, 18 Aug 2026 14:59:37 +0300 Subject: [PATCH] =?UTF-8?q?fix(role-validate):=20=D0=BB=D0=B8=D1=88=D0=BD?= =?UTF-8?q?=D0=B8=D0=B9=20=D0=BF=D0=BE=D0=B7=D0=B8=D1=86=D0=B8=D0=BE=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20=D0=B0=D1=80=D0=B3=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=20=D0=B7=D0=B0=D1=82=D0=B8=D1=80=D0=B0=D0=BB=20=D1=84?= =?UTF-8?q?=D0=B0=D0=B9=D0=BB=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=BE=D0=BD=D0=BD=D1=8B=D0=BC=20=D0=BE=D1=82=D1=87=D1=91?= =?UTF-8?q?=D1=82=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Вызов role-validate.ps1 с двумя позиционными аргументами — естественная ошибка по документации role-compile/SKILL.md, где значилось `/role-validate [MetadataPath]`, хотя параметра MetadataPath у навыка нет. Второй аргумент связывался с -OutFile, и скрипт перезаписывал указанный файл (например, Roles/Имя.xml) текстом отчёта — исходник роли терялся. PositionalBinding=$false оставляет позиционным только путь ко входу; -OutFile передаётся строго по имени. Справка приведена к факту. Python-порт уже иммунен: argparse принимает только именованные параметры. Co-Authored-By: Sergei Pleshanov <2357qwr@gmail.com> Co-Authored-By: Claude Opus 5 (1M context) --- .claude/skills/role-compile/SKILL.md | 4 ++-- .claude/skills/role-validate/scripts/role-validate.ps1 | 5 +++-- .claude/skills/role-validate/scripts/role-validate.py | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.claude/skills/role-compile/SKILL.md b/.claude/skills/role-compile/SKILL.md index e4b302af5..a11995087 100644 --- a/.claude/skills/role-compile/SKILL.md +++ b/.claude/skills/role-compile/SKILL.md @@ -123,6 +123,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-compile.ps1" - ## Верификация ``` -/role-validate [MetadataPath] — проверка корректности XML, прав, RLS -/role-info — визуальная сводка структуры +/role-validate — проверка корректности XML, прав, RLS +/role-info — визуальная сводка структуры ``` diff --git a/.claude/skills/role-validate/scripts/role-validate.ps1 b/.claude/skills/role-validate/scripts/role-validate.ps1 index f1e683dcb..64d1e7318 100644 --- a/.claude/skills/role-validate/scripts/role-validate.ps1 +++ b/.claude/skills/role-validate/scripts/role-validate.ps1 @@ -1,7 +1,8 @@ -# role-validate v1.4 — Validate 1C role structure +# role-validate v1.5 — Validate 1C role structure # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills +[CmdletBinding(PositionalBinding=$false)] param( - [Parameter(Mandatory)] + [Parameter(Mandatory, Position=0)] [Alias('Path')] [string]$RightsPath, diff --git a/.claude/skills/role-validate/scripts/role-validate.py b/.claude/skills/role-validate/scripts/role-validate.py index 5800bcce6..fd65071a6 100644 --- a/.claude/skills/role-validate/scripts/role-validate.py +++ b/.claude/skills/role-validate/scripts/role-validate.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# role-validate v1.4 — Validate 1C role Rights.xml structure +# role-validate v1.5 — Validate 1C role Rights.xml structure # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills """Validates role Rights.xml: root element, global flags, objects, rights, RLS, templates.""" import sys, os, argparse, re