--- name: meeting-room-start-meeting description: Use when user says "запусти совещание ", "start meeting ", "новое совещание ", or wants to begin a multi-agent meeting from a scenarios/.md file in .meeting-room. Validates scenario frontmatter, creates skeleton transcript at .wiki/raw/transcripts/-.md, opens working buffer at .brainstorm/.md, logs to .wiki/log.md. --- # meeting-room-start-meeting Запускает совещание из `scenarios/.md`: валидирует frontmatter, создаёт skeleton-транскрипт в `.wiki/raw/transcripts/`, заводит рабочий буфер в `.brainstorm/`, логирует в `.wiki/log.md`. ## When to use - Пользователь говорит «запусти совещание », «start meeting », «новое совещание ». - Пользователь указал scenario-файл и хочет подготовить артефакты под него. ## Inputs - Путь `scenarios/.md` или просто `` (тогда искать `scenarios/.md`). ## Steps 1. **Прочитать `scenarios/.md`.** Распарсить YAML frontmatter. 2. **Валидация:** - `name`, `problem` непустые; - `participants` — список, все элементы существуют как ключи `roles.*` в `config/config.yaml`; - `max_rounds` — целое (если присутствует). - При ошибке — перечислить, не создавать ничего. 3. **Сегодняшняя дата** → ` = YYYY-MM-DD` (UTC локального компа). 4. **Создать `.wiki/raw/transcripts/-.md`** (skeleton): ```markdown --- date: scenario: scenarios/.md participants: [, , ...] problem: | <первая строка problem из scenario> --- # — transcript ``` 5. **Создать `.brainstorm/.md`** (если ещё нет): ```markdown # — working buffer - **Scenario:** [scenarios/.md](../scenarios/.md) - **Transcript:** [.wiki/raw/transcripts/-.md](../.wiki/raw/transcripts/-.md) - **Started:** ## Заметки ``` Если файл уже существует — спросить: **append-skip**, **overwrite**, **abort**. 6. **Дописать в `.wiki/log.md`:** ``` started ([]) ``` 7. **Вернуть пользователю:** созданные пути и подсказку — как запустить runner (на сегодня запуск runner'а вне scope, скил готовит только артефакты). ## Failure modes - `scenarios/.md` отсутствует → abort. - Frontmatter невалидный → перечислить ошибки, ничего не создавать. - Participant отсутствует в `config/config.yaml#roles` → abort с указанием отсутствующих ролей. - `.brainstorm/.md` уже есть и пользователь выбрал abort → exit без записи в `raw/transcripts/`. ## Side effects - Создаёт `.wiki/raw/transcripts/-.md`. - Создаёт `.brainstorm/.md` (или модифицирует с разрешения). - Аппендит строку в `.wiki/log.md`. ## What NOT to do - Не запускать runner — это вне scope скила. - Не редактировать `scenarios/.md`. - Не пытаться угадать `participants` если их нет в `config.yaml`.