db-load-git — Claude Code skill: what it does, how to install
Applies configuration changes from Git into a 1C infobase without a full reload. It scans working tree edits or commits to push only modified objects.
/plugin marketplace add Nikolay-Shirokov/cc-1c-skills
/plugin install 1c-skills@cc-1c-skillsWhat db-load-git does
The skill automates partial configuration updates for 1C:Enterprise databases directly from repository diffs. It reads database connection parameters from .v8-project.json by matching the active Git branch or a provided database name. Under the hood, Claude invokes powershell.exe to run scripts/db-load-git.ps1 with resolved paths.
You can target all uncommitted edits, staged files, or a commit range like HEAD~3..HEAD. The tool works with file infobases, 1C servers, and configuration extensions. If the diff touches Configuration.xml, the 1C platform switches automatically to a full configuration load.
Partial loading cannot delete standalone module files or items inside Ext/. If only deleted submodule files remain, the script halts with an error. To clear such code, keep the module file empty or run a full configuration update.
What it helps with
- apply modified 1C configuration objects from Git into an infobase
- load only staged changes before creating a Git commit
- import edits from a specific commit range without manual file selection
- preview objects slated for loading via
-DryRun
Example prompts for the agent
- /db-load-git dev
- /db-load-git dev -Source Staged
- /db-load-git dev -Source Commit -CommitRange "HEAD~3..HEAD"
How to install db-load-git
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 db-load-git -a claude-code3Manually: put the files in place
~/.claude/skills/db-load-git/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/db-load-git/
1Skills CLI (Vercel)
npx skills add Nikolay-Shirokov/cc-1c-skills --skill db-load-git -a codex2Manually: put the files in place
.agents/skills/db-load-git/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/db-load-git/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Nikolay-Shirokov/cc-1c-skills db-load-git2Manually: put the files in place
.github/skills/db-load-git/SKILL.mdPlatform CLI
gemini skills install https://github.com/Nikolay-Shirokov/cc-1c-skills --path .claude/skills/db-load-gitManually: put the files in place
.devin/skills/db-load-git/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 db-load-git
How to install db-load-git in Claude Code?
Run both marketplace commands in sequence: /plugin marketplace add Nikolay-Shirokov/cc-1c-skills and then /plugin install 1c-skills@cc-1c-skills. You can also install it via npx skills add Nikolay-Shirokov/cc-1c-skills --skill db-load-git -a claude-code.
What does db-load-git do?
It identifies changed XML configuration files in Git and triggers a partial update into a 1C database using a PowerShell script.
Can db-load-git delete removed modules during partial loads?
No, 1C partial loading skips removed module files and Ext/ paths. To remove code without a full reload, leave the file blank.
Source text
SKILL.md · MIT
---
name: db-load-git
description: Загрузка изменений из Git в базу 1С. Используй когда нужно загрузить изменения из гита, обновить базу из репозитория, partial load из коммита
argument-hint: "[database] [source]"
allowed-tools:
- Bash
- Read
- Glob
- AskUserQuestion
---
# /db-load-git — Загрузка изменений из Git
Определяет изменённые файлы конфигурации по данным Git и выполняет частичную загрузку в информационную базу.
> Если в изменениях есть `Configuration.xml`, платформа выполнит **полную загрузку конфигурации**, а не только изменённых объектов.
> Удалённый объект уйдёт из базы, только если удалён и из состава владельца (`ChildObjects` объекта или `Configuration.xml`). Удалённый файл-часть объекта (модуль, файлы `Ext/`) загрузкой частями не удаляется: скрипт перечислит такие удаления в `[ВНИМАНИЕ]`, а если кроме них загружать нечего, завершится ошибкой. Применить их можно только полной загрузкой (`/db-load-xml -Mode Full`); чтобы убрать код модуля, достаточно оставить файл пустым.
## Usage
```
/db-load-git [database]
/db-load-git dev — все незафиксированные изменения
/db-load-git dev -Source Staged — только staged
/db-load-git dev -Source Commit -CommitRange "HEAD~3..HEAD"
/db-load-git dev -DryRun — только показать что будет загружено
```
## Параметры подключения
Прочитай `.v8-project.json` из корня проекта и разреши базу:
1. Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
2. Если указал базу по имени — ищи по id / alias / name в `.v8-project.json`
3. Если не указал — сопоставь текущую ветку Git с `databases[].branches`
4. Если ветка не совпала — используй `default`
Платформа — `v8path` найденной записи базы, иначе корневой `v8path`. Не задан ни там, ни там — `-V8Path` не передавай.
Если файла нет — предложи `/db-list add`.
Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`.
Если в записи базы указан `configSrc` — используй как каталог конфигурации.
## Команда
```powershell
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-git.ps1" <параметры>
```
### Параметры скрипта
| Параметр | Обязательный | Описание |
|----------|:------------:|----------|
| `-V8Path <путь>` | нет | Каталог bin платформы, или полный путь к `1cv8.exe` / `ibcmd.exe` |
| `-InfoBasePath <путь>` | * | Файловая база |
| `-InfoBaseServer <сервер>` | * | Сервер 1С (для серверной базы) |
| `-InfoBaseRef <имя>` | * | Имя базы на сервере |
| `-UserName <имя>` | нет | Имя пользователя |
| `-Password <пароль>` | нет | Пароль |
| `-ConfigDir <путь>` | да | Каталог XML-выгрузки (git-репозиторий) |
| `-Source <источник>` | нет | `All` (по умолч.) / `Staged` / `Unstaged` / `Commit` |
| `-CommitRange <range>` | для Commit | Диапазон коммитов (напр. `HEAD~3..HEAD`) |
| `-Extension <имя>` | нет | Загрузить в расширение |
| `-NoApplyCheck` | нет | Не проверять применимость расширения после загрузки |
| `-Format <формат>` | нет | `Hierarchical` (по умолч.) / `Plain` |
| `-DryRun` | нет | Только показать что будет загружено (без загрузки) |
| `-UpdateDB` | нет | После загрузки сразу обновить конфигурацию БД (`/UpdateDBCfg`) |
| `-AdditionalV8Arguments <список>` | нет | Доп. аргументы запуска `1cv8.exe` через запятую, напр. `/UseHwLicenses+` |
| `-AdditionalIbcmdArguments <список>` | нет | Доп. аргументы `ibcmd` через запятую, в форме `--ключ=значение` |
> `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef`
## После выполнения
Если `-UpdateDB` не был указан — **предложить `/db-update`** для применения изменений к БД
## Примеры
```powershell
# Все незафиксированные изменения
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-git.ps1" -V8Path "C:\Program Files\1cv8\8.3.25.1257\bin" -InfoBasePath "C:\Bases\MyDB" -ConfigDir "C:\WS\cfsrc" -Source All -UpdateDB
# Из диапазона коммитов
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-git.ps1" -InfoBasePath "C:\Bases\MyDB" -ConfigDir "C:\WS\cfsrc" -Source Commit -CommitRange "HEAD~3..HEAD"
```
© Nikolay Shirokov · MIT · Nikolay-Shirokov/cc-1c-skills