Watch video skill
Evidence-first video understanding skill for Codex: yt-dlp, Douyin SSR fallback, local whisper.cpp, keyframes, OCR, and grounded reports.
npx -y skills add Dunteng/watch-video-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 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 the user asks to watch, analyze, summarize, transcribe, OCR, extract keyframes from, or make notes from a video file or URL. Triggers include Douyin, TikTok, YouTube, yt-dlp, mp4/mov, subtitles, transcript, keyframes, video report, and "this video says what". Do not use for editing, generation, playback UI, or code maintenance.
SKILL.md
3.6 KB, as published. Nobody here has run it
Watch Video
Overview
Use watchvideo to turn video into evidence, then synthesize from the report, transcript, and keyframes.
The CLI prepares evidence, including local ASR; the Agent reads it and persists summary/analysis results to report.md by default.
Routing Boundaries
Use this skill for:
- Video links or files the user wants summarized, transcribed, inspected, or converted into notes.
- Requests involving
report.md,report.json,summary-input.md, transcripts, keyframes, OCR, or video-derived notes. - Existing analysis directories where the user wants the Agent to finish or write back.
Do not use this skill for:
- Editing, cutting, transcoding, compressing, publishing, or generating video assets.
- Building media players, playback UI, or video processing product features.
- Debugging or extending the
watchvideosource code; use normal coding/debugging workflows for that. - Generic article/PDF/webpage summarization when no video artifact or
watchvideooutput is involved.
Workflow
- Locate the skill repo containing this
SKILL.mdandwatchvideo/cli.py. Run CLI commands there withpython3 -m watchvideo .... - Keep analysis outputs in the user's current workspace, unless the user confirms another path. The CLI may cache
whisper.cppunder.tools/. For command details, readreferences/workflow.md. - Run or inspect analysis, then read generated artifacts before summarizing. For artifact priority and output rules, read
references/artifacts.md. - If tools, subtitles, OCR, downloads, or long-running processes fail, read
references/troubleshooting.md. - For 总结/分析/看懂/讲了什么 requests, when
report.mdexists, you must write final understanding into## 视频内容总结unless the user explicitly asks not to write files. You may usescripts/update_report_summary.py.
Evidence Rules
- Do not summarize from the video URL, title, description, search results, or same-topic materials.
- If video/transcript/keyframe evidence cannot be produced, stop and report the blocker.
- Do not open browser UI; let the CLI read configured browser cookies when
yt-dlpneeds them. - Prefer platform subtitles; otherwise let the CLI use system
whisperor auto-prepare localwhisper.cppunless disabled. - Use keyframes to verify slides, code, diagrams, on-screen text, and visual context.
- Treat remote MP4 downloads as temporary; they are deleted after analysis unless the user asks to keep them. Never delete local source videos.
- Mark uncertain transcription, OCR, names, dates, and technical terms as needing confirmation.
- Keep summaries concise, structured, and grounded in visible/transcribed evidence.
Quick Reference
| Task | Read or run |
|---|---|
| New video analysis | references/workflow.md |
| Existing analysis directory | references/artifacts.md |
| No subtitles or bad transcript | references/troubleshooting.md |
| Write summary into report | scripts/update_report_summary.py |
Common Mistakes
- Stopping after
analyzewithout reading the evidence files. - Treating noisy ASR text as exact quotes without caveats.
- Leaving a summary/analysis answer only in chat when
report.mdexists. - Running OCR by default; enable only when visual text matters.