---
name: 1c-epf-full-cycle
description: "Полный цикл создания внешней обработки 1С — от scaffold до сборки EPF. Workflow: epf-init → form → template → bsp → build."
argument-hint: "<ProcessorName> с описанием функционала"
allowed-tools:
  - Bash
  - Read
  - Write
  - Edit
  - Glob
  - Grep
  - Skill
---

# /epf-full-cycle — Полный цикл создания обработки

Workflow-скил: оркестрирует цепочку навыков для создания внешней обработки от scaffold до EPF-файла.

## Цепочка навыков

```
/epf-init       → scaffold пустой обработки (XML-исходники)
      ↓
/epf-add-form   → добавить управляемую форму
      ↓
/form-compile   → скомпилировать форму из JSON DSL
      ↓
/template-add   → добавить макеты (если нужны печатные формы)
      ↓
/mxl-compile    → скомпилировать макеты из JSON DSL
      ↓
/1c-bsp-registration   → регистрация БСП (если дополнительная обработка)
      ↓
/1c-bsp-command → добавить команды БСП (если нужно)
      ↓
/epf-validate   → проверить корректность
      ↓
/epf-build      → собрать EPF-файл
```

## Алгоритм

1. **Определить параметры**: имя обработки, назначение, реквизиты, формы, макеты, БСП
2. **Scaffold** (`/epf-init`): создать XML-исходники пустой обработки
3. **Форма** (`/epf-add-form` + `/form-compile`): создать и скомпилировать форму
4. **Макеты** (`/template-add` + `/mxl-compile`): если нужны печатные формы
5. **БСП** (`/1c-bsp-registration` + `/1c-bsp-command`): если дополнительная обработка/отчёт
6. **Модуль формы**: написать BSL-код обработчиков
7. **Валидация** (`/epf-validate`): проверить XML-структуру
8. **Сборка** (`/epf-build`): собрать EPF-файл (требует платформу 1С)

## Пример использования

```
> Создай обработку "ЗагрузкаПрайса" с формой:
  - Поле выбора файла, кнопка "Загрузить"
  - Таблица предпросмотра данных
  - Зарегистрировать как доп. обработку БСП
  - Собрать EPF в build/
```

## Важно

- Шаг сборки (`/epf-build`) требует установленную платформу 1С
- БСП-регистрация нужна только для обработок, подключаемых через "Дополнительные отчёты и обработки"
- Макеты нужны только при наличии печатных форм
- Модуль объекта пишется вручную (или через Edit), не через навык
