videocut-skills
Edit raw Chinese talking-head footage: word-by-word transcription, dictionary-based typo correction producing a correction ledger, five-pass scanning for speech stumbles and repetitions, summary and repeated-sentence tables, launching Studio for user review, and retrospective analysis to capture user preferences and vocabulary. Only outputs a verified deletion ledger—does not cut media, generate subtitles, or render storyboard animations. Use when the user requests editing talking-head videos, cleaning up stumbles, preparing baseline talking-head footage, continuing a cut, or when a confirmation card returns action=return_cut_review. Do not use for physical video clipping, exporting final cuts, standalone installation, opening the workbench by itself, or producing finished storyboarded videos.
1How It Works & Mechanism
This entry is a Codex Plugin collection (6 business skills) rather than a single-file skill: the primary entry point is 'cut talking-head' chengfeng-cut, registered alongside subtitles, visuals, export, bug reporting, and update checks, with shared boundaries documented in internal references rather than consuming user entry points.
Six task-facing chengfeng-videocut Skills: cut, subtitle, visual, export, safe bug reporting, and Marketplace update checks. Shared product boundaries are internal references, not a user-facing Skill.
The main entry point strictly handles semantic judgment and orchestration: it explicitly produces no media, and its sole artifact is a human-reviewed deletion ledger (Cuts + EDL), with ground truth for time, media, and state residing in the product Runtime.
**不切媒体**:账本改一次是几十毫秒,切一次是一个不可撤销的文件。到本 Skill 结束,
All state mutations follow Product CAS: first readback to acquire the revision, then submit candidates with --expected-revision, and immediately perform another readback to verify the stage and three revisions (project, Cuts, and EDL).
使用上一步 readback 的 expected revision 调用 `cuts set`、`artifact put` 或 Product transition;随后立即 readback,确认 Product 返回的新 revision 与预期 stage。
The only valid input for deletion reasoning is the product-supplied 'playback order' view (transcript playback); the agent is strictly forbidden from assembling transcript.json manually, which silently misinterprets missing indices as missing content.
**判断只用 `transcript playback` 的播放顺序,不许自己从 `transcript.json` 拼**
Deletion reasoning is split into five single-criterion scan passes (repetitions / false starts & mid-sentence corrections / stumbles & restarts / English hesitations / filler phrases), each pass focusing on one criterion and recording one type, leaving conflict resolution to aggregation.
把播放顺序完整读五遍,每遍只带一个判据。
Aggregation generates two tables with mandatory self-reading verification: Deletion Summary Table + Repeated Sentences Table. The AI reads the post-deletion text aloud per the tables; if it sounds unnatural, the cut is reverted (strictly binary state, no 'suggested deletion' intermediate state).
这是复核的定义:AI 自己再看一遍,不是拿去问用户;拿不准 = 不列(两态)。
The manual review phase binds UI launch to dual verification of project-level binding and capability gating: the URL's #project/<projectId> must match the readback, and ensure-studio must return ok=true before opening the page.
- 打开前把 `productUrl` 的 `#project/<projectId>` 与 readback 的 `projectId` 严格比对,
Post-handover retrospective and crystallization: diff the preserved proposal file against the final ledger, archiving differences into three categories (style preferences / proper noun dictionary / rule gaps).
- 口味差异 → `~/.chengfeng-videocut/cut-preferences.md` 追加(Agent 维护的
Conclusion grading is enforced as hard gating: API/readback PASS, visual frame PASS, and human listening PASS are mutually non-substitutable; if no human has actually listened, it must be reported as UNVERIFIED.
没有真实人类听音记录时,必须报告 **human listening UNVERIFIED**;不得声称 PASS。若本轮没有真实 UI 路径,visual frame 也必须是 UNVERIFIED,而不是由静态测试代替。
Environment logic is centralized into a single dedicated Skill: step 0 of any business Skill only references the 'readiness check' of check-updates, which yields strictly three states.
三步走完,输出三态之一:**就绪 / 需新会话 / 停**。
Skills updates are split into two transactions—'discovery' and 'installation mutation': the check phase parses candidates inside an isolated, temporary CODEX_HOME using official stable releases, executing zero codex calls and zero writes to the user's HOME.
正常检查只允许在临时 `CODEX_HOME` 中用官方 `stable` 发现候选;对用户
Activation uses only official Codex commands and supports rollback: once the user confirms the four-factor identity, the script re-stages, validates --expected-*, performs remove → add --ref <B> → upgrade, and re-reads from cache to verify.
"codex plugin marketplace add",
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | codex(OpenAI Codex CLI) |
| cli | git |
| cli | gh(GitHub CLI) |
| cli | curl |
| network | GitHub Releases(Runtime 制品与 install.cjs) |
| network | 官方 Codex Marketplace 源(Git) |
| network | 本地 Studio / Product Runtime(loopback 常驻服务) |
| cli | node ≥ 20 / ffmpeg ≥ 6 / ffprobe / Google Chrome |
| api | 云端 ASR(火山引擎,凭证由 Runtime 保存) |
| package | MCP 运行时依赖(plugin 包) |
4Recommended Governance & Evidence
- scripts/: Execute local scripts or commands: node plugins/chengfeng-videocut/scripts/ensure-runtime.cjs --install-if-mis
- 网络端点: Declare external network access: https://github.com/Agentchengfeng/chengfeng-videocut/releases/download/v0.4
- 本地工作目录: File read/write and artifact output: ~/.chengfeng-videocut/ (Runtime installation directory written by the installer; cut-preferences.md, dictionary.md)
5Second-Pass Verification
- [ok] skill.path 定位(任务表标『待定位』;本 repo 是合集形态) — repo 是 Codex Plugin 安装入口 + 一包 6 个 Skill,plugin 根无 SKILL.md;主入口按 plugin.json defaultPrompt[0] 与 plugin README 能力边界表首行取 chengfeng-cut,故 path=plugins/chengfeng-videocut/skills/chengfeng-cut。其余 5 个 SKILL.md 路径已在 analysis.capabilities 与 internal_assets 中逐条登记。
- [ok] skill.commit / audit.skill_commit 与 pin 一致 — 工作副本 HEAD b10e85e1694ac562cb9d0a9496e1a79545d10071;任务表 pin b10e85e1694a;PINS-b2.json 记 {dir: chengfeng-videocut-skills, commit: b10e85e1694a}。
- [ok] meta.license 与仓库事实 — 仓库根 LICENSE 为 Apache License Version 2.0;plugin package.json 与 .codex-plugin/plugin.json 均声明 Apache-2.0;GitHub API spdx_id = Apache-2.0,无冲突。
- [ok] stars / last_push 交叉核对 — gh api 返回 stargazers_count 2996、pushed_at 2026-09-14T15:41:49Z;工作副本最后一次提交时间为 2026-09-14 23:40:09 +0800(同年同日),一致。
- [unlocatable] 被顶替关系(本条目顶替 to-prd/writing-great-skills) — 『为什么由本 skill 顶替』属任务分配层决定,源码内无证据可核;本条仅按 agent-18.md 指派执行。
- [discrepancy] 池内旧描述(aws_review:FFmpeg + 火山引擎 ASR + 上传 uguu.se 公共图床)是否适用于本 pin — 全仓 grep 'uguu' 零命中(仅 git pack 二进制噪声),该描述来自旧仓库 Ceeon/videocut-skills 时代;本 pin 的实际外部依赖是官方 GitHub Releases/Marketplace、codex/gh CLI 与 loopback 5190。云端 ASR 仍是火山引擎,但凭证经 Runtime 管理。池内 aws_review 与 pool.gh_url(Ceeon/videocut-skills)均为待更新的历史值。
- [ok] README/契约中的『已验收/未验收』自述是否与代码一致 — README 明说本轮是 CLI/portable 安装修复预发行、不推进 stable、常驻服务生命周期尚未完成新版本验收;runtime-requirements.json 的 minimumRuntimeVersion 0.4.10 与 releaseTag v0.4.11 与之相符,未发现把预发行包装成 stable 的表述。
- [ok] 『user-invocable 只证明兼容 metadata,不证明 UI 展示』是否真在源码写明 — plugin README 原句:静态元数据、agents/openai.yaml、Plugin 首页 starter prompt 和 CLI 的 $plugin:skill 调用,不能单独证明 Desktop Slash/Plugin 群组已经在界面中展示。
6Verdict & Scenarios
34c8b28b38500e4f…