Improve skill descriptions: add WHEN triggers, remove technical details

- Add "Используй когда/после..." triggers to 26 skill descriptions for better discovery
- Remove technical implementation details from descriptions (file names, XML elements, check lists)
- Enrich CFE skill SKILL.md bodies with parameters, examples, prerequisites, verification
- Clean description pattern: WHAT the skill does + WHEN to use it (user-facing terms only)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-02-15 16:37:12 +03:00
parent b8e3107d14
commit 5d3eccc8eb
26 changed files with 280 additions and 31 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: cf-edit
description: Точечное редактирование конфигурации 1С (Configuration.xml) — свойства, состав ChildObjects, роли по умолчанию
description: Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из состава, настроить роли по умолчанию
argument-hint: -ConfigPath <path> -Operation <op> -Value <value>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: cf-init
description: Создать пустую конфигурацию 1С (scaffold XML-исходников) — Configuration.xml, Languages/
description: Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля
argument-hint: <Name> [-Synonym <name>] [-OutputDir src]
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: cf-validate
description: Валидация структурной корректности конфигурации 1С (Configuration.xml) — корневая структура, свойства, состав, языки, каталоги
description: Валидация конфигурации 1С. Используй после создания или модификации конфигурации для проверки корректности
argument-hint: <ConfigPath> [-MaxErrors 30]
allowed-tools:
- Bash
+46 -2
View File
@@ -1,6 +1,6 @@
---
name: cfe-borrow
description: Заимствование объектов из конфигурации 1С в расширение (CFE) — справочники, документы, общие модули, перечисления
description: Заимствование объектов из конфигурации 1С в расширение (CFE). Используй когда нужно перехватить метод, изменить форму или добавить реквизит к существующему объекту конфигурации
argument-hint: -ExtensionPath <path> -ConfigPath <path> -Object "Catalog.Контрагенты"
allowed-tools:
- Bash
@@ -8,8 +8,52 @@ allowed-tools:
- Glob
---
Заимствует объекты из конфигурации в расширение. Создаёт XML-файлы с ObjectBelonging=Adopted.
# /cfe-borrow — Заимствование объектов из конфигурации
Заимствует объекты из основной конфигурации в расширение. Создаёт XML-файлы с `ObjectBelonging=Adopted` и `ExtendedConfigurationObject`, добавляет запись в ChildObjects расширения.
## Предусловие
Расширение должно быть создано (`/cfe-init`) и содержать валидный `Configuration.xml`.
## Параметры
| Параметр | Описание |
|----------|----------|
| `ExtensionPath` | Путь к каталогу расширения (обязат.) |
| `ConfigPath` | Путь к конфигурации-источнику (обязат.) |
| `Object` | Что заимствовать (обязат.), batch через `;;` |
## Формат -Object
- `Catalog.Контрагенты` — справочник
- `CommonModule.РаботаСФайлами` — общий модуль
- `Document.РеализацияТоваров` — документ
- `Enum.ВидыОплат` — перечисление
- `Catalog.X ;; CommonModule.Y ;; Enum.Z` — несколько объектов
Поддерживаются все 44 типа объектов конфигурации.
## Команда
```powershell
powershell.exe -NoProfile -File .claude\skills\cfe-borrow\scripts\cfe-borrow.ps1 -ExtensionPath src -ConfigPath C:\cfsrc\erp -Object "Catalog.Контрагенты"
```
## Примеры
```powershell
# Заимствовать один объект
... -ExtensionPath src -ConfigPath C:\cfsrc\erp -Object "Catalog.Контрагенты"
# Несколько объектов за раз
... -ExtensionPath src -ConfigPath C:\cfsrc\erp -Object "Catalog.Контрагенты ;; CommonModule.ОбщийМодуль ;; Enum.ВидыОплат"
```
## Верификация
```
/cfe-validate <ExtensionPath>
```
Подробнее об алгоритме: [reference.md](reference.md)
+48 -2
View File
@@ -1,6 +1,6 @@
---
name: cfe-diff
description: Анализ и сравнение расширения конфигурации 1С (CFE) — обзор изменений, проверка переноса
description: Анализ расширения конфигурации 1С (CFE) — обзор изменений и проверка переноса. Используй для понимания что изменено в расширении или для проверки перенесены ли изменения из расширения в конфигурацию
argument-hint: -ExtensionPath <path> -ConfigPath <path> [-Mode A|B]
allowed-tools:
- Bash
@@ -8,8 +8,54 @@ allowed-tools:
- Glob
---
Анализирует расширение: Mode A — обзор изменений, Mode B — проверка переноса в конфигурацию.
# /cfe-diff — Анализ расширения конфигурации
Анализирует расширение в двух режимах: обзор изменений (Mode A) или проверка переноса (Mode B).
## Параметры
| Параметр | Описание | По умолчанию |
|----------|----------|--------------|
| `ExtensionPath` | Путь к расширению (обязат.) | — |
| `ConfigPath` | Путь к конфигурации (обязат.) | — |
| `Mode` | `A` (обзор) / `B` (проверка переноса) | `A` |
## Команда
```powershell
powershell.exe -NoProfile -File .claude\skills\cfe-diff\scripts\cfe-diff.ps1 -ExtensionPath src -ConfigPath C:\cfsrc\erp -Mode A
```
## Mode A — обзор расширения
Для каждого объекта показывает:
- `[BORROWED]` — заимствованный: перехватчики (`&Перед`, `&После`, `&ИзменениеИКонтроль`, `&Вместо`), собственные реквизиты/ТЧ/формы
- `[OWN]` — собственный: количество реквизитов, ТЧ, форм
Пример вывода:
```
[BORROWED] Catalog.Валюты
&ИзменениеИКонтроль("РеквизитыРедактируемыеВГрупповойОбработке") — line 4 in ...
&Перед("ЗагрузитьКурсыВалют") — line 13 in ...
ChildObjects: 1 own attrs, 1 own TS, 3 own forms
[OWN] Catalog.Расш5_Справочник1
```
## Mode B — проверка переноса
Для каждого `&ИзменениеИКонтроль` извлекает блоки `#Вставка`/`#КонецВставки` из расширения и ищет их в соответствующем модуле конфигурации.
Статусы:
- `[TRANSFERRED]` — код найден в конфигурации
- `[NOT_TRANSFERRED]` — код не найден
- `[NEEDS_REVIEW]` — нет блоков `#Вставка` или модуль конфигурации не найден
## Примеры
```powershell
# Обзор — что изменено в расширении
... -ExtensionPath src -ConfigPath C:\cfsrc\erp -Mode A
# Проверка переноса — все ли #Вставка перенесены
... -ExtensionPath src -ConfigPath C:\cfsrc\erp -Mode B
```
+62 -2
View File
@@ -1,6 +1,6 @@
---
name: cfe-init
description: Создать расширение конфигурации 1С (CFE) — scaffold XML-исходников расширения
description: Создать расширение конфигурации 1С (CFE) — scaffold XML-исходников. Используй когда нужно создать новое расширение для исправления, доработки или дополнения конфигурации
argument-hint: <Name> [-Purpose Patch|Customization|AddOn] [-CompatibilityMode Version8_3_24]
allowed-tools:
- Bash
@@ -8,8 +8,68 @@ allowed-tools:
- Glob
---
Создаёт scaffold расширения конфигурации 1С: `Configuration.xml`, `Languages/Русский.xml`, опционально `Roles/`.
# /cfe-init — Создание расширения конфигурации 1С
Создаёт scaffold расширения: `Configuration.xml`, `Languages/Русский.xml`, опционально `Roles/`.
## Подготовка
Перед созданием расширения рекомендуется получить версию и режим совместимости базовой конфигурации:
```
/cf-info <ConfigPath> -Mode brief
```
Это даст `CompatibilityMode` (передать в `-CompatibilityMode`) и версию конфигурации (для `-Version`).
## Параметры
| Параметр | Описание | По умолчанию |
|----------|----------|--------------|
| `Name` | Имя расширения (обязат.) | — |
| `Synonym` | Синоним | = Name |
| `NamePrefix` | Префикс собственных объектов | = Name + "_" |
| `OutputDir` | Каталог для создания | `src` |
| `Purpose` | `Patch` (исправление) / `Customization` (доработка) / `AddOn` (дополнение) | `Customization` |
| `Version` | Версия расширения | — |
| `Vendor` | Поставщик | — |
| `CompatibilityMode` | Режим совместимости | `Version8_3_24` |
| `NoRole` | Без основной роли | false |
## Команда
```powershell
powershell.exe -NoProfile -File .claude\skills\cfe-init\scripts\cfe-init.ps1 -Name "МоёРасширение"
```
## Что создаётся
```
<OutputDir>/
├── Configuration.xml # Свойства расширения
├── Languages/
│ └── Русский.xml # Язык (заимствованный)
└── Roles/ # Если не -NoRole
└── <Prefix>ОсновнаяРоль.xml
```
## Примеры
```powershell
# Расширение-исправление для ERP
... -Name Расш1 -Purpose Patch -CompatibilityMode Version8_3_17 -OutputDir src
# Расширение-доработка с версией
... -Name МоёРасширение -Version "1.0.0.1" -Vendor "Компания" -OutputDir src
# Без роли, с явным префиксом
... -Name ИсправлениеБага -NamePrefix "ИБ_" -Purpose Patch -NoRole -OutputDir src
```
## Верификация
```
/cfe-validate <OutputDir>
```
Подробнее о параметрах и формате: [reference.md](reference.md)
+65 -2
View File
@@ -1,6 +1,6 @@
---
name: cfe-patch-method
description: Генерация перехватчика метода в расширении 1С (CFE) — &Перед, &После, &ИзменениеИКонтроль
description: Генерация перехватчика метода в расширении 1С (CFE). Используй когда нужно перехватить метод заимствованного объекта — вставить код до, после или вместо оригинального
argument-hint: -ExtensionPath <path> -ModulePath "Catalog.X.ObjectModule" -MethodName "ПриЗаписи" -InterceptorType Before
allowed-tools:
- Bash
@@ -8,8 +8,71 @@ allowed-tools:
- Glob
---
Генерирует .bsl файл с декоратором перехвата для заимствованного объекта расширения.
# /cfe-patch-method — Генерация перехватчика метода
Генерирует `.bsl` файл с декоратором перехвата для заимствованного объекта расширения. Создаёт файл или дописывает в существующий.
## Предусловие
Объект должен быть заимствован в расширение (`/cfe-borrow`). Скрипт читает `NamePrefix` из `Configuration.xml` расширения для формирования имени процедуры.
## Параметры
| Параметр | Описание | По умолчанию |
|----------|----------|--------------|
| `ExtensionPath` | Путь к расширению (обязат.) | — |
| `ModulePath` | Путь к модулю (обязат.) | — |
| `MethodName` | Имя перехватываемого метода (обязат.) | — |
| `InterceptorType` | `Before` / `After` / `ModificationAndControl` (обязат.) | — |
| `Context` | Директива контекста | `НаСервере` |
| `IsFunction` | Метод — функция (добавит `Возврат`) | false |
## Формат ModulePath
| ModulePath | Файл |
|------------|------|
| `Catalog.X.ObjectModule` | `Catalogs/X/Ext/ObjectModule.bsl` |
| `Catalog.X.ManagerModule` | `Catalogs/X/Ext/ManagerModule.bsl` |
| `Catalog.X.Form.Y` | `Catalogs/X/Forms/Y/Ext/Form/Module.bsl` |
| `CommonModule.X` | `CommonModules/X/Ext/Module.bsl` |
| `Document.X.ObjectModule` | `Documents/X/Ext/ObjectModule.bsl` |
| `Document.X.Form.Y` | `Documents/X/Forms/Y/Ext/Form/Module.bsl` |
Аналогично для Report, DataProcessor, InformationRegister и других типов.
## Типы перехвата
| InterceptorType | Декоратор | Назначение |
|-----------------|-----------|------------|
| `Before` | `&Перед` | Код до вызова оригинального метода |
| `After` | `&После` | Код после вызова оригинального метода |
| `ModificationAndControl` | `&ИзменениеИКонтроль` | Копия тела метода с маркерами `#Вставка`/`#Удаление` |
## Команда
```powershell
powershell.exe -NoProfile -File .claude\skills\cfe-patch-method\scripts\cfe-patch-method.ps1 -ExtensionPath src -ModulePath "Catalog.Контрагенты.ObjectModule" -MethodName "ПриЗаписи" -InterceptorType Before
```
## Примеры
```powershell
# Перехват &Перед на сервере
... -ExtensionPath src -ModulePath "Catalog.Контрагенты.ObjectModule" -MethodName "ПриЗаписи" -InterceptorType Before
# Перехват &После на клиенте
... -ExtensionPath src -ModulePath "Document.Заказ.Form.ФормаДокумента" -MethodName "ПослеЗаписиНаСервере" -InterceptorType After -Context "НаКлиенте"
# ИзменениеИКонтроль для функции
... -ExtensionPath src -ModulePath "CommonModule.ОбщийМодуль" -MethodName "ПолучитьДанные" -InterceptorType ModificationAndControl -IsFunction
```
## Генерируемый код (Before)
```bsl
&НаСервере
&Перед("ПриЗаписи")
Процедура Расш1_ПриЗаписи()
// TODO: код перед вызовом оригинального метода
КонецПроцедуры
```
+38 -2
View File
@@ -1,6 +1,6 @@
---
name: cfe-validate
description: Валидация структурной корректности расширения конфигурации 1С (CFE) — корневая структура, свойства, состав, заимствованные объекты
description: Валидация расширения конфигурации 1С (CFE). Используй после создания или модификации расширения для проверки корректности
argument-hint: <ExtensionPath> [-MaxErrors 30]
allowed-tools:
- Bash
@@ -8,8 +8,44 @@ allowed-tools:
- Glob
---
Валидирует расширение конфигурации 1С: XML-структура, свойства, ChildObjects, заимствованные объекты.
# /cfe-validate — Валидация расширения конфигурации
Проверяет структурную корректность расширения: XML-формат, свойства, состав, заимствованные объекты. Аналог `/cf-validate`, но для расширений.
## Параметры
| Параметр | Описание | По умолчанию |
|----------|----------|--------------|
| `ExtensionPath` | Путь к каталогу или Configuration.xml расширения (обязат.) | — |
| `MaxErrors` | Лимит ошибок | 30 |
| `OutFile` | Записать результат в файл | — |
## Команда
```powershell
powershell.exe -NoProfile -File .claude\skills\cfe-validate\scripts\cfe-validate.ps1 -ExtensionPath src
```
## Проверки (9 шагов)
| # | Проверка | Уровень |
|---|----------|---------|
| 1 | XML well-formedness, MetaDataObject/Configuration, version | ERROR |
| 2 | InternalInfo: 7 ContainedObject, валидные ClassId | ERROR |
| 3 | Extension properties: ObjectBelonging=Adopted, Name, Purpose, NamePrefix, KeepMapping | ERROR |
| 4 | Enum-значения: ConfigurationExtensionCompatibilityMode, DefaultRunMode, ScriptVariant, InterfaceCompatibilityMode | ERROR |
| 5 | ChildObjects: валидные типы (44), нет дубликатов, каноничный порядок | ERROR/WARN |
| 6 | DefaultLanguage ссылается на Language в ChildObjects | ERROR |
| 7 | Файлы языков существуют | WARN |
| 8 | Каталоги объектов существуют | WARN |
| 9 | Заимствованные объекты: ObjectBelonging=Adopted, ExtendedConfigurationObject UUID | ERROR/WARN |
## Пример вывода
```
=== Validation: Extension.МоёРасширение ===
[OK] 1. Root structure: MetaDataObject/Configuration, version 2.17
[OK] 2. InternalInfo: 7 ContainedObject, all ClassIds valid
...
=== Result: 0 errors, 0 warnings ===
```
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: form-compile
description: Компиляция управляемой формы 1С (Form.xml) из компактного JSON-определения
description: Компиляция управляемой формы 1С из компактного JSON-определения. Используй когда нужно создать форму с нуля по описанию элементов
argument-hint: <JsonPath> <OutputPath>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: form-edit
description: Добавление элементов, реквизитов и команд в существующую управляемую форму 1С (Form.xml)
description: Добавление элементов, реквизитов и команд в существующую управляемую форму 1С. Используй когда нужно точечно модифицировать готовую форму
argument-hint: <FormPath> <JsonPath>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: form-patterns
description: Справочник паттернов компоновки управляемых форм 1С — архетипы, конвенции именования, продвинутые приёмы
description: Справочник паттернов компоновки управляемых форм 1С. Используй как справочник при проектировании форм — архетипы, конвенции, продвинутые приёмы
argument-hint: (no arguments)
allowed-tools: []
---
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: form-validate
description: Валидация структурной корректности управляемой формы 1С (Form.xml)
description: Валидация управляемой формы 1С. Используй после создания или модификации формы для проверки корректности
argument-hint: <FormPath>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: interface-edit
description: Настройка командного интерфейса подсистемы 1С — скрытие/показ команд, размещение в группах, порядок
description: Настройка командного интерфейса подсистемы 1С. Используй когда нужно скрыть или показать команды, разместить в группах, настроить порядок
argument-hint: <CIPath> <Operation> <Value>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: interface-validate
description: Валидация структурной корректности командного интерфейса 1С (CommandInterface.xml) — формат, секции, ссылки на команды, дубликаты
description: Валидация командного интерфейса 1С. Используй после настройки командного интерфейса подсистемы для проверки корректности
argument-hint: <CIPath> [-MaxErrors 30]
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: meta-edit
description: Точечное редактирование объекта метаданных 1С (добавление/удаление/модификация реквизитов, реквизитов внутри ТЧ, свойств ТЧ, ТЧ, измерений, ресурсов, значений перечислений, свойств объекта, владельцев, движений, ввода по строке)
description: Точечное редактирование объекта метаданных 1С. Используй когда нужно добавить, удалить или изменить реквизиты, табличные части, измерения, ресурсы или свойства существующего объекта конфигурации
argument-hint: <ObjectPath> -Operation <op> -Value "<val>" | -DefinitionFile <json> [-NoValidate]
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: meta-validate
description: Валидация структурной корректности объекта метаданных 1С (Справочник, Документ, Регистр, Перечисление и ещё 19 типов)
description: Валидация объекта метаданных 1С. Используй после создания или модификации объекта конфигурации для проверки корректности
argument-hint: <ObjectPath> [-MaxErrors 30]
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: mxl-compile
description: Компиляция табличного документа (MXL) из JSON-определения
description: Компиляция табличного документа (MXL) из JSON-определения. Используй когда нужно создать макет печатной формы
argument-hint: <JsonPath> <OutputPath>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: mxl-decompile
description: Декомпиляция табличного документа (MXL) в JSON-определение
description: Декомпиляция табличного документа (MXL) в JSON-определение. Используй когда нужно получить редактируемое описание существующего макета
argument-hint: <TemplatePath> [OutputPath]
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: mxl-validate
description: Валидация структурной корректности макета табличного документа (MXL)
description: Валидация макета табличного документа (MXL). Используй после создания или модификации макета для проверки корректности
argument-hint: <TemplatePath> или <ProcessorName> <TemplateName>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: role-compile
description: Создание роли 1С — метаданные и Rights.xml из описания прав
description: Создание роли 1С из описания прав. Используй когда нужно создать новую роль с набором прав на объекты
argument-hint: <JsonPath> <RolesDir>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: role-validate
description: Валидация структурной корректности роли 1С (Rights.xml) — формат, права, RLS, шаблоны
description: Валидация роли 1С. Используй после создания или модификации роли для проверки корректности
argument-hint: <RightsPath>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: skd-compile
description: Компиляция схемы компоновки данных 1С (СКД) — Template.xml из компактного JSON-определения
description: Компиляция схемы компоновки данных 1С (СКД) из компактного JSON-определения. Используй когда нужно создать СКД с нуля
argument-hint: <JsonPath> <OutputPath>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: skd-edit
description: Точечное редактирование схемы компоновки данных 1С (СКД) — добавление/удаление полей, итогов, фильтров, параметров, вычисляемых полей
description: Точечное редактирование схемы компоновки данных 1С (СКД). Используй когда нужно модифицировать существующую СКД — добавить поля, итоги, фильтры, параметры
argument-hint: <TemplatePath> -Operation <op> -Value <value>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: skd-validate
description: Валидация структурной корректности схемы компоновки данных 1С (СКД) — Template.xml
description: Валидация схемы компоновки данных 1С (СКД). Используй после создания или модификации СКД для проверки корректности
argument-hint: <TemplatePath> [-MaxErrors 20]
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: subsystem-edit
description: Точечное редактирование подсистемы 1С — добавление/удаление объектов в Content, дочерних подсистем, изменение свойств
description: Точечное редактирование подсистемы 1С. Используй когда нужно добавить или удалить объекты из подсистемы, управлять дочерними подсистемами или изменить свойства
argument-hint: -SubsystemPath <path> -Operation <op> -Value <value>
allowed-tools:
- Bash
+1 -1
View File
@@ -1,6 +1,6 @@
---
name: subsystem-validate
description: Валидация структурной корректности подсистемы 1С — XML-формат, свойства, состав, дочерние подсистемы, командный интерфейс
description: Валидация подсистемы 1С. Используй после создания или модификации подсистемы для проверки корректности
argument-hint: <SubsystemPath> [-MaxErrors 30]
allowed-tools:
- Bash