---
name: 1c-cfe-full-cycle
description: "Полный цикл создания расширения конфигурации 1С (CFE) — от scaffold до валидации. Workflow: cfe-init → borrow → patch → form → validate."
argument-hint: "<ExtensionName> для конфигурации <ConfigPath>"
allowed-tools:
  - Bash
  - Read
  - Write
  - Edit
  - Glob
  - Grep
  - Skill
---

# /cfe-full-cycle — Полный цикл создания расширения

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

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

```
/cf-info        → получить версию и совместимость конфигурации
      ↓
/cfe-init       → scaffold расширения с правильным CompatibilityMode
      ↓
/cfe-borrow     → заимствовать объекты из конфигурации
      ↓
/cfe-patch-method → создать перехватчики методов
      ↓
/meta-compile   → создать собственные объекты (если нужно)
      ↓
/form-add       → создать/заимствовать формы
/form-compile   → скомпилировать формы
      ↓
/cfe-validate   → проверить корректность расширения
```

## Алгоритм

1. **Анализ конфигурации** (`/cf-info`): получить версию, совместимость, проверить объект
2. **Scaffold расширения** (`/cfe-init`): имя, назначение (Patch/Customization/AddOn), совместимость
3. **Заимствование** (`/cfe-borrow`): скопировать нужные объекты из конфигурации
4. **Перехватчики** (`/cfe-patch-method`): создать перехватчики методов (Before/After/ModificationAndControl)
5. **Собственные объекты** (`/meta-compile`): если нужны новые реквизиты/ТЧ/модули
6. **Формы** (`/form-add` + `/form-compile`): создать или модифицировать формы
7. **BSL-код**: написать код перехватчиков и модулей
8. **Валидация** (`/cfe-validate`): проверить структуру расширения

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

```
> Создай расширение для исправления бага в справочнике Контрагенты:
  нужно добавить проверку ИНН при записи.
  Конфигурация ERP в C:\cfsrc\erp
```

## Важно

- Всегда начинать с `/cf-info` — CompatibilityMode расширения должен совпадать с конфигурацией
- Purpose выбирать по задаче: `Patch` для багфиксов, `Customization` для доработок, `AddOn` для нового функционала
- Собственные объекты расширения должны иметь префикс (`NamePrefix`)
- Завершать `/cfe-validate` для проверки корректности
