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). Его скрипты лежат здесь без изменений. Сверху добавлено две вещи:
- Выбор пути по задаче. Речь берётся из субтитров, картинку смотрит Gemini. Агент не тратит лимит Gemini на то, что есть в субтитрах бесплатно.
- Цепочка моделей Gemini. Если бесплатная модель упёрлась в дневной лимит или Google перегружен, скилл пробует вторую бесплатную модель, а потом, если вы это включили, делает один платный запрос через OpenRouter.
Три пути
| Что нужно | Путь | Как работает | Сколько стоит |
|---|---|---|---|
| Только слова: расшифровка, пересказ, цитаты | Речь | Субтитры ролика. Нет субтитров — звук расшифровывает Groq (или OpenAI, или WhisperX прямо на компьютере) | Бесплатно: у Groq бесплатный тариф, WhisperX работает без ключа |
| То, что видно в кадре: интерфейс, код, команды, сайты, «на какой минуте он…» | Картинка | Gemini смотрит видео целиком, со звуком, и отвечает с таймкодами | Бесплатно. По желанию — запасной платный запрос, около $0.05 за 8 минут видео |
| Картинка, но видео нельзя отдавать в облако или нет ключа Gemini | Локально | Кадры и расшифровка делаются на вашем компьютере, агент сам разглядывает кадры | Бесплатно, но тратит токены на картинки и время на скачивание |
Агент выбирает путь сам по вашему вопросу. Почему речь не идёт в Gemini: его расшифровка совпадает с субтитрами почти слово в слово, а бесплатных запросов у него около 20 в сутки на модель.
Цепочка Gemini
gemini-3.7-flashна бесплатном ключе.gemini-3.8-flashна том же ключе. Лимит считается отдельно для каждой модели, поэтому вторая часто ещё работает.- Один платный запрос к
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.
Рекомендуемые инструменты
Попробуйте другой запрос или уберите фильтр.
Установка
npx skillfish add hinkok/watch-skill