Borrowing it
Nothing to install: this file belongs to cacity/VideoHub. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/cacity/VideoHub/main/.agents/skills/videohub-story-editor/SKILL.mdgit clone --depth 1 https://github.com/cacity/VideoHubWrote 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/cacity/videohub/videohub-story-editor)<a href="https://agentmods.dev/skills/cacity/videohub/videohub-story-editor"><img src="https://agentmods.dev/badge/skills/cacity/videohub/videohub-story-editor/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/cacity/videohub/videohub-story-editor"><img src="https://agentmods.dev/badge/skills/cacity/videohub/videohub-story-editor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00197 | $0.04221 |
| Opus 5 | $0.00098 | $0.02110 |
| Sonnet 5 | $0.00039 | $0.00844 |
| Haiku 4.5 | $0.00020 | $0.00422 |
Grade A, and why
videohub-story-editor 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 10d 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.
How it starts
The opening of the file, as written. The whole thing — 330 lines — stays where its author put it; the contents beside it link to each section on GitHub.
VideoHub Story Editor
使用以下固定结构,不直接让模型凭摘要调用 FFmpeg:
视频和原文字幕
-> 证据提取层
-> 故事理解层
-> 剪辑规划层
-> 最终原文时间轴
-> 后置翻译和可选润色
-> 原声版 / TTS 解说版
-> 确定性渲染和 QA
-> 抖音发布包(可选)
边界
- 不安装或调用 WhisperX。
- 优先使用人工字幕或平台字幕;缺少字幕时,调用
videohub-youtube和src/youtube_transcriber.py的现有 Whisper 流程。 - 故事理解和选段以原文字幕为证据。不要依赖剪辑前的逐句机翻决定剧情、因果或 说话人意图。
- 模型负责理解、选段和撰写解说;脚本负责时间计算、证据校验、翻译接入、TTS 对齐、渲染和 QA。
- 原声版和解说版必须复用同一个
story_plan.json,避免两套版本选段漂移。 - 翻译或 TTS 凭据缺失时,不得阻断证据提取、故事计划和原声原文版。
- 默认先交付分析与剪辑方案;用户明确要求成片后才执行渲染。
- 只处理用户有权下载和再创作的内容。
默认值
- 目标时长:240 秒,容差 15%。
- 输出语言:简体中文。
- 外文视频:剪辑后翻译,原声版默认双语字幕。
- 解说版:中文 TTS 字幕,原声音量 0.30。
- 播放速度:1.0 倍,不为凑时长自动改变原片对白速度。
- 分析目录:
workspace/review_packs/story_editor/<job_id>/。 - 成片目录:
workspace/videos_with_subtitles/或计划中的输出目录。 - 抖音发布包:
workspace/publish_packages/douyin/<package_name>/。
剧集素材项目目录
用户只提供一个剧集目录时,不再要求分别提供视频和字幕路径。先刷新目录内的可移植项目清单:
python src/series_project.py "<series_dir>"
读取 <series_dir>/videohub_project.json,按用户给出的集数或文件名选择 episodes 中的条目。
视频位于项目根目录;本地批处理生成的字幕位于 subtitles/。选择字幕时依次优先使用:
subtitles.polished中的 SRT。subtitles.translated中与目标语言匹配的 SRT。subtitles.source中的 SRT。- 视频内嵌字幕;仍没有字幕时再调用 VideoHub Whisper 流程。
清单只保存相对路径,移动整个剧集目录后仍可使用。空格、下划线、连字符以及
_google、_polished、语言后缀的差异由项目扫描器归一化匹配。目录包含多集而用户未说明
集数时,必须先确认目标集,不能默认把整季当成一个视频任务。
可视化时间线精修
已有解说项目完成 AI 初剪后,可以启动本地网页工作台:
cd frontend
npm install
npm run build
cd ..
python src/story_timeline_server.py
打开 http://127.0.0.1:8766/story-editor,选择包含
docs/story_job/story_plan.json 的 workspace/projectNNN_* 项目。工作台导入故事计划、
旁白计划、字幕和证据文件,显示视频、原声、TTS 旁白、原声锚点和字幕五条轨道。
- 可以预览素材,拖动切点,拆分、删除和重排片段,并撤销或重做。
- 可以修改旁白文本、单独调用 MiniMax 重生成一个语音块,拖动原声窗口和字幕边界; 预览画面中的解说字幕可上下拖动,避开原片已有的硬字幕,保存后按同一位置烧录。
- 可以设置片段音量关键帧、淡入淡出、交叉转场,并注册其他本地视频源。
- 配置
DEEPSEEK_API_KEY后可以对选中的旁白做保守局部改写;缺少密钥时不影响其他功能。 - 保存会写入项目的
revisions/rev-*;片段缓存写入.story_editor_cache/segments。 不覆盖源视频、原始计划、原始字幕或已有 TTS 文件。
时间线编辑器是人工精修入口。对剧情、人物和因果的判断仍应先执行下面的证据提取与故事 理解流程,不能用拖动时间线替代证据校验。
What ships with it
17 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.
- agents/openai.yaml 433 B
- references/editing-strategies.md 5.2 KB
- references/model-workflow.md 4.2 KB
- references/narration-plan-schema.md 4.7 KB
- references/story-analysis-schema.md 4.9 KB
- references/story-plan-schema.md 9.2 KB
- scripts/build_douyin_publish_package.py 11 KB runs code
- scripts/build_evidence_pack.py 17 KB runs code
- scripts/compile_story_plan.py 20 KB runs code
- scripts/prepare_story_subtitles.py 1.8 KB runs code
- scripts/render_story.py 42 KB runs code
- scripts/story_pipeline_common.py 15 KB runs code
- scripts/synthesize_story_narration.py 12 KB runs code
- scripts/translate_story_subtitles.py 5.5 KB runs code
- scripts/validate_narration_plan.py 13 KB runs code
- scripts/validate_story_analysis.py 15 KB runs code
- scripts/validate_story_plan.py 23 KB 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.
- 10d ago First seen · 330 lines · 197 tokens per session scan A daa3a8649b1e
videohub-story-editor is a skill published in the GitHub repository cacity/VideoHub (146 stars, last pushed 3d ago), licensed MIT. It adds 197 tokens to every session and 4,221 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
qiaomu-cut
A workflow for turning a brief video idea into a planned, sourced, edited, rendered, and checked video project.
stage-compose
Authoring knowledge for Orkas/OVS HTML video compositions -- write an index.html, drive animation from a paused timeline, declare canvas + duration, then run the VideoStudio draft gate to render an mp4. Trigger for explainer / animation / motion-graphics / caption / lower-third / title-card work, or to build a compose…
frontend-design
Aesthetic direction for OrkasVideoStudio HTML and motion-graphics compositions. Use before stage-compose writes composition-manifest.json artdirection and index.html to choose a subject-specific visual point of view, type, palette, layout signature, restrained motion, and anti-template checks.
stage-edit
Intelligent editing of real user-supplied footage—understand it with transcript/OCR/scene/silence/quality/vision evidence, then choose deterministic timeline operations or a constrained semantic AI edit. Trigger for repurpose, montage, cleanup, localization, narration, or local content changes.
stage-plan
The "ingest + plan" half of end-to-end video orchestration — ingest the user's material from evidence, then decompose intent into ONE cross-modal EDL (plan.json: edit/generate/compose/provided segments + narration/music/caption tracks + a delivery promise), validate it with ovs plan validate. Trigger when the…
gate-control
Canonical VideoStudio review authorization and state-transition policy. Use after any Gate B/C/Preview/D decision, post-gate revision, resumed approval, or exhausted visual-QA result across COMPOSE/AUTO/GENERATE/EDIT; maps explicit user authority and durable artifact state to one next action with ovs gate transition.…