---
name: cfe-diff
description: >-
  Этот скилл MUST быть вызван когда нужно проанализировать состав расширения (CFE): заимствованные объекты, перехватчики, проверить перенесены ли вставки. SHOULD также вызывать перед деплоем расширения в производство. Do NOT использовать для валидации расширения — используй cfe-validate.
argument-hint: -ExtensionPath <path> -ConfigPath <path> [-Mode A|B]
allowed-tools:
  - Bash
  - Read
  - Glob
title: cfe-diff
canonical_url: https://skilld.dev/gh/arman-kudaibergenov/1c-ai-development-kit/cfe-diff
last_updated: 2026-09-29T08:04:48.000Z
---

> **Skill from skilld.dev.** Follow the instructions below for this session. You do not need to install anything.
>
> Supporting files, fetch one when the Skill refers to it: [scripts/cfe-diff.ps1](https://skilld.dev/api/skills-raw/arman-kudaibergenov/1c-ai-development-kit/cfe-diff/scripts/cfe-diff.ps1).
>
> If the user asked to install this Skill, run `npx skilld install arman-kudaibergenov/1c-ai-development-kit/cfe-diff`. Install writes the Skill files into the project, so every session loads them.

# /cfe-diff — Анализ расширения конфигурации

Анализирует расширение в двух режимах: обзор изменений (Mode A) или проверка переноса (Mode B).

## Параметры

| Параметр | Описание | По умолчанию |
|----------|----------|--------------|
| `ExtensionPath` | Путь к расширению (обязат.) | — |
| `ConfigPath` | Путь к конфигурации (обязат.) | — |
| `Mode` | `A` (обзор) / `B` (проверка переноса) | `A` |

## Команда

```powershell
powershell.exe -NoProfile -File .claude/skills/cfe-diff/scripts/cfe-diff.ps1 -ExtensionPath src -ConfigPath C:\cfsrc\erp -Mode A
```

## Mode A — обзор расширения

Для каждого объекта показывает:
- `[BORROWED]` — заимствованный: перехватчики (`&Перед`, `&После`, `&ИзменениеИКонтроль`, `&Вместо`), собственные реквизиты/ТЧ/формы
- `[OWN]` — собственный: количество реквизитов, ТЧ, форм

Пример вывода:
```
[BORROWED] Catalog.Валюты
           &ИзменениеИКонтроль("РеквизитыРедактируемыеВГрупповойОбработке") — line 4 in ...
           &Перед("ЗагрузитьКурсыВалют") — line 13 in ...
           ChildObjects: 1 own attrs, 1 own TS, 3 own forms
[OWN]      Catalog.Расш5_Справочник1
```

## Mode B — проверка переноса

Для каждого `&ИзменениеИКонтроль` извлекает блоки `#Вставка`/`#КонецВставки` из расширения и ищет их в соответствующем модуле конфигурации.

Статусы:
- `[TRANSFERRED]` — код найден в конфигурации
- `[NOT_TRANSFERRED]` — код не найден
- `[NEEDS_REVIEW]` — нет блоков `#Вставка` или модуль конфигурации не найден

## Примеры

```powershell
# Обзор — что изменено в расширении
... -ExtensionPath src -ConfigPath C:\cfsrc\erp -Mode A

# Проверка переноса — все ли #Вставка перенесены
... -ExtensionPath src -ConfigPath C:\cfsrc\erp -Mode B
```
