VideoHub: Skill for Codex

.agents/skills/videohub-story-editor/SKILL.md

videohub-story-editor is a skill for Codex from cacity/VideoHub. It costs 197 tokens per session (4,221 once invoked), scanned A, original, MIT.

A workflow for turning a long video or existing subtitles into a short story-driven video, with optional translated subtitles or text-to-speech narration. TTS means computer-generated spoken audio.

In plain words
What is it for?
It helps select and reorder clips, translate the finished timeline, create original-audio or narrated versions, adjust a local timeline, render revisions, and prepare a Douyin publishing folder.
Why use it?
It keeps scene selection based on the original subtitles and visible evidence, so translation or narration does not determine the story before editing.

Skill for Codex

Written for Codex: agents/openai.yaml present. Also seen: mentions Claude Code; installed under .agents/ (shared by several agents); mentions Codex.

This is cacity/VideoHub's own configuration. It tells Codex how to work on VideoHub itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything VideoHub configures →

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is python src/series_project.py "<series_dir>".

Reuse

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.

Copy the file
curl -O https://raw.githubusercontent.com/cacity/VideoHub/main/.agents/skills/videohub-story-editor/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/cacity/VideoHub

Made for: Codex.

Wrote 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.

agentmods badge for videohub-story-editor

README.md
[![agentmods](https://agentmods.dev/badge/skills/cacity/videohub/videohub-story-editor/github.svg)](https://agentmods.dev/skills/cacity/videohub/videohub-story-editor)
Your own site
<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.

agentmods 80×15 button for videohub-story-editor

Your own site · 80×15
<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>
Per session 197 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,221 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 10d ago against content hash daa3a8649b1e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

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.

The scan reads SKILL.md. This mod also ships 11 executable files (scripts/build_douyin_publish_package.py, scripts/build_evidence_pack.py, scripts/compile_story_plan.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

.agents/skills/videohub-story-editor/SKILL.md · 330 lines

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-youtubesrc/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/。选择字幕时依次优先使用:

  1. subtitles.polished 中的 SRT。
  2. subtitles.translated 中与目标语言匹配的 SRT。
  3. subtitles.source 中的 SRT。
  4. 视频内嵌字幕;仍没有字幕时再调用 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.jsonworkspace/projectNNN_* 项目。工作台导入故事计划、 旁白计划、字幕和证据文件,显示视频、原声、TTS 旁白、原声锚点和字幕五条轨道。

  • 可以预览素材,拖动切点,拆分、删除和重排片段,并撤销或重做。
  • 可以修改旁白文本、单独调用 MiniMax 重生成一个语音块,拖动原声窗口和字幕边界; 预览画面中的解说字幕可上下拖动,避开原片已有的硬字幕,保存后按同一位置烧录。
  • 可以设置片段音量关键帧、淡入淡出、交叉转场,并注册其他本地视频源。
  • 配置 DEEPSEEK_API_KEY 后可以对选中的旁白做保守局部改写;缺少密钥时不影响其他功能。
  • 保存会写入项目的 revisions/rev-*;片段缓存写入 .story_editor_cache/segments。 不覆盖源视频、原始计划、原始字幕或已有 TTS 文件。

时间线编辑器是人工精修入口。对剧情、人物和因果的判断仍应先执行下面的证据提取与故事 理解流程,不能用拖动时间线替代证据校验。

Read the full file on GitHub · 330 lines

Changes

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.

  1. 10d ago First seen · 330 lines · 197 tokens per session scan A daa3a8649b1e

Subscribe to this mod's changes

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.

Related

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.

joeseesun/qiaomu-cut-skill · 171 tokens

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…

Orkas-AI/Orkas-VideoStudio · 96 tokens

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.

Orkas-AI/Orkas-VideoStudio · 57 tokens

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.

Orkas-AI/Orkas-VideoStudio · 62 tokens

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…

Orkas-AI/Orkas-VideoStudio · 0 tokens

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.…

Orkas-AI/Orkas-VideoStudio · 81 tokens