diff --git a/.claude/skills/meeting-room-start-meeting/SKILL.md b/.claude/skills/meeting-room-start-meeting/SKILL.md new file mode 100644 index 0000000..034f556 --- /dev/null +++ b/.claude/skills/meeting-room-start-meeting/SKILL.md @@ -0,0 +1,85 @@ +--- +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`.