Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/zenstory-ai/oh-story-dshnpx agentmods add skills/zenstory-ai/oh-story-dsh/video-recapWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zenstory-ai/oh-story-dsh/video-recap)<a href="https://agentmods.dev/skills/zenstory-ai/oh-story-dsh/video-recap"><img src="https://agentmods.dev/badge/skills/zenstory-ai/oh-story-dsh/video-recap/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zenstory-ai/oh-story-dsh/video-recap"><img src="https://agentmods.dev/badge/skills/zenstory-ai/oh-story-dsh/video-recap.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00128 | $0.03619 |
| Opus 5 | $0.00064 | $0.01809 |
| Sonnet 5 | $0.00026 | $0.00724 |
| Haiku 4.5 | $0.00013 | $0.00362 |
Grade A, and why
video-recap scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
100% identical to video-recap — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 217 lines — stays where its author put it; the contents beside it link to each section on GitHub.
1. 定位与流程
本技能是五个独立技能的轻量编排器。各技能只通过 work_dir 中的 JSON / MP4 产物通信,不共享代码:
video-understanding ─▶ Agent 按 video-script 制定方案并写稿 ─▶ [video-cut] ─▶ video-voiceover ─▶ video-assemble
流程支持断点续跑:写好 narration.json 后重复同一条命令即可继续。第二阶段会校验
recap_run_manifest.json,拒绝复用来自其他源视频或其他运行参数的旧工作目录;视频理解产物也只在来源一致时复用。
2. 创作职责
这不是单纯的 JSON / 渲染流水线。Agent 是本次内容的创作负责人。先判断本轮的创作控制模式;它与 --edit-mode full|cut|dub 是两个维度:
- CREATE:从素材创作新成片。比较真正可行的故事/剪辑假设,再选择主线。
- DIRECTED:用户已经指定结构、镜头、台词或包装方向。把这些决定当作基线落实,不为满足模板而另起方案。
- REVISION:用户针对已有版本看片修改。最新反馈覆盖旧决定;本轮未点名的故事、镜头、声音和包装默认冻结,不重新发散创作。
REVISION 开始前先明确“本轮修改项”和“冻结项”。表达、节奏、字幕反馈写回 style_card.json,镜头、入出点和声音分工写回 visual_audio_board.json;只有观众承诺、POV、主线或故事 beat 改变时才更新 recap_story_plan.json。删除成片内容时同步删除计划中的旧描述,不能让工作产物继续指导已不存在的镜头。
确定模式后,在进入昂贵的下游处理前完成五次判断:
- 导演判断:确定观众承诺、POV、戏剧问题、情绪终点,以及哪些信息要保留到后面揭示。
- 故事编辑:CREATE 比较至少两个可行的剪辑假设;DIRECTED / REVISION 继承用户指定或已确认的主线。beat 始终定义为“发生了什么变化”,而不是场景摘要。
- 画面剪辑:选择真正值得保留的具体时刻、人物反应、入点与出点。
- 声音/旁白:先分配画面、原声、沉默和旁白的任务,再写解说词。
- 观众复核:分别检查无旁白、只听声音和第一次观看时的体验,优先修改回报最高的问题。
执行前阅读本技能的 references/creative-editing-playbook.md,并把简洁的创作决定写入:
recap_story_plan.json:导演意图、适用时的备选假设、选定主线和基于变化的 beat 图。visual_audio_board.json:每拍的画面任务、表演/反应选择、原声锚点、audio_owner与narration_job。style_card.json(有表达要求或表达反馈时):当前声音、口语节奏、字幕阅读姿态与明确禁忌。
这些文件只记录可审计的当前决定,不记录冗长思维过程;它们不会增加服务或渲染依赖。现有工具可以忽略它们,Agent 与建议型解说评审会用它们保持创作一致。建立这条内容基线不需要平台数据。
3. 环境与脚本路径
# 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 fish-audio / TTS_PROVIDER=fish-audio 改用 Fish Audio;此时另需 FISH_API_KEY,默认模型为 s2.1-pro-free,默认使用“娱乐扒妹”音色(5653cea4ac83480aaf2bf45406556185),可用 FISH_TTS_REFERENCE_ID 覆盖。ASR/VLM 仍使用 MiMo。
tp-* Token Plan 密钥默认使用中国区集群,可用 MIMO_TOKEN_PLAN_CLUSTER 覆盖。
可选能力:
--mimo-video-overview:按场景块补充 MiMo 视频理解。--mimo-qc pre-assemble|post-render|both:在合成前、成片后或两个阶段给出建议型复核。
What ships with it
27 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/config-playbook.md 11 KB
- references/creative-editing-playbook.md 12 KB
- references/data-schema.md 26 KB
- references/research-guide.md 2.8 KB
- references/shift-left-qc-schema.md 2.3 KB
- references/timeline-and-jianying.md 13 KB
- scripts/doctor.py 17 KB runs code
- scripts/final_qc.py 25 KB runs code
- scripts/lib.py 9.8 KB runs code
- scripts/materials.py 17 KB runs code
- scripts/mimo_qc_client.py 398 B runs code
- scripts/mimo_qc_contract.py 239 B runs code
- scripts/mimo_qc_evidence.py 10 KB runs code
- scripts/mimo_qc_observations.py 6.6 KB runs code
- scripts/mimo_qc_payload.py 11 KB runs code
- scripts/mimo_qc_report.py 10 KB runs code
- scripts/mimo_qc_runner.py 3.7 KB runs code
- scripts/mimo_qc.py 2.0 KB runs code
- scripts/qc_contract.py 12 KB runs code
- scripts/recap_cli.py 4.9 KB runs code
- scripts/recap_inspect.py 21 KB runs code
- scripts/recap_review.py 3.4 KB runs code
- scripts/recap_runner.py 24 KB runs code
- scripts/recap_runtime.py 9.1 KB runs code
- scripts/recap_stage_qc.py 4.8 KB runs code
- scripts/recap_timeline.py 27 KB runs code
- scripts/recap.py 183 B runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 217 lines · 128 tokens per session scan A 217913bc6f9e
video-recap is a skill published in the GitHub repository zenstory-ai/oh-story-dsh (338 stars, last pushed yesterday), licensed MIT. It adds 128 tokens to every session and 3,619 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to video-recap, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
story-import
A tool for turning an existing novel into a structured writing project. It analyzes the book and organizes its characters, settings, plot plans, chapters, and tracking data for later writing.
story-long-analyze
A long-form fiction analysis workflow for breaking down a novel’s opening chapters, characters, pacing, turning points, relationships, and overall structure.
story-deslop
A writing editor for Chinese web novels that detects writing patterns often associated with AI-generated text and makes the prose feel more natural.
story-short-analyze
A Chinese-language guide for analysing short popular web fiction, such as stories published on 番茄, 故事会, or 知乎盐选. It examines the core premise, plot structure, emotional arc, twists, writing techniques, and reader appeal.
browser-cdp
Use this skill when you need to control a Chrome browser via CDP (Chrome DevTools Protocol) to reuse existing login sessions. Covers: launching Chrome in debug mode, opening URLs, waiting for page load, evaluating JavaScript, taking snapshots, and extracting auth tokens. Trigger phrases: browser automation, CDP…
novel-language-style
A guide to choosing and controlling the writing style of online fiction. It covers narration, word choice, figurative language, dialogue, and techniques for making scenes easier to picture.