Install any skill in seconds. Free to start, no credit card required.
Get Started Free →把视频分析为结构化理解索引:场景检测、ASR 转写、逐场景 VLM 观察、静音窗口、融合时间线和写作 brief。 用于理解、索引或总结视频,也作为后续创作前的分析阶段。输入视频文件;输出 scenes.json、 asr_result.json、vlm_analysis.json、silence_periods.json、timeline_fusion.json、agent_narration_brief.md。 触发词:视频理解、视频分析、视频索引、video understanding、analyze video、看懂视频。
.claude/skills/worldwonderer-video-understanding/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | -47% | 0% |
| case-17 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -36% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -55% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 37% | 0% |
本技能把源视频转成 Agent 与下游阶段可读取的理解索引。它的创作角色是素材观察员 / 场记,不是导演:
scenes.json,包含切点、时长和废片段过滤结果。mimo-v2.5-asr 写时间戳对白 asr_result.json。silence_periods.json,标注安静窗口与 has_speech。vlm_analysis.json,包含场景描述、深层分析和 frame_facts。timeline_fusion.json、asr_writing_chunks.json 和 agent_narration_brief.md。各阶段只有在输出产物与 provenance sidecar 同时匹配当前视频及影响结果的设置时才会复用;--force 强制重算。
bash# ffmpeg: brew install ffmpeg | apt install ffmpeg | choco install ffmpeg export MIMO_API_KEY=***
ASR 使用 mimo-v2.5-asr;VLM 使用 mimo-v2.5。--skip-asr 可跳过对白转写,但完整理解仍需要 MIMO_API_KEY 运行 VLM。--mimo-video-overview 可开启按场景块的视频概览。
若 work_dir/background_research.json 存在,本技能会把剧情梗概和角色名折入 VLM 上下文;--context 可补充一条简短提示。
下面的 scripts/... 均相对于本技能目录。若执行器从仓库根目录启动,请给脚本路径加上本技能的绝对目录。脚本不从其他技能目录读取文件;外部输入仅限命令显式传入的视频、参数与 work_dir 产物。
bashpython3 scripts/understand.py <video> --work-dir <work_dir> \ [--context "节目名/角色名"] [--scene-threshold 0.1] [--skip-asr] [--mimo-video-overview] [--force]
| 文件 | 内容 | |------|------| | scenes.json | 场景切点、起止时间与时长 | | asr_result.json | [{start, end, text}] 时间戳对白 | | vlm_analysis.json | 逐场景描述、深层分析与 frame_facts | | silence_periods.json | [{start, end, duration, has_speech}] 安静窗口 | | timeline_fusion.json | VLM、ASR 与静音信息的统一时间线 | | asr_writing_chunks.json | 按句界和场景切分的 ASR 写作块 | | agent_narration_brief.md | Agent 首先阅读的创作简报 |
后续写作阶段根据创作简报与索引制定方案并写 narration.json。
references/research-guide.md,产出 background_research.json。references/data-schema.md。work_dir 写产物并停止。| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | fail→pass | 16,198 | 2,438 | -85% | 1 | 1 | 0% | 2,569 | 1,354 | -47% | 0 | 0 | — |
case-17 | fail→pass | 16,556 | 3,804 | -77% | 1 | 1 | 0% | 2,352 | 1,547 | -34% | 0 | 0 | — |
case-01 | fail→pass | 24,149 | 8,489 | -65% | 1 | 1 | 0% | 3,663 | 2,353 | -36% | 0 | 0 | — |
case-02 | fail→pass | 26,564 | 6,533 | -75% | 1 | 1 | 0% | 4,778 | 2,153 | -55% | 0 | 0 | — |
case-03 | fail→fail | 6,680 | 3,533 | -47% | 1 | 1 | 0% | 335 | 1,589 | +374% | 0 | 0 | — |
case-04 | fail→pass | 9,740 | 5,259 | -46% | 1 | 1 | 0% | 1,288 | 1,765 | +37% | 0 | 0 | — |
case-11 | fail→pass | 11,310 | 2,512 | -78% | 1 | 1 | 0% | 1,948 | 1,426 | -27% | 0 | 0 | — |
case-05 | pass→pass | 16,181 | 6,703 | -59% | 1 | 1 | 0% | 2,783 | 2,075 | -25% | 0 | 0 | — |
case-06 | fail→pass | 19,428 | 4,951 | -75% | 1 | 1 | 0% | 3,186 | 1,772 | -44% | 0 | 0 | — |
case-07 | fail→pass | 10,108 | 3,557 | -65% | 1 | 1 | 0% | 1,577 | 1,593 | +1% | 0 | 0 | — |
case-08 | pass→pass | 10,824 | 1,962 | -82% | 1 | 1 | 0% | 1,609 | 1,307 | -19% | 0 | 0 | — |
case-09 | fail→pass | 7,521 | 3,070 | -59% | 1 | 1 | 0% | 1,198 | 1,521 | +27% | 0 | 0 | — |
case-12 | fail→pass | 17,777 | 3,548 | -80% | 1 | 1 | 0% | 2,991 | 1,537 | -49% | 0 | 0 | — |
case-13 | fail→pass | 18,033 | 2,797 | -84% | 1 | 1 | 0% | 2,736 | 1,431 | -48% | 0 | 0 | — |
case-14 | fail→pass | 6,871 | 1,520 | -78% | 1 | 1 | 0% | 961 | 1,175 | +22% | 0 | 0 | — |
case-15 | fail→pass | 14,350 | 2,331 | -84% | 1 | 1 | 0% | 2,227 | 1,405 | -37% | 0 | 0 | — |
case-16 | fail→pass | 9,060 | 2,294 | -75% | 1 | 1 | 0% | 1,402 | 1,348 | -4% | 0 | 0 | — |
case-18 | fail→pass | 10,080 | 3,096 | -69% | 1 | 1 | 0% | 1,443 | 1,480 | +3% | 0 | 0 | — |
case-19 | pass→pass | 14,374 | 6,463 | -55% | 1 | 1 | 0% | 1,888 | 1,814 | -4% | 0 | 0 | — |
case-20 | fail→pass | 14,505 | 3,009 | -79% | 1 | 1 | 0% | 2,118 | 1,399 | -34% | 0 | 0 | — |
case-21 | fail→pass | 15,688 | 2,706 | -83% | 1 | 1 | 0% | 2,513 | 1,422 | -43% | 0 | 0 | — |
case-22 | fail→pass | 21,218 | 5,196 | -76% | 1 | 1 | 0% | 3,019 | 1,863 | -38% | 0 | 0 | — |
case-23 | fail→pass | 8,897 | 2,500 | -72% | 1 | 1 | 0% | 1,216 | 1,366 | +12% | 0 | 0 | — |
case-24 | pass→pass | 9,768 | 2,855 | -71% | 1 | 1 | 0% | 1,520 | 1,439 | -5% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 23 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +79 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.