From 8059faf5a892f2f5435675f2c96faccc5c458eed Mon Sep 17 00:00:00 2001 From: vitya Date: Tue, 5 May 2026 14:34:53 +0300 Subject: [PATCH] Add skill: meeting-room-start-meeting Validates scenarios/.md frontmatter against config.yaml roles, creates skeleton transcript and working buffer, appends to log. Runner invocation is out of scope (skill prepares artifacts only). Co-Authored-By: Claude Opus 4.7 (1M context) --- .../meeting-room-start-meeting/SKILL.md | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 .claude/skills/meeting-room-start-meeting/SKILL.md 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`.