HW

hinkok/watch-skill

API development
11 stars Качество 63 Тренд 32MIT

Agent skill that watches videos: captions for speech, Gemini for what's on screen (two free models, then an optional paid OpenRouter fallback). Based on bradautomates/claude-video.

Обзор

Скилл для Claude Code и Codex. Даёте ссылку на ролик (YouTube и любые сайты, которые понимает yt-dlp) или файл с диска и спрашиваете что угодно: агент пересказывает, расшифровывает, находит нужный момент, выписывает сервисы и команды, которые показали в кадре. Основа — плагин watch от Bradley Bonanno (версия 0.3.2, лицензия MIT). Его скрипты лежат здесь без изменений. Сверху добавлено две вещи: 1. Речь берётся из субтитров, картинку смотрит Gemini. Агент не тратит лимит Gemini на то, что есть в субтитрах бесплатно. 2. Если бесплатная модель упёрлась в дневной лимит или Google перегружен, скилл пробует вторую бесплатную модель, а потом, если вы это включили, делает один платный запрос через OpenRouter. Агент выбирает путь сам по вашему вопросу. Почему речь не идёт в Gemini: его расшифровка совпадает с субтитрами почти слово в слово, а бесплатных запросов у него около 20 в сутки на модель. 1. gemini-3.7-flash на бесплатном ключе. 2. gemini-3.8-flash на том же ключе.

README

watch — скилл, который смотрит видео за агента

Скилл для Claude Code и Codex. Даёте ссылку на ролик (YouTube и любые сайты, которые понимает yt-dlp) или файл с диска и спрашиваете что угодно: агент пересказывает, расшифровывает, находит нужный момент, выписывает сервисы и команды, которые показали в кадре.

Основа — плагин watch от Bradley Bonanno (версия 0.3.2, лицензия MIT). Его скрипты лежат здесь без изменений. Сверху добавлено две вещи:

  1. Выбор пути по задаче. Речь берётся из субтитров, картинку смотрит Gemini. Агент не тратит лимит Gemini на то, что есть в субтитрах бесплатно.
  2. Цепочка моделей Gemini. Если бесплатная модель упёрлась в дневной лимит или Google перегружен, скилл пробует вторую бесплатную модель, а потом, если вы это включили, делает один платный запрос через OpenRouter.

Три пути

Что нужно Путь Как работает Сколько стоит
Только слова: расшифровка, пересказ, цитаты Речь Субтитры ролика. Нет субтитров — звук расшифровывает Groq (или OpenAI, или WhisperX прямо на компьютере) Бесплатно: у Groq бесплатный тариф, WhisperX работает без ключа
То, что видно в кадре: интерфейс, код, команды, сайты, «на какой минуте он…» Картинка Gemini смотрит видео целиком, со звуком, и отвечает с таймкодами Бесплатно. По желанию — запасной платный запрос, около $0.05 за 8 минут видео
Картинка, но видео нельзя отдавать в облако или нет ключа Gemini Локально Кадры и расшифровка делаются на вашем компьютере, агент сам разглядывает кадры Бесплатно, но тратит токены на картинки и время на скачивание

Агент выбирает путь сам по вашему вопросу. Почему речь не идёт в Gemini: его расшифровка совпадает с субтитрами почти слово в слово, а бесплатных запросов у него около 20 в сутки на модель.

Цепочка Gemini

  1. gemini-3.7-flash на бесплатном ключе.
  2. gemini-3.8-flash на том же ключе. Лимит считается отдельно для каждой модели, поэтому вторая часто ещё работает.
  3. Один платный запрос к google/gemini-3.7-flash через OpenRouter. Только для ссылок YouTube, только если вы добавили OPENROUTER_API_KEY и только если обе бесплатные модели упёрлись в дневной лимит (HTTP 429) или в перегрузку Google (HTTP 503). Каждый платный запрос с его ценой пишется в ~/.config/watch/paid-usage.log.

Каждая ступень пробуется один раз. Повторов в цикле нет: неудачные попытки тоже съедают бесплатный лимит. Любая другая ошибка (неверный ключ, закрытое видео) сразу останавливает цепочку, и агент предлагает локальный путь, а не переключается на него молча.

Gemini путает мелкий текст на экране: ники, ссылки, команды, номера версий. Скилл велит агенту перепроверять такие места по кадру из видео, прежде чем отдавать вам ссылку или команду.

Установка

Нужен Python 3.10 или новее. ffmpeg и yt-dlp скилл поставит сам при первой настройке (на macOS через Homebrew).

Claude Code (терминал, VS Code, десктопное приложение):

git clone https://github.com/HinkoK/watch-skill ~/.claude/skills/watch

Потом начните новую сессию.

Codex — вставьте в окно сообщения:

Use $skill-installer to install the watch skill from:
https://github.com/HinkoK/watch-skill

Если у вас уже стоит оригинальный плагин watch@claude-video, удалите его (claude plugin uninstall watch@claude-video), иначе у агента будет два скилла с одним именем. Настройки и ключи у них общие, в ~/.config/watch/.env, переносить ничего не нужно.

Первый запуск и ключи

Попросите агента посмотреть любое видео. Он сам запустит настройку и спросит ключи. Ключ можно вставить прямо в чат или вписать самому в ~/.config/watch/.env (агент откроет файл в редакторе).

Ключ Для чего Где взять
GEMINI_API_KEY Путь «картинка» Бесплатно: https://aistudio.google.com/apikey
GROQ_API_KEY Ролики без субтитров Бесплатный тариф: https://console.groq.com/keys
OPENROUTER_API_KEY По желанию: платная страховка, когда бесплатные модели кончились https://openrouter.ai/keys, нужен пополненный баланс

Без ключа Groq можно выбрать WhisperX: расшифровка идёт на вашем компьютере, один раз скачивается около 1,5 ГБ, нужно 8 ГБ памяти. Без ключа Gemini картинка смотрится локальным путём.

Примеры запросов

  • «Сделай расшифровку https://youtu.be/…» — речь
  • «Перескажи, о чём это видео» — речь
  • «Какие сервисы он показывает в ролике? Дай ссылки» — картинка
  • «На какой минуте открывают настройки?» — картинка
  • «Посмотри ~/Movies/demo.mp4, но никуда его не отправляй» — локально

Настройки

Переменные окружения или строки в ~/.config/watch/.env:

Переменная Что делает
WATCH_GEMINI_MODELS Порядок бесплатных моделей через запятую, по умолчанию gemini-3.7-flash,gemini-3.8-flash
WATCH_OPENROUTER_MODEL Платная модель, по умолчанию google/gemini-3.7-flash
WATCH_NO_PAID=1 Не делать платный запрос, даже если ключ есть
WATCH_WHISPER_BACKEND Чем расшифровывать звук без субтитров: groq, openai, whisperx, none
WATCH_DETAIL Сколько кадров брать на локальном пути: transcript, efficient, balanced, token-burner

Остальные настройки и все флаги watch.py описаны в SKILL.md.

Куда уходят данные

  • Путь «речь»: субтитры скачиваются с сайта видео. Без субтитров в Groq или OpenAI уходит только звуковая дорожка; с WhisperX звук не покидает компьютер.
  • Путь «картинка»: ссылка YouTube уходит в Google, файл с диска загружается в Google и удаляется после ответа. Платная ступень отправляет в OpenRouter только ссылку YouTube и ваш вопрос.
  • Локальный путь никуда не отправляет видео.

Лицензия

MIT. Скрипты watch — © 2026 Bradley Bonanno, текст лицензии в LICENSE.

Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add hinkok/watch-skill
Новичок в MCP? Начните с руководства на mcpskill.org →