Watch video
Skill kimtth/agent-skill-100-lines-or-less/skills/watch-video
🧿 Minimal but effective AI agent skill definitions in 100 lines or less.
npx -y skills add kimtth/agent-skill-100-lines-or-less --skill watch-videoAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when: answer questions about a video URL or local file by seeing its frames and reading its transcript.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
1.6 KB, 372 tokens by cl100k_base, as published. Nobody here has run it
Goal: let the agent actually watch a video instead of guessing from its title or a partial transcript.
Use for:
- analyzing someone else's content (hooks, ad creative, podcast intros) — what was shown and said
- diagnosing a bug from a screen recording — find the frame where it breaks
- summarizing a long video faster than watching at 2x
Inputs:
- a URL anything yt-dlp supports (YouTube, Loom, TikTok, X, Vimeo, ...) or a local path (.mp4, .mov, .mkv, .webm)
- a question to answer
Workflow:
- Download the URL with yt-dlp into a temp dir; probe local files in place.
- Extract frames with ffmpeg at a duration-aware rate. Hard caps: 2 fps, 100 frames.
- <=30s ~30 frames | 30-60s ~40 | 1-3min ~60 | 3-10min ~80 | >10min 100 (sparse).
- Get a timestamped transcript: native captions first (free), Whisper fallback when none exist.
- Read each frame as an image alongside the transcript; both carry t=MM:SS markers.
- Answer grounded in what is on screen and in the audio — not the title or description.
- Clean up the temp working dir unless follow-ups are expected.
Rules:
- Best accuracy under 10 minutes; for longer videos re-run focused on a window with --start/--end.
- Frames drive token cost — narrow the window before raising the frame cap or resolution.
- Bump frame width (e.g. 1024px) only when on-screen text must be read (slides, terminals, code).
- Public URLs and local files only; never log into private platforms.
Gives 0 of the 12 instructions most video audio skills give in 372 tokens
Counted across 622 of the 795 authors here whose files we hold, read 2026-08-07
- read individual rule files for detailed explanationsin 21 of 622, across 10 files
- render final videoin 13 of 622, across 6 files
- Use WAV PCM 16kHz mono audio formatin 12 of 622, across 3 files
- Use this skill when dealing with Remotion codein 11 of 622, across 4 files
- save generated audio to a WAV filein 11 of 622, across 4 files
- handle conversion errors gracefullyin 10 of 622, across 6 files
- add captions to videos alwaysin 10 of 622, across 4 files
- generate music from text descriptions using MusicGenin 9 of 622, across 2 files
- do not skip pipeline layersin 9 of 622, across 3 files
- do not make one tool do everythingin 9 of 622, across 3 files
- use azure document intelligence for complex pdfsin 9 of 622, across 4 files
- never ask the user to paste their full API keyin 9 of 622, across 3 files
Said here and by no other author read
- use native captions before whisper fallback
- read each frame alongside the transcript
- answer strictly from on-screen and audio content
- clean up the temp directory after analysis
- narrow the analysis window before raising frame limits
- increase frame width only to read on-screen text
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.