meeting-to-tasks · git:20260814.b9b7885 · 2026-08-14 · sha256 6e29ad596126b426
meeting-to-tasks git:20260814.b9b7885A
Immutable. This exact content is served forever at /api/v1/blob/6e29ad596126b426.
--- name: meeting-to-tasks description: "Полный цикл от записи встречи до планов разработки: локальная транскрибация с разбором экрана и скриншотами, извлечение списка задач, отдельный план разработки по SDD на каждую задачу, которой нужен код. Используй ВСЕГДА, когда пользователь дает путь к записи встречи или созвона и хочет получить задачи, план, поручения или разбор - даже если слово транскрибация не прозвучало. Триггеры: разбери встречу, что по итогам созвона, какие задачи со встречи, сделай план по записи, переговоры в задачи, meeting to tasks. НЕ для простой расшифровки речи без задач - там достаточно скила transcribe." argument-hint: "<путь к записи встречи>" --- # Встреча в задачи и планы разработки Цепочка: запись -> локальная транскрипция с картинками -> список задач -> план разработки по SDD на каждую задачу, которой нужен код. Смысл разделения на два артефакта: список задач читают люди (заказчик, команда, трекер), а план разработки нужен только тому, кто будет писать код. Смешивать их в один документ вредно - список перестает быть обозримым, а план тонет в организационных пунктах. ## Шаг 0. Уточнить постановку и сразу приступить Прогони исходную просьбу пользователя через скил `prompt-enhancer` - он развернет короткую формулировку в явное задание с шагами и граничными случаями. Это дешевая страховка от того, что половина сказанного на встрече будет разобрана, а половина потеряна. Улучшенный промпт не выноси на одобрение. Пользователь просит улучшить и **приступить**, а не улучшить и ждать. Одобрение нужно позже - перед реализацией планов, не перед их составлением. ## Шаг 1. Транскрибировать локально, с картинками Вызови скил `transcribe`: ``` "<путь к записи>" --engine local --diarize ``` Почему именно так: - `--engine local` - записи встреч конфиденциальны, в облако они не уходят. Для видео этот режим и дает картинки: нарезку scene-кадров в `screenshots/` плюс разбор экрана локальной моделью зрения. Без флага видео ушло бы в Gemini, а это прямой запрет. - `--diarize` - без разделения по спикерам не восстановить, кто что поручил и кто за что отвечает, а ответственный в задаче важнее формулировки. Скил transcribe не модифицируй - он самодостаточен и конфигурируется своим `.env`. Транскрибация локального видео идет десятки минут. Запускай фоном (`run_in_background`) и не опрашивай статус: харнесс уведомит о завершении. Пока идет фон, можно готовить структуру папок и выяснять конвенции проекта, но выдумывать содержание задач до готового транскрипта нельзя. Картинки нужны всегда, когда в записи есть видеоряд: скрипт нарезает scene-кадры в `screenshots/` и разбирает экран моделью зрения. На встречах показывают формы, документы, конфигурации, и половина постановки часто живет именно на экране, а не в словах. Пропасть картинки могут в двух случаях, и путать их нельзя: - **На входе чистое аудио** (m4a, mp3, wav и подобное). Видеодорожки нет, нарезать нечего. Работай по речи и скажи пользователю, что запись была без видео. - **Модель зрения недоступна.** Кадры все равно нарезаются и лежат в `screenshots/`, теряется только текстовое описание экрана. Это не повод считать визуальную часть потерянной: открой нужные кадры сам, глазами, отталкиваясь от таймкодов спорных мест в транскрипте. Транскрибация деградирует по частям: может не подняться модель зрения, может отвалиться сервер. Это не повод останавливаться. Прочитай `<имя>.status.json`, возьми что есть и честно перечисли, что осталось неразобранным. Неполный результат с явным перечнем дыр полезнее отказа. Для анализа читай `- саммари.md` и `- со спикерами.md`, а `- детальный.md` подключай там, где нужен контекст экрана (показывали форму, документ, конфигурацию). Кадры из `screenshots/` смотри выборочно, под конкретный вопрос: в получасовой встрече их бывает под сотню, читать подряд бессмысленно. ## Шаг 2. Список задач Пройди транскрипт и вытащи все, что кто-то должен сделать. Задача - это не всякая произнесенная мысль: нужен адресат действия. Обсуждение без вывода задачей не становится, но если по теме явно нужно решение и его не приняли, это открытый вопрос - его тоже фиксируй, отдельно от задач. Сохрани список в проект, в `Documents/Разработка/` (или в аналогичную папку рабочих документов проекта, если структура другая). Имя файла: `<ГГГГ-ММ-ДД>_Задачи_со_встречи_<тема>.md`, дата - дата встречи, если ее видно из имени записи, иначе сегодняшняя. Структура файла: ```markdown # Задачи со встречи <дата>, <тема> Участники: <кто был слышен> Запись: <путь>, транскрипт: <путь> ## Задачи ### 1. <Короткое название> Что сделать: <формулировка> Ответственный: <кто, если назван> Срок: <если назван> Требуется разработка: да / нет Источник: [MM:SS] <короткая цитата или пересказ> ### 2. ... ## Открытые вопросы - <вопрос> - [MM:SS], кто должен ответить ## Решения - <принятое решение> - [MM:SS] ``` Таймкод и цитата - обязательная часть. Через неделю никто не вспомнит, откуда взялась формулировка, а спор о том, что именно просил заказчик, разрешается только возвратом к записи. Выведи список задач в чат целиком, а не ссылкой на файл. Пользователь просит именно показать его - скорее всего, чтобы сразу занести в трекер или переслать. Признак "требуется разработка": задача меняет код, метаданные, настройки, которые правятся в исходниках. Не требуют разработки: организационные (запросить документ, назначить встречу, уточнить у смежников), настроечные в пользовательском режиме, а также задачи чужой зоны ответственности - вендора или смежной команды. Зоны ответственности смотри в CLAUDE.md проекта: попытка запланировать чужую работу как свою создает ложное ощущение объема и потом всплывает как срыв. ## Шаг 3. План разработки на каждую задачу Для каждой задачи с признаком "требуется разработка" сделай ОТДЕЛЬНЫЙ план. Не один общий на встречу: задачи живут своей жизнью, у каждой свой срок, свое согласование и своя судьба, а общий план на пять задач невозможно ни закрыть, ни отдать в работу по частям. Планы клади в `~/.claude/plans/<имя-проекта>/`, где имя подпапки - последний каталог рабочей директории. Подпапки нет - создай. Имя файла: `План_разработки_<номер задачи в трекере или слаг названия>.md`. План делается по SDD-workflow, фазы 0-4: оценка сложности, требования, исследование кодовой базы, уточняющие вопросы, архитектура с инвариантами и этапами. Фазы 5 и дальше (ревью плана, реализация) - не здесь: реализация начинается только после явного одобрения пользователем. В шапке каждого плана обязательна привязка к встрече: ```markdown # План разработки: <название задачи> Источник: встреча <дата>, задача N из <путь к файлу списка задач> Постановка на встрече: [MM:SS] <цитата> Ответственный: <кто> ``` Без этой привязки план через месяц выглядит как задача из ниоткуда, и первым делом приходится восстанавливать, кто и зачем ее просил. Содержание плана - текст, а не код: что сделать, где, каким подходом. Фрагменты реализации в план не вставляй, если пользователь не попросил отдельно. Исследование кодовой базы (фаза 2) делай по-настоящему, а не формально: без него архитектурная часть плана будет фантазией. Если по задаче не хватает данных для проектирования, так и напиши в плане, в разделе уточняющих вопросов, вместо того чтобы придумывать недостающее. ## Что показать в конце - Список задач - полностью в чате. - Пути: транскрипт, папка скриншотов, файл списка задач, каждый файл плана. - Задачи, по которым план НЕ делался, и почему (не требуют разработки, чужая зона, слишком мало данных). - Что осталось неразобранным в транскрипции, если стадии деградировали. Последние два пункта важнее, чем кажется. Молча пропущенная задача выглядит как несуществующая, и всплывет она уже как претензия.