XBSL Skills AI-инструменты для 1С:Элемент
Скиллpython3

xbsl-subsystem-add

Добавление новой подсистемы в существующий проект 1С:Элемент (XBSL). Используй этот скилл когда пользователь хочет создать подсистему (раздел проекта): создаёт папку и Подсистема.yaml. Вызывай при запросах «добавь подсистему», «создай подсистему», «новый раздел», «новая подсистема». НЕ для: создания нового проекта с нуля (xbsl-init), создания объектов метаданных (xbsl-meta-add), добавления форм (xbsl-form-add).

Добавление подсистемы в проект 1С:Элемент

Шаг 0: Собери параметры

Из запроса пользователя определи:

Параметр Обязательный Дефолт
ИмяПодсистемы Да
ВключатьВАвтоИнтерфейс Нет Истина
Представление Нет
Использование Нет — (список имён других подсистем)

Если ИмяПодсистемы не указано — спроси пользователя.

Шаг 1: Найди проект и проверь конфликт

find . -name "Проект.yaml" -not -path "*/.claude/*" | head -5

Используй родительскую папку найденных Проект.yaml как {root}, запусти разведку:

python3 .claude/skills/xbsl-explore/scripts/explore.py --root {root}

Из результата возьми путь к проекту (projects[0].path). Если проектов нет — предложи создать проект через xbsl-init.

Проверь конфликт: если файл {project_path}/{ИмяПодсистемы}/Подсистема.yaml уже существует — сообщи пользователю и остановись.

Если проектов несколько — уточни у пользователя, в какой добавить подсистему.

Шаг 2: Создай файл

Создай {project_path}/{ИмяПодсистемы}/Подсистема.yaml.

Собирай файл из блоков по условию:

Блок Использование — добавлять только если указан параметр Использование:

Использование:
    - {Подсистема1}
    - {Подсистема2}

Блок Интерфейс — добавлять если ВключатьВАвтоИнтерфейс: Истина, либо задано Представление или Изображение:

Интерфейс:
    ВключатьВАвтоИнтерфейс: Истина

Добавить Представление внутрь блока только если задано пользователем:

    Представление: {Представление}

Если ни один блок не нужен (нет зависимостей, ВключатьВАвтоИнтерфейс: Ложь, нет представления) — создай пустой файл.

Примеры готовых файлов

Навигационный раздел (минимальный):

Интерфейс:
    ВключатьВАвтоИнтерфейс: Истина

Вспомогательная (зависимости, не в навигации):

Использование:
    - Основное
    - Общие

С представлением:

Использование:
    - Основное
Интерфейс:
    ВключатьВАвтоИнтерфейс: Истина
    Представление: Мои задачи

Шаг 3: Выведи итог

Подсистема создана:
  {project_path}/{ИмяПодсистемы}/Подсистема.yaml

Следующий шаг: добавь объекты через xbsl-meta-add