Agent skill · Audited from source
Video Recap
skill · worldwonderer/video-recap-skillsMIT licenceAudited 22 Oct 2026 · source 4bf6ff660438
Is it safe? With care — CAUTION, grade B (89/100). We read this skill's source at commit 4bf6ff660438 and observed network access and no hard-coded secrets. The audit raised 3 findings, 0 critical or high. What it does: 从输入视频生成中文解说成片或原声剧情短片。用户提供 .mp4 / .mov / .mkv / .webm,并要求剪辑、添加旁白、 配音、总结、短剧/电视剧/电影/纪录片/科普解说时使用。负责编排 video-* 技能链:视频理解 → Agent 制定故事与视听方案 → 剪辑 → 配音 → 合成。触发词:视频解说、视频旁白、生成解说、 视频 recap、video…
Cite
Cite this page
ModelsAtlas. “Video Recap (worldwonderer/video-recap-skills)”. Retrieved 22 Oct 2026. https://modelsatlas.com/skills/worldwonderer/video-recap
Trust audit
Audit 0.4.1 · source read 22 Oct 2026
CAUTION means the audit found things worth knowing before you trust this skill. Grade B is shared by 16,667 of 17,602 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkUndeclared2 observations, not in its own description
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | WARN | 2 |
L2 Instructions | Prompt injection, authority framing, hidden directives | WARN | 1 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (3)
MEDIUMNetwork egressnet.client · assets/dashboard/app.js:73
const response = await fetch(path, { headers: { Accept: "application/json" } });- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMNetwork egressnet.raw_ip · scripts/dashboard_server.py:220
url = f"http://127.0.0.1:{server.server_address[1]}/"- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMPrompt injectionscope.undeclared_network · <declared scope>
network use found in code, not declared in the description
- Why
- the description does not admit a capability the code has
- Fix
- declare network use in the description, or remove it
Audit 0.4.1 · source sha 4bf6ff660438 · 22 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisherworldwonderer GitHub organizationOwner of the repository this skill is read from
- Source folderworldwonderer/video-recap-skills/skills/video-recapThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdict4bf6ff660438A new audit runs when the source changes
- Repository statusNot archivedPushed today
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: 从输入视频生成中文解说成片或原声剧情短片。用户提供 .mp4 / .mov / .mkv / .webm,并要求剪辑、添加旁白、 配音、总结、短剧/电视剧/电影/纪录片/科普解说时使用。负责编排 video-* 技能链:视频理解 → Agent 制定故事与视听方案 → 剪辑 → 配音 → 合成。触发词:视频解说、视频旁白、生成解说、 视频 recap、video…
--- name: video-recap description: 从输入视频生成中文解说成片或原声剧情短片。用户提供 .mp4 / .mov / .mkv / .webm,并要求剪辑、添加旁白、 配音、总结、短剧/电视剧/电影/纪录片/科普解说时使用。负责编排 video-* 技能链:视频理解 → Agent 制定故事与视听方案 → 剪辑 → 配音 → 合成。触发词:视频解说、视频旁白、生成解说、 视频 recap、video recap、voiceover、narration、auto-dub、recap。 --- ## 1. 定位与流程 本技能是五个独立技能的轻量编排器。各技能只通过 `work_dir` 中的 JSON / MP4 产物通信,不共享代码: ```text video-understanding ─▶ Agent 按 video-script 制定方案并写稿 ─▶ [video-cut] ─▶ video-voiceover ─▶ video-assemble ``` 把成片拆成制作参考不是生产路径。用户要求时:对成片跑 video-understanding(建议 `ASR_SEGMENT_SECONDS=5`), 再用 video-reference 做 measure、标注、check、export,把导出的 `production_reference.json` 复制进下一次运行的 `work_dir`,或登记成资源库的 `production_reference` 模板、采纳后经 `--project` 绑定。recap 不会自动运行它,也不拿新成片与参考做比对。 流程支持断点续跑:写好 `narration.json` 后重复同一条命令即可继续。第二阶段会比对 `recap_run_manifest.json` 记录的源视频路径、文件大小/修改时间与运行参数,拒绝复用来自其他源视频或其他参数的旧工作目录;视频理解产物也只在来源一致时复用。 暂停时打印的续跑命令就是原命令:保留原来的写法,视频与路径参数转成绝对路径,补上 `--work-dir` 和来自环境变量的设置,从任何目录都能直接运行;同一份参数写在 manifest 的 `argv`。 画面流程 `--edit-mode full|cut|dub` 与声音策略 `--audio-mode` 是两个独立开关; `narration` 保留上述解说流程,`source-mix` 不做配音,`adopted-packet-copy` 冻结当前输入的已采用 AAC 音轨。 组合只有下面几条路径,其余组合在启动时直接报错: | 输入 | `--edit-mode` | `--audio-mode` | Agent 暂停点 | 流程 | 详见 | |---|---|---|---|---|---| | 单视频 | full | narration | 1:`narration.json` | 理解 → 写稿 → 校验 → 配音 → 合成 | §4 | | 单视频 | cut | narration | 2:`clip_plan.json`,再对着成片写 `narration.json` | 理解 → 剪辑 → 重建输出时间 brief → 写稿 → 配音 → 合成 | §4 | | 多视频 | cut | narration | 2:同上,clip 必须带 `source_id` | 逐源理解 → 剪辑 → 写稿 → 配音 → 合成 | §4.3 | | 单视频 | full | source-mix / adopted-packet-copy | 无 | 直接合成当前整段 | §4.7 | | 单 / 多视频 | cut | source-mix / adopted-packet-copy | 1:`clip_plan.json` | 理解 → 剪辑 → 合成,不写稿 | §4.7 | | 单视频 | dub | narration | 1:`dub_script.json` | 英文转写 → 译稿 → 克隆音色整轨替换 | §5 | | 已剪好的母版 | full | narration + 三个采用 JSON | 无 | 只做严格合成 | 下文 | 所有 full/cut 路径共用同一段收尾:(有旁白时)评审 → TTS → 合成 → 成片 QC。使用原声模式时读 `references/audio-routing.md`。 已有预制画面和本地采用的完整声音三件套时,可走严格 assembly-only 路径: ```bash python3 scripts/recap.py picture.mp4 --edit-mode full --work-dir NEW_WORK \ --output-dir DELIVERY \ --tts-meta tts_meta.json \ --narration-adoption narration_adoption.json \ --audio-mix-adoption audio_mix_adoption.json ``` 三个 JSON 参数必须同时出现。该入口只接受单视频、full、narration、音轨 0、新工作目录和未存在的 交付文件;不运行理解、写稿、解说评审、TTS、cut 或剪映导出。语义与媒体形状仍由 video-assemble 严格验证,recap 只核对子技能绑定记录引用的是同一批采用文件与母版路径,不把调用方 采用的声音或混音声明成自动创作或发布批准。详见 `references/audio-routing.md`。 这里的单视频是**已经剪好的母版**。重剪后可以复用未改动的 WAV 与 `tts_meta.json`,但必须按新母版 重新写混音采用文件里的落点与准备好的音床;衔接步骤见 `references/audio-routing.md` 的 “Keep adopted voice after a cut”。 ## 2. 创作职责 Agent 负责本次创作。先判断本轮的**创作控制模式**(CREATE / DIRECTED / REVISION,与 `--edit-mode` 分别选择),再在配音和渲染前完成五次判断: 1. **导演判断**:观众承诺、POV、戏剧问题、情绪终点与揭示节奏。 2. **故事编辑**:beat 定义为“发生了什么变化”,不是场景摘要。 3. **画面剪辑**:选择真正值得保留的具体时刻、反应、入点与出点。 4. **声音/旁白**:先分配画面、原声、沉默和旁白的任务,再写解说词。 5. **观众复核**:分别检查无旁白、只听声音和第一次观看的体验。 三种控制模式的定义、REVISION 的修改/冻结规则、创作方法以及 `recap_story_plan.json` / `visual_audio_board.json` / `style_card.json` 的写法,全部按 `video-script` 执行;它会要求先读创作手册。这些文件只记录可审计的当前决定,不增加服务或渲染依赖。 ## 3. 环境与脚本路径 ```bash # ffmpeg: brew install ffmpeg | apt install ffmpeg | choco install ffmpeg export MIMO_API_KEY=*** ``` 同一个 MiMo key 驱动: - ASR:`mimo-v2.5-asr` - VLM:`mimo-v2.5` - TTS:`mimo-v2.5-tts` TTS 供应商由 `--tts-provider mimo-tts|fish-audio|index-tts`(或 `TTS_PROVIDER`)透传给配音技能;Fish Audio 与自托管 index-tts 各自的环境变量、默认音色和能力限制见该技能。ASR/VLM 始终使用 MiMo。`--doctor` 只做离线配置检查。 `tp-*` Token Plan 密钥默认使用中国区集群,可用 `MIMO_TOKEN_PLAN_CLUSTER` 覆盖。 可选能力: - `--mimo-video-overview`:按场景块补充 MiMo 视频理解。 可覆盖配置见 `references/config-playbook.md`,`final_qc.json` 的字段见 `references/data-schema.md`。 下面的 `scripts/...` 均相对于本技能目录。若执行器从仓库根目录启动,请给脚本路径加上本技能的绝对目录。编排脚本从同一技能根目录定位所需阶段;安装时需让五个阶段技能与本技能位于同一层。 ## 4. 标准解说流程(audio-mode narration) ### 4.1 背景调研 若能识别影片、剧集或主题,先按 video-understanding 技能的调研指南 `research-guide.md` 调研并写入 `work_dir/background_research.json`。视频理解会把人物名和剧情背景折入 VLM 上下文,避免只得到“黑衣男子”一类模糊描述。无法识别来源时可跳过。 多视频运行同样写在项目 `work_dir` 下:recap 在每个来源理解前把它复制到 `sources/<source_id>/`(来源目录里没有、或比项目文件旧时才复制,所以某一集需要单独的调研时,在项目文件之后写入该来源目录即可)。 ### 4.2 分析并暂停创作 ```bash python3 scripts/recap.py <video> --work-dir <work_dir> --context "背景" ``` 命令完成视频理解、写出 `agent_narration_brief.md`,然后暂停。此时按以下顺序执行 `video-script`: 1. 查看创作 brief 与原片故事板。 2. 写 `recap_story_plan.json` 和 `visual_audio_board.json`。 3. full 模式写 `narration.json`;cut 模式第一阶段只写 `clip_plan.json`。 4. cut 模式第二阶段查看剪后故事板,补充输出时间与声音分工,再写 `narration.json`。 不要从标题或旁白句子开始;先锁定故事体验和素材选择。 时间线有两条不可降级的硬约束:原声只能在可靠句末/静音边界被切入、切出或恢复;旁白必须使用 完整逐段音频,任何 clip 映射裁段、TTS 裁尾或剪映引用更长的加速前素材都阻断。Agent 收到 `interrupts_source_sentence` / `unsafe_clip_sentence_boundary` / `no_safe_fit` / `timeline_audio_mismatch` 时,应移动边界、缩短整句或删除该块,而不是增加抢断 override; `unsafe_clip_sentence_boundary` 附带的 `nearest_safe` 给出前后最近的安全边界时间。 ### 4.3 多视频与素材库 多视频只支持 cut 模式。项目 brief 会列出稳定的 `source_id`,`clip_plan.json` 中每个片段都必须填写来源: ```bash python3 scripts/recap.py ep1.mp4 ep2.mp4 --edit-mode cut --target-duration 10m --work-dir work_dir_multi_ep ``` 第二阶段与单视频一样生成剪后故事板 `storyboard/edited_storyboard.*`,取自各来源 `sources/<source_id>/frames/`,brief 顶部列出 `S1`/`S2`... 对应的 `source_id`;素材库恢复的来源没有抽帧,这些片段不出现在故事板里,用 `inspect clip-map` 核对。 可选文件系统素材库: ```bash python3 scripts/recap.py ep1.mp4 --material-library-dir .video-materials --save-materials python3 scripts/recap.py ep1.mp4 ep2.mp4 --edit-mode cut --material-library-dir .video-materials --use-materials ``` 素材检索只是对 JSON / MD / JSONL 做 grep,例如 `grep -R "keyword" .video-materials`。当前版本不复制原始媒体,也不提供数据库、向量或语义搜索。 同一根目录还可以登记可复用的资源(BGM、音效、音色、字体、图片)、带版本与采用记录的模板(字幕样式、包装图层、制作参考)和样片。 格式与 `scripts/library.py check|list|show` 只读工具见 `references/resource-library.md`。用 `--project recap_project.json` 把已采用的字幕样式、包装、制作参考、音色与 BGM 绑定到这次运行; 每次 full / cut 合成后 `work_dir/resource_lock.json` 记下实际用到的资源与授权状态。 ### 4.4 继续生成成片 写好所需产物后,重复同一条命令: ```bash python3 scripts/recap.py <video> --work-dir <work_dir> # 可追加 --edit-mode cut / --no-burn-subtitles ``` 流程会校验当前阶段的硬输入(`clip_plan.json` / `narration.json`);两份创作计划仍是 Agent 与建议型评审使用的工作记录,不是渲染门禁。cut 模式随后生成 `edited_sourc
Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 4bf6ff6
git clone https://github.com/worldwonderer/video-recap-skills git -C video-recap-skills checkout 4bf6ff660438
The author documents no install command, so this uses the repository directly. Our verdict covers commit 4bf6ff660438 only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- !CAUTION B 89 / 100
first audit · source
4bf6ff660438
Similar skills
worldwonderer/video-recap-skills
把带时间戳的 narration.json 合成为中文解说音频。使用 MiMo TTS(mimo-v2.5-tts)或 Fish Audio(s2.1-pro-free)或显式配置的通用 IndexTTS HTTP 服务逐段生成语音, 按时间窗动态适配语速并处理响度;输入输出时间线上的旁白,产出 tts_segments 与 tts_meta.json。 外发说明:每段旁白文字会发给所选 TTS 服务(MiMo / Fish…
worldwonderer/video-recap-skills
把视频分析为结构化理解索引:场景检测、ASR 转写、逐场景 VLM 观察、静音窗口、融合时间线和写作 brief。 用于理解、索引或总结视频,也作为后续创作前的分析阶段。输入视频文件;输出 scenes.json、 asr_result.json、vlm_analysis.json、silence_periods.json、timeline_fusion.json、agent_narration_brief.md。…
worldwonderer/video-recap-skills
对已完成分析的视频进行导演与剪辑策划,再写带时间戳的中文解说并校验;也处理已有短片的 宣发标题、花字修订和外部文案回填。普通策划输入 work_dir 的 agent_narration_brief.md 与 vlm_analysis.json;文案返修输入当前成片的工程与内容证据。策划输出 recap_story_plan.json、visual_audio_board.json、 可选 style_card.json、cut…
worldwonderer/video-recap-skills
合成视频解说最终成片:把旁白音频铺到源视频上,按旁白窗口压低原声,生成 SRT / ASS 字幕并可烧录, 最后做响度标准化。作为最终合成阶段使用。输入源视频、tts_meta.json 与旁白位置; 输出 recap 成片和字幕。触发词:视频合成、混音、字幕、压字幕、assemble video、mux、ducking、subtitles、成片。
worldwonderer/video-recap-skills
把长视频按 Agent 选择的原片区间剪成短片。作为两阶段创作流程中的剪辑环节,读取 clip_plan.json 与源视频, 输出 edited_source.mp4;随后 Agent 按输出时间线写 narration.json。支持单视频与多视频(sources manifest)拼剪, 本工具不读取、不映射旁白。 触发词:视频剪辑、剪辑式解说、video cut、clip plan、拼剪。
zenstory-ai/video-recap-skills
合成视频解说最终成片:把旁白音频铺到源视频上,按旁白窗口压低原声,生成 SRT / ASS 字幕并可烧录, 最后做响度标准化。作为最终合成阶段使用。输入源视频、tts_meta.json 与旁白位置; 输出 recap 成片和字幕。触发词:视频合成、混音、字幕、压字幕、assemble video、mux、ducking、subtitles、成片。
Questions about Video Recap
What does the Video Recap skill do?
Is Video Recap safe to install?
What can Video Recap access on my machine?
How current is this page?
Sources
- github.com/worldwonderer/video-recap-skills/tree/main/skills/vid — the audited source at commit 4bf6ff660438 and every finding aboveObserved · 22 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the Video Recap skill do?
- Is Video Recap safe to install?
- What can Video Recap access on my machine?