erf-dump — Claude Code skill: what it does, how to install
Dumps 1C ERF external report files into XML source trees. It keeps reference types intact during the decompilation process.
/plugin marketplace add Nikolay-Shirokov/cc-1c-skills
/plugin install 1c-skills@cc-1c-skillsWhat erf-dump does
The skill deconstructs 1C ERF report files into structured XML source files. By default, it places all generated files into the src directory. The operation is handled by running the epf-dump.ps1 PowerShell script with database connection arguments and binary paths.
Before running the dump, the skill inspects .v8-project.json at the root of the project. It resolves connection details by checking the current Git branch against configured databases or falls back to the default profile. It also identifies the v8path binary path.
Executing this command without an infobase causes a direct failure because reference types like CatalogRef get irreversibly converted into text strings. If the database is missing from configuration, you must register it via /db-list add.
What it helps with
- Dump 1C ERF reports into XML files for version tracking
- Decompile external report files into the
srcdirectory - Preserve metadata reference types during external report extraction
Example prompts for the agent
- /erf-dump build/Report.erf src/reports
- /erf-dump reports/Sales.erf
- Decompile
build/Report.erfinto thesrcdirectory
How to install erf-dump
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 erf-dump -a claude-code3Manually: put the files in place
~/.claude/skills/erf-dump/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/erf-dump/
1Skills CLI (Vercel)
npx skills add Nikolay-Shirokov/cc-1c-skills --skill erf-dump -a codex2Manually: put the files in place
.agents/skills/erf-dump/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/erf-dump/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Nikolay-Shirokov/cc-1c-skills erf-dump2Manually: put the files in place
.github/skills/erf-dump/SKILL.mdPlatform CLI
gemini skills install https://github.com/Nikolay-Shirokov/cc-1c-skills --path .claude/skills/erf-dumpManually: put the files in place
.devin/skills/erf-dump/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 erf-dump
How to install erf-dump in Claude Code?
Run /plugin marketplace add Nikolay-Shirokov/cc-1c-skills and then run /plugin install 1c-skills@cc-1c-skills.
What does erf-dump do?
It converts 1C ERF report files into XML sources using an underlying PowerShell automation script.
Why is an infobase required for erf-dump?
Without a configured database containing the metadata schema, reference types permanently degrade into plain strings.
Source text
SKILL.md · MIT
---
name: erf-dump
description: Разобрать ERF-файл отчёта 1С в XML-исходники. Используй когда пользователь просит разобрать, декомпилировать отчёт, получить исходники из ERF файла
argument-hint: <ErfFile>
allowed-tools:
- Bash
- Read
- Glob
- Grep
---
# /erf-dump — Разборка отчёта
## Usage
```
/erf-dump <ErfFile> [OutDir]
```
| Параметр | Обязательный | По умолчанию | Описание |
|----------|:------------:|--------------|-------------------------------------|
| ErfFile | да | — | Путь к ERF-файлу |
| OutDir | нет | `src` | Каталог для выгрузки исходников |
## Параметры подключения (обязательно)
Для разборки EPF/ERF требуется информационная база с конфигурацией. Без базы ссылочные типы безвозвратно теряются.
1. Прочитай `.v8-project.json` из корня проекта и разреши базу:
2. Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
3. Если указал базу по имени — ищи по id / alias / name в `.v8-project.json`
4. Если не указал — сопоставь текущую ветку Git с `databases[].branches`
5. Если ветка не совпала — используй `default`
6. Если `.v8-project.json` нет или база не найдена — **сообщи пользователю об ошибке**. Для dump база обязательна: в пустой базе ссылочные типы (CatalogRef, DocumentRef и т.д.) безвозвратно сбрасываются в строки. Предложи указать базу или зарегистрировать через `/db-list add`.
Платформа — `v8path` найденной записи базы, иначе корневой `v8path`. Не задан ни там, ни там — `-V8Path` не передавай.
Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`.
## Команда
Используй общий скрипт из epf-dump:
```powershell
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/../epf-dump/scripts/epf-dump.ps1" <параметры>
```
### Параметры скрипта
| Параметр | Обязательный | Описание |
|----------|:------------:|----------|
| `-V8Path <путь>` | нет | Каталог bin платформы (или полный путь к 1cv8.exe) |
| `-InfoBasePath <путь>` | * | Файловая база |
| `-InfoBaseServer <сервер>` | * | Сервер 1С (для серверной базы) |
| `-InfoBaseRef <имя>` | * | Имя базы на сервере |
| `-UserName <имя>` | нет | Имя пользователя |
| `-Password <пароль>` | нет | Пароль |
| `-InputFile <путь>` | да | Путь к ERF-файлу |
| `-OutputDir <путь>` | да | Каталог для выгрузки исходников |
| `-Format <формат>` | нет | `Hierarchical` (по умолч.) / `Plain` |
| `-AdditionalV8Arguments <список>` | нет | Доп. аргументы запуска `1cv8.exe` через запятую, напр. `/UseHwLicenses+` |
| `-AdditionalIbcmdArguments <список>` | нет | Доп. аргументы `ibcmd` через запятую, в форме `--ключ=значение` |
> `*` — обязательно хотя бы одно подключение. Без базы скрипт завершится с ошибкой (dump в пустой базе безвозвратно теряет ссылочные типы)
## Примеры
```powershell
# Разборка отчёта (файловая база)
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/../epf-dump/scripts/epf-dump.ps1" -InfoBasePath "C:\Bases\MyDB" -InputFile "build/МойОтчёт.erf" -OutputDir "src"
# Серверная база
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/../epf-dump/scripts/epf-dump.ps1" -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -InputFile "build/МойОтчёт.erf" -OutputDir "src"
```
© Nikolay Shirokov · MIT · Nikolay-Shirokov/cc-1c-skills