From 1c-skills
Generates 1С role metadata XML files from a JSON DSL. Use when you need to create a role with object-level rights from a specification.
How this skill is triggered — by the user, by Claude, or both
Slash command
/1c-skills:role-compile <JsonPath> <OutputDir><JsonPath> <OutputDir>This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Принимает JSON-определение роли → генерирует `Roles/Имя.xml` (метаданные) и `Roles/Имя/Ext/Rights.xml` (права). UUID автоматически.
Принимает JSON-определение роли → генерирует Roles/Имя.xml (метаданные) и Roles/Имя/Ext/Rights.xml (права). UUID автоматически.
| Параметр | Описание |
|---|---|
JsonPath | Путь к JSON-определению роли |
OutputDir | Корень выгрузки конфигурации (где Configuration.xml, Roles/ и т.д.) |
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/role-compile.ps1" -JsonPath "<json>" -OutputDir "<ConfigDir>"
Создаёт {OutputDir}/Roles/Имя.xml и {OutputDir}/Roles/Имя/Ext/Rights.xml. Регистрирует <Role> в Configuration.xml.
{ "name": "ИмяРоли", "synonym": "Отображаемое имя", "objects": [...], "templates": [...] }
Необязательные: comment (""), setForNewObjects (false), setForAttributesByDefault (true), independentRightsOfChildObjects (false).
"objects": [
"Catalog.Номенклатура: @view",
"Document.Реализация: @edit",
"DataProcessor.Загрузка: @view",
"InformationRegister.Цены: Read, Update",
{ "name": "Document.Продажа", "preset": "view", "rights": {"Delete": false}, "rls": {"Read": "#Шаблон(\"\")"} }
]
"Тип.Имя: @пресет" или "Тип.Имя: Право1, Право2"preset + rights (переопределения) + rls (ограничения)| Пресет | Действие |
|---|---|
@view | Просмотр — Read, View (+InputByString для справочников/документов; Use+View для обработок/отчётов) |
@edit | Полное редактирование — CRUD + Interactive* + Posting (документы) |
@ обязателен в shorthand. В объектной форме — "preset": "view" без @.
Для сервисов (WebService, HTTPService, IntegrationService) пресеты не определены — используй явные права: "WebService.Имя: Use".
Поддерживаются русские типы (Справочник→Catalog, Документ→Document) и права (Чтение→Read, Просмотр→View). Смешивание допустимо: "Справочник.Контрагенты: Чтение, View".
"templates": [{"name": "ДляОбъекта(Мод)", "condition": "ГДЕ Организация = &ТекОрг"}]
Ссылка в rls: "#ДляОбъекта(\"\")". Символ & автоматически экранируется в XML.
{
"name": "ЧтениеНоменклатуры", "synonym": "Чтение номенклатуры",
"objects": ["Catalog.Номенклатура: @view", "Catalog.Контрагенты: @view", "DataProcessor.Загрузка: @view"]
}
{
"name": "ЧтениеДокументовПоОрганизации",
"synonym": "Чтение документов (ограничение по организации)",
"objects": [
"Catalog.Организации: @view",
{"name": "Document.РеализацияТоваровУслуг", "preset": "view", "rls": {"Read": "#ДляОбъекта(\"\")"}}
],
"templates": [{"name": "ДляОбъекта(Модификатор)", "condition": "ГДЕ Организация = &ТекущаяОрганизация"}]
}
Подробные таблицы пресетов, русских синонимов и дополнительные примеры — в dsl-reference.md.
/role-validate <RightsPath> [MetadataPath] — проверка корректности XML, прав, RLS
/role-info <RightsPath> — визуальная сводка структуры
npx claudepluginhub nikolay-shirokov/cc-1c-skills --plugin 1c-skills-pyParses 1C role Rights.xml into a compact summary: objects grouped by type, allowed rights, RLS restrictions. Use for role audit.
Resolves NetSuite SDF permission configurations: customrole XML, permkey/permlevel values, script deployment permissions, and least-privilege role design. Validates against bundled reference data.
Static reviews NetSuite role configurations, permission assignments, and Segregation-of-Duties design. Validates custom roles against standard baselines, resolves SDF permission codes, and flags SoD conflicts.