A three-and-a-half-hour recording hides a ten-second tool demonstration. A retention chart shows a steep drop but cannot tell you what the viewer saw. A useful lecture sits unwatched because no one has time to turn it into notes. In Brad Bonanno's Watch demonstration, an agent skill tackles all three by asking a video model targeted questions and returning findings with timestamps.
Watch is an open-source skill for a supported coding agent. With a Gemini API key, it can send a public YouTube URL directly to Google's video model and return focused, timestamped answers. Its local engine instead extracts evidence from a video using local tools. The skill itself is free, but Gemini has quotas, the host assistant still has usage limits, and private footage requires a deliberate data decision. Start with a narrow question and verify the cited moment before using it.
Watch Brad's Demonstration
Credit: Brad Bonanno's video and his 15-page Watch Skill Install Guide supplied with this article. The steps below are reorganized from his guide, then checked against the current project README and Google's product documentation. Interface labels can change; the upstream README is the place to check for the latest installer.
Three Jobs Worth Trying
1. Find the one moment you need
At 1:38, Brad asks Watch to locate a tokenizer demo buried in a long Andrej Karpathy recording. A useful answer names the tool, describes the on-screen evidence, and links to the moment. This is more actionable than a whole-video summary, but watch the returned clip yourself: timestamps and identifications can be wrong, particularly in long or visually dense footage.
2. Put retention data next to the actual scene
At 2:31, he pairs audience-retention drops with what his video was saying and showing at those moments. That turns a graph into edit hypotheses: a slow transition, an unclear promise, or a mismatch between title and scene. It does not establish why viewers left. Check the video, the size of the audience, and other possible explanations before changing a format.
3. Build a source-linked video wiki
At 3:53, Brad extracts examples and notes into his LLM wiki. A good entry should keep the source URL, timestamp, short claim, and a human-checked quotation or paraphrase. That gives future writing and research a route back to the actual video instead of letting a summary become an uncited fact.
What Watch Sends, and What Comes Back
The project README describes two engines. In Gemini mode, a public YouTube URL goes directly to Google along with the question. Google's agentic video mode can selectively inspect audio, transcript, and frames rather than loading a fixed sample of the entire video into the host conversation. Other URLs and local files follow an upload path, so “no download” applies to the direct public YouTube case, not every source. In local mode, Watch uses local extraction and captions or a configured transcription fallback to hand evidence to the agent.
Google reports up to 88% fewer video-processing tokens and up to 7% higher accuracy in its own benchmarks against static processing. Brad describes a roughly 87% saving in the video. These are benchmark comparisons, not a promise that your assistant's entire usage bill falls by that amount or that every answer is correct.
Install Watch: Brad's PDF, Reorganized
Choose one host and one installation path. Downloading a watch.skill file into an ordinary chat is not the same as installing an executable skill. Check the current host matrix before you begin, especially on managed accounts.
Claude Desktop: Code tab
- Open Customize → Plugins → Add marketplace → Add from a repository.
- Enter the Watch repository URL and sync the marketplace.
- Find and install Watch from that marketplace. Adding the marketplace alone is not enough. Start a new Code session; Claude Chat and Cowork are different surfaces.
Claude Code: terminal or VS Code
Inside a Claude Code terminal session, run /plugin marketplace add bradautomates/claude-video, then /plugin install watch@claude-video. VS Code also provides a plugin UI. Follow the activation prompt, start a fresh session, and select /watch (often /watch:watch).
Codex: desktop, CLI, or IDE
Ask Codex to use $skill-installer to install Watch from the skill folder. Start a new turn or session. The current README also documents a native plugin route for desktop and CLI; it says the IDE extension supports standalone skills, not those plugins. Choose one route.
ChatGPT Work desktop: the PDF's path
Brad's guide shows Plugins → Add marketplace, adding bradautomates/claude-video, then installing Watch in a Work conversation. This is his desktop-app path, not a guarantee for regular ChatGPT chat or every app version. If those controls are absent, check your account and administrator's plugin support rather than trying to upload the skill file to a chat.
Brad's guide also suggests changing Codex sandbox network settings when outbound access is blocked. That expands what an agent can reach. Diagnose the failure first, review your organization's policy, and grant only the network access the task requires. Do not change security settings just to make an unverified download work.
Get a Gemini Key and Run One Public Test
- Open Google AI Studio's API key page and create or select a key for the appropriate project. Confirm whether that project is on the free or paid tier before sending data.
- Keep the key private. Watch's setup uses
GEMINI_API_KEYand can store it in~/.config/watch/.env. Do not paste a real key into a public chat, repository, screenshot, or shared document. - In a supported host, invoke
/watchwith a public YouTube URL and a narrow question, such as “Which minute shows the settings panel, and what is visible on screen?” Follow the first-run engine prompt to select Gemini. - Open each returned timestamp and compare the answer with the original video. If the video is long, restrict the time window and ask a more specific question.
Google's video documentation says direct YouTube input accepts public videos, not private or unlisted ones, and its free tier has an eight-hour-per-day YouTube video limit. That is a quota, not unlimited free processing. The pricing page and your project settings determine actual availability and charges. Your Claude or Codex session can still use its own allowance to frame the request and write the answer.
Gemini or Local: Decide Before You Upload
Choose Gemini for targeted public-video questions
This is the fastest route for searching a public YouTube video, especially a long one. Google processes the video and question, so free-tier quotas and applicable data terms matter. Other URLs or local files may be uploaded rather than passed through as direct YouTube links.
Choose local for tighter data control
Local mode avoids sending the video to Google and offers local frame and transcript controls. It needs compute and, for URL handling, tools such as ffmpeg and yt-dlp. “Local” is only local if the agent and files actually run on your machine.
Watch currently chooses Gemini in auto mode when a key is available, otherwise local. The README's engine settings also let you force a mode. A Gemini error does not silently switch to local; decide whether to retry or change engines yourself. For a sensitive recording, make that choice before the first run.
Privacy is not the same as price. Google's API terms say unpaid-service inputs and outputs may be used to improve products and reviewed by humans, and warn against submitting sensitive data. The terms also specify a different treatment for users in the EEA, Switzerland, and UK, and for paid services. Check the terms that apply to your location, account, and project; obtain permission for client footage. A public YouTube video is a reasonable first test. A private customer call is not.
Four Better Questions Than “Summarize This”
- Find a moment: “Where does the presenter demonstrate [tool or action]? Give the timestamp and the visual evidence.”
- Audit a hook: “Compare the first 30 seconds with the title's promise. Which exact line or shot makes the topic clear, and where might a new viewer be confused?”
- Review retention: “Here are my drop timestamps and audience data. Describe what is spoken and shown at each point. Separate observations from possible explanations.”
- Make research notes: “Extract five reusable examples, each with a source timestamp, a concise explanation, and a flag for claims I should verify.”
These adapt the use cases in Brad's PDF without assuming the model has access to your analytics. Supply retention data only when you are allowed to use it, and ask for evidence rather than a confident-sounding story.
Updates and Common Fixes
/watchmissing: Confirm you installed Watch after adding the marketplace, use a supported Code/Work surface, and start a new session. On managed accounts, ask an administrator about plugin policy.- Key or quota error: Check the key's project and
GEMINI_API_KEYlocation. A 429 may mean a quota or rate limit; narrow the request, wait, or deliberately switch engines. - Private/unlisted YouTube URL: Direct Gemini YouTube input will not accept it. Use a file you are authorized to process and choose an engine that meets the footage's privacy requirements.
- Local download/transcript fails: Check
ffmpeg,yt-dlp, captions, and any selected transcription backend. A 403 may require updatingyt-dlp; do not assume Watch can bypass access restrictions. - Already installed: Use the upstream update instructions for your chosen host, then start a fresh session. Brad's PDF lists Claude plugin and Codex marketplace update paths; they are not interchangeable.
Turn Video Research Into a Business Idea
A source-linked research service is more testable than promising “AI video strategy.” This copyable prompt uses the article's clip retrieval, retention review, and wiki workflow to design one permissioned pilot.
Build a video research desk
Three offers, one seven-day validation test.
Video Chapters
0:30 How it works · 1:38 Find a moment · 2:31 Retention review · 3:53 Video wiki · 4:30 Setup · 5:59 Updating · 6:23 Local mode · 7:07 Choose an engine.