cfe-init — Claude Code skill: scaffold a 1C configuration extension
The skill lays out a 1C configuration extension: Configuration.xml, a language under Languages/, and a role if you want one. Useful when you need to patch or extend a vendor configuration without editing it.
/plugin marketplace add Nikolay-Shirokov/cc-1c-skills
/plugin install 1c-skills@cc-1c-skillsWhat cfe-init does
The skill runs a PowerShell script, scripts/cfe-init.ps1, that writes the XML sources of a new extension. Only Name is required. Everything else is optional: Synonym, NamePrefix, OutputDir, Purpose (Patch, Customization or AddOn), Version, Vendor, CompatibilityMode, NoRole.
Pass -ConfigPath when you have an export of the base configuration. The script then pulls the compatibility mode and language from it. Without that flag the skill reads .v8-project.json from the project root, resolves the target database and takes its configSrc field. If neither is available, the extension is still created, but with a warning: the language UUID is all zeros and CompatibilityMode falls back to the default. Worth checking the output before you build.
Put the extension in its own subdirectory named after it: src\cfe\<Name>. After scaffolding, run /cfe-validate <OutputDir> -ConfigPath <ConfigPath> — the skill suggests that step itself. Its tool list is short: Bash, Read, Glob.
What it helps with
- scaffold a 1C configuration extension from scratch
- inherit compatibility mode and language from a base configuration export
- create a patch, customization or add-on extension with the right Purpose
- set an object name prefix plus version and vendor
- generate extension sources without the main role
Example prompts for the agent
- /cfe-init MyExtension -ConfigPath src\cf -OutputDir src\cfe\MyExtension
- /cfe-init BugFix -Purpose Patch -NamePrefix "BF_" -NoRole
- /cfe-init Ext1 -Purpose Patch -CompatibilityMode Version8_3_17
How to install cfe-init
1Plugin marketplace
/plugin marketplace add Nikolay-Shirokov/cc-1c-skills/plugin install 1c-skills@cc-1c-skillsThis installs the whole 1c-skills plugin with all its skills
2Skills CLI (Vercel)
npx skills add Nikolay-Shirokov/cc-1c-skills --skill cfe-init -a claude-code3Manually: put the files in place
~/.claude/skills/cfe-init/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/cfe-init/
1Skills CLI (Vercel)
npx skills add Nikolay-Shirokov/cc-1c-skills --skill cfe-init -a codex2Manually: put the files in place
.agents/skills/cfe-init/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/cfe-init/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Nikolay-Shirokov/cc-1c-skills cfe-init2Manually: put the files in place
.github/skills/cfe-init/SKILL.mdPlatform CLI
gemini skills install https://github.com/Nikolay-Shirokov/cc-1c-skills --path .claude/skills/cfe-initManually: put the files in place
.devin/skills/cfe-init/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about cfe-init
How do I install cfe-init in Claude?
From the marketplace: run /plugin marketplace add Nikolay-Shirokov/cc-1c-skills, then /plugin install 1c-skills@cc-1c-skills. Or in one step: npx skills add Nikolay-Shirokov/cc-1c-skills --skill cfe-init -a claude-code.
What does cfe-init do?
It scaffolds a 1C configuration extension: Configuration.xml, a language in Languages/, and optionally Roles/. It works by running the PowerShell script scripts/cfe-init.ps1.
What happens if I skip -ConfigPath?
The skill tries to find the path itself through .v8-project.json and the configSrc field of the target database. If that fails, the extension is created with a warning: zero language UUID and the default CompatibilityMode.
Source text
SKILL.md · MIT
---
name: cfe-init
description: Создать расширение конфигурации 1С (CFE) — scaffold XML-исходников. Используй когда нужно создать новое расширение для исправления, доработки или дополнения конфигурации
argument-hint: <Name> [-ConfigPath <path>] [-Purpose Patch|Customization|AddOn] [-CompatibilityMode Version8_3_24]
allowed-tools:
- Bash
- Read
- Glob
---
# /cfe-init — Создание расширения конфигурации 1С
Создаёт scaffold расширения: `Configuration.xml`, язык в `Languages/`, опционально `Roles/`.
## Подготовка
Если есть выгрузка базовой конфигурации, передай `-ConfigPath` — скрипт автоматически возьмёт из базовой конфигурации `CompatibilityMode` и язык.
### Авто-определение ConfigPath
Если пользователь не указал `-ConfigPath` — попробуй определить автоматически:
1. Прочитай `.v8-project.json` из корня проекта
2. Разреши целевую базу (по имени, ветке или `default` — алгоритм из `/db-list`)
3. Если у базы есть поле `configSrc` — используй как `-ConfigPath`
4. Если `configSrc` нет — спроси у пользователя
Если `.v8-project.json` не найден и `-ConfigPath` не задан — расширение создастся с предупреждением (UUID языка = нули, CompatibilityMode по умолчанию).
## Параметры
| Параметр | Описание | По умолчанию |
|----------|----------|--------------|
| `Name` | Имя расширения (обязат.) | — |
| `Synonym` | Синоним | = Name |
| `NamePrefix` | Префикс собственных объектов | = Name + "_" |
| `OutputDir` | Каталог для создания; клади расширение в свой подкаталог, названный по имени: `src\cfe\<Name>` | `src` |
| `Purpose` | `Patch` (исправление) / `Customization` (доработка) / `AddOn` (дополнение) | `Customization` |
| `Version` | Версия расширения | — |
| `Vendor` | Поставщик | — |
| `CompatibilityMode` | Режим совместимости; при заданном `ConfigPath` определяется по базовой конфигурации и этот параметр не нужен | `Version8_3_24` |
| `ConfigPath` | Путь к выгрузке базовой конфигурации (авто-определяет CompatibilityMode и язык) | — |
| `NoRole` | Без основной роли | false |
## Команда
```powershell
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/cfe-init.ps1" -Name "МоёРасширение" -OutputDir "src\cfe\МоёРасширение" -ConfigPath "src\cf"
```
## Примеры
```powershell
# Расширение для ERP с авто-определением совместимости из базовой конфигурации
... -Name Расш1 -ConfigPath src\cf -OutputDir src\cfe\Расш1
# Расширение-исправление с явным режимом совместимости
... -Name Расш1 -Purpose Patch -CompatibilityMode Version8_3_17 -OutputDir src\cfe\Расш1
# Расширение-доработка с версией
... -Name МоёРасширение -Version "1.0.0.1" -Vendor "Компания" -OutputDir src\cfe\МоёРасширение
# Без роли, с явным префиксом
... -Name ИсправлениеБага -NamePrefix "ИБ_" -Purpose Patch -NoRole -OutputDir src\cfe\ИсправлениеБага
```
## Верификация
```
/cfe-validate <OutputDir> -ConfigPath <ConfigPath>
```
© Nikolay Shirokov · MIT · Nikolay-Shirokov/cc-1c-skills