chengfeng-videocut-skills is a Codex plugin that coordinates Chinese voiceover video editing through the chengfeng-videocut runtime, whose command-line tools and APIs perform the actual processing. It is for agents that need to edit and export narrated videos, while its catalogue skills handle decisions and workflow coordination around that runtime.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Agentchengfeng/chengfeng-videocut-skills --skill chengfeng-subtitlegit clone --depth 1 https://github.com/Agentchengfeng/chengfeng-videocut-skillsWrote 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/agentchengfeng/chengfeng-videocut-skills/chengfeng-subtitle)<a href="https://agentmods.dev/skills/agentchengfeng/chengfeng-videocut-skills/chengfeng-subtitle"><img src="https://agentmods.dev/badge/skills/agentchengfeng/chengfeng-videocut-skills/chengfeng-subtitle/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/agentchengfeng/chengfeng-videocut-skills/chengfeng-subtitle"><img src="https://agentmods.dev/badge/skills/agentchengfeng/chengfeng-videocut-skills/chengfeng-subtitle.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.00112 | $0.03058 |
| Opus 5 | $0.00056 | $0.01529 |
| Sonnet 5 | $0.00022 | $0.00612 |
| Haiku 4.5 | $0.00011 | $0.00306 |
Grade A, and why
chengfeng-subtitle 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 13d 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 — 213 lines — stays where its author put it; the contents beside it link to each section on GitHub.
字幕
这是一件事,不是流程的一段。 用户什么时候喊它就什么时候做——刚剪完可以做, 做完又删了两句可以再做一遍。
它只有一个前提:账本已经存在。不是因为它排在剪辑后面,而是因为没有账本, 它不知道哪几句留着、各自落在成片的第几秒。
需要 edit-list.json(账本)、transcript.json(逐词稿)
产出 subtitles.json
干完就停,不指挥用户下一步。
先读取并执行 业务 Skill 的阶段合同, 判据见 字幕校对规则,专名写法见 AI 用词词典。
谁说了算什么
这是这一段的地基,其余都从这里推出来。
剪口播 说了算「留哪些话、在什么时候」 ← 时间的唯一真相
字幕 说了算「屏幕上显示什么字」 ← 显示的唯一真相
一屏字幕存的是词 id 列表 + 显示文字,不存秒数。时间每次从账本现算。 于是两本账没有第二份时间可以走偏,失效也能精确到屏:「第 7、第 12 屏的词被剪掉了」, 而不是那句谁也点不动的「字幕可能已过期」。
字幕存自己的文字是故意的。 转录回答「他说了什么」,字幕回答「给人看什么」—— 标点、去掉的口头禅、专名的正式写法,这些本来就该不一样。逼一份字符串同时干两件事, 字幕就永远加不了逗号。
0. 就绪
先执行 检查更新 的「就绪检查」——skills 是否
最新、Runtime 是否配套;插件根也在那里定位(本文命令里的 <插件根> 都代入
那个字面路径)。只有「就绪」才继续;「需新会话」或「停」按它的处置执行
(含「禁止自制替代界面」禁令),业务 Skill 不自带环境逻辑。
若就绪结果为 runtime.kind=desktop-managed,直接复用桌面 App 已安装的稳定 CLI 与
同一 launchd/windows-task 服务;不要解析 Electron 路径、另装依赖或起第二个
Runtime。
1. 入口断言
node "<插件根>/scripts/ensure-running.cjs" --json
node "<插件根>/scripts/videocut-cli.cjs" inspect "<项目目录>" --json
| 断言 | 不成立时 |
|---|---|
edit-list.json 存在且有片段 |
说清楚缺账本,让用户先喊剪口播。不要自己去剪。 |
transcript.json 存在 |
项目没准备好,停止。不要自己造一份。 |
不要断言 source_cut.mp4,也不要去转录。 字幕两样都不需要——见下一节。
2. 改字:先词典,后文稿
不需要重新转录。 原来那份逐词稿已经带着时间戳,账本知道哪几段留着—— 每个词落在成片的第几秒是算出来的,不是再听一遍听出来的:
词在源片的第几秒 转录里就有
哪几段留着 账本里就有
词在成片的第几秒 两者一算就出来
再送一遍 ASR 只是把同样的话重新听一次,花钱、花时间,而且听得更差——专名要重新改一遍。
(transcript retranscribe 是上一版设计的遗留,那时字幕打算靠转写剪后视频拿时间轴。
字幕改成锚词 id 之后这个问题就没了。做字幕不要用它。)
两件不同的工具,都要用。
# 词典:这个说话人的固定写法,不需要证据
node "<插件根>/scripts/videocut-cli.cjs" transcript dictionary "<项目目录>" --dictionary "<插件根>/references/ai-term-dictionary.md" --json
# 文稿:作者手上有稿子时才做,逐处要证据
node "<插件根>/scripts/videocut-cli.cjs" transcript align "<项目目录>" --script "<口播稿文件>" --json
词典 永远这么写 不看上下文,直接改,列出改了哪几处
文稿 上下文对得上才这么写 逐处要证据,对不上的报「不敢定」,不猜
What ships with it
2 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.
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.
- 13d ago First seen · 213 lines · 112 tokens per session scan A 5ec0144f9ec9
chengfeng-subtitle is a skill published in the GitHub repository Agentchengfeng/chengfeng-videocut-skills (2,989 stars, last pushed 4d ago), licensed Apache-2.0. It adds 112 tokens to every session and 3,058 once invoked, about $0.0006 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
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…