Skip to content
Development
Skill

/epf-init

Создать пустой make-ready scaffold внешней обработки 1С (EPF) в корне Designer/platform-XML external source-set, с модулем объекта и опциональной управляемой формой. Используй при запросе создать новую внешнюю обработку с нуля; не используй для обычного DataProcessor внутри

BOOST
From plugin
unica
22749 skills1 MCP
Install
$ npx -y skills add IngvarConsulting/unica --skill epf-init --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/epf-init

Context preview

The summary Claude sees to decide when to auto-load this skill.

Создать пустой make-ready scaffold внешней обработки 1С (EPF) в корне Designer/platform-XML external source-set, с модулем объекта и опциональной управляемой формой. Используй при запросе создать новую внешнюю обработку с нуля; не используй для обычного DataProcessor внутри

SKILL.md

epf-init.SKILL.md
name: epf-init
description: Создать пустой make-ready scaffold внешней обработки 1С (EPF) в корне Designer/platform-XML external source-set, с модулем объекта и опциональной управляемой формой. Используй при запросе создать новую внешнюю обработку с нуля; не используй для обычного DataProcessor внутри конфигурации.

Создание внешней обработки EPF

MCP routing

  • **Канонической операции создания внешней обработки на поверхности нет.** `unica.apply`

правит существующий узел; дескриптор внешнего объекта вне конфигурации ни одна операция не заводит.

  • Сформируй дескриптор и `ObjectModule.bsl` файловыми средствами по формату

ниже, объяви набор нужного типа в `v8project.yaml`, затем проверь `unica.check {}` и прочитай `unica.view {}`: набор обязан читаться как `sourceFormat=platform_xml`.

  • Сборку `.epf` словарь тоже не публикует: `make` собирает только

`.cf` и `.cfe`. Сообщай это как пробел контракта, а не обходи runner-ом.

  • Чтение и проверка идут через MCP `unica` (`unica.view`, `unica.check`); внутренние adapters и skill-local scripts не вызывать.
  • Runtime идёт через `unica.run`: вызов без `op` отдаёт словарь операций и

контракт каждой — `argsSchema`, `execution`, `previewRequired`, `dryRunRequired`. Контракт вызова бери оттуда, а не из этого текста; при `implemented: true` используй опубликованную `argsSchema`; при `support.state: limited` разрешено только подмножество `support.supportedArgs`. При `support.state: unavailable` остановись; не выдумывай аргументов при `argsSchema: null`. Для плановой операции сначала проверь результат `dryRun: true`, затем исполняй запрос с `dryRun: false`. Preview не фиксирует входы между вызовами. Не обходи контракт прямым runner-ом.

  • Сборку `.epf`/`.erf` из исходников словарь `unica.run` не публикует: `make` собирает только `.cf` и `.cfe`. Сообщай это как пробел контракта, а не обходи runner-ом.

Порядок работы

1. Убедиться, что `v8project.yaml` использует Designer mode: явно `format: DESIGNER` либо поле `format` отсутствует и действует Designer default v8-runner. Skill создаёт platform XML, а EDT external-project layout не поддерживается. 2. Сохранить существующие `workPath`, `infobase`, credentials и local overrides. Не заменять connection string и не инициализировать существующую ИБ ради scaffold. 3. Найти source-set с `type: EXTERNAL_DATA_PROCESSORS` и передать его `path` как `OutputDir` без вложенного подкаталога. v8-runner ищет descriptors непосредственно в корне source-set. 4. Если source-set ещё не объявлен, создать scaffold в выбранном новом каталоге, затем явно добавить этот каталог как корень Designer source-set. Проверить регистрацию через `unica.view {}`: `kind=external_processor`, `sourceFormat=platform_xml`. 5. Передать `FormName`, только если нужна пустая управляемая форма. Без него создаются descriptor и `ObjectModule.bsl`. 6. Записав файлы, проверить набор: `unica.check {}` и `unica.view {}` — превью и применение тут не при чём, операции нет. 7. Публикацию артефакта не обещать: `make` в `unica.run` `.epf` не собирает и отвечает `unsupported_operation`.

`Name` и `FormName` должны быть идентификаторами 1С. Существующие descriptor или одноимённый каталог не перезаписываются. При `format: EDT` остановиться и объяснить несовместимость, не создавать Designer XML внутри EDT source-set.

В существующем валидном `v8project.yaml` добавить только этот фрагмент, используя ключ `source-set` в единственном числе и не затирая остальные поля:

source-set:
  - name: external-processors
    type: EXTERNAL_DATA_PROCESSORS
    path: src/external-processors

Для нового изолированного workspace полный минимальный пример имеет также обязательный runtime-контекст. `v8project.yaml`:

workPath: build/runtime
format: DESIGNER
source-set:
  - name: external-processors
    type: EXTERNAL_DATA_PROCESSORS
    path: src/external-processors

База этой машины описывается в `v8project.local.yaml`:

infobases:
  origin:
    connection: 'File=build/ib'

Ключ `execution_timeout` не пиши: раннер его не поддерживает, и Unica отказывает в запуске с ним.

Не вызывай `infobase.create` ради scaffold или существующей проектной базы: он заводит базу, а для scaffold это не нужно. Для существующей connection сохранить настройки без переинициализации; `db-auth-check` может классифицировать только уже предоставленное runtime evidence и не запускает auth probe.

Параметры

| Параметр | Назначение | | --- | --- | | `Name` | Имя внешней обработки, обязательно | | `Synonym` | Русский синоним; по умолчанию равен `Name` | | `OutputDir` | Корень external source-set, обязательно | | `FormName` | Опциональная пустая управляемая форма |

Примеры

Поля, которые должен нести записанный дескриптор:

{
  "Name": "ИмпортТоваров",
  "Synonym": "Импорт товаров",
  "OutputDir": "src/external-processors",
  "FormName": "ОсновнаяФорма"
}

Верификация

Проверь результат до того, как объявлять объект готовым. Проверить, что созданы `<Name>.xml`, `<Name>/Ext/ObjectModule.bsl` и, если запрошена форма, три файла под `<Name>/Forms/`. Форму дополнительно проверить `unica.check` по адресу её узла. Отдельный generic Meta validator не использовать: он не принимает root `ExternalDataProcessor`. Не создавать `Configuration.xml` или platform-generated CDFI sidecar; legitimate external descriptor может называться `ConfigDumpInfo.xml`, если пользователь выбрал такое имя объекта.

Сборку и загрузку артефакта словарь `unica.run` не публикует: `make` отвечает `unsupported_operation` на `.epf`/`.erf`, а `upload` сейчас недоступен вовсе. Сообщай публикацию как пробел контракта Unica MCP.

Read more
Ships withunica

Unica (Ю&#x301;ника) — плагин для Codex, Claude Code и ZCode для разработки на 1С:Предприятии.

Get the whole plugin

Other skills on unica.

api-design
Skill

api-design

Проектирование и ревью API 1С: публичный программный интерфейс, служебный интерфейс, переопределяемые модули, совместимость,…

autonomous-server
Skill

autonomous-server

Автономный сервер отладки 1С. Используй когда нужно развернуть или проанализировать локальный автономный контур для отладки…

background-jobs
Skill

background-jobs

Фоновые и регламентные задания 1С. Используй когда нужно спроектировать, проверить или диагностировать background jobs,…

bsp-patterns
Skill

bsp-patterns

Поиск и применение паттернов БСП. Используй когда задача про длительные операции, профили групп доступа, безопасное хранение,…

cf-edit
Skill

cf-edit

Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из…

cf-init
Skill

cf-init

Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля