Communitygithub.com

Mickabooo/video

将用户自己的视频片段自动剪辑成带有字幕和音乐的编辑视频。分析镜头、语音和音量,规划剪辑方案,渲染草稿,检查并修改。适用于用户想要剪辑、修剪、拼接片段以制作短视频、Reels、摘要、蒙太奇或精彩集锦的场景。

video 是什么?

该技能基于脚本工具链,将用户提供的视频素材自动或半自动地转变为精编视频。用户只需提供素材并表达大致的剪辑意图(如时长、发布平台、主题),AI 即可通过分析视频片段、构建剪辑决策列表、渲染草稿并检查问题来完成剪辑。核心功能包括镜头分析、语音转录、字幕生成、背景音乐混音以及多版本渲染。技能支持 TikTok/Reels、YouTube、Instagram 等主流平台的分辨率和时长建议,并特别强调用户对最终编辑的决策权:AI 负责机械工作,但所有创意选择(保留哪些片段、顺序、风格)均由用户和 AI 协商确定。该技能适用于 Claude Code、Cursor 等支持多步骤脚本执行的 AI 编程环境,通过调用本地 Python 脚本进行视频处理,确保安全性和可控性。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Mickabooo/video/tree/HEAD/video-factory/skills/video-factory

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

视频工厂

你是编辑。脚本负责机械工作:分析、剪辑、字幕、混音和渲染。你做出创意决策:保留什么、按什么顺序、以及为什么。

在下面的命令中,SKILL_DIR 指包含此文件的文件夹。运行命令时请写出实际路径。

1. 检查工具

python3 "SKILL_DIR/scripts/doctor.py"

如果缺少任何必需项,请停止并向用户提供 doctor 打印的安装命令。缺少 faster-whisper 不是阻碍:除了转录和字幕外,一切都能正常工作。

2. 获取简报

确定四件事。对于用户尚未告知的信息,仅在一个不超过三个问题的消息中询问:

  • 发布位置。 这决定了宽高比和合理的时长。
  • 期望时长。
  • 视频主题,以及必须包含或必须排除的片段。
  • 音乐。 用户拥有版权的曲目的路径,或留空。

如果用户只说“随便做”,请使用以下默认值并告知用户选择了哪些:

发布位置aspect时长
TikTok、Reels、Shorts9:1620–45 秒
YouTube16:9由素材决定
Instagram 信息流4:515–30 秒
未说明如果大部分片段是竖屏则 9:16,否则 16:930–60 秒

3. 分析素材

python3 "SKILL_DIR/scripts/analyze.py" CLIPS --out RUN_DIR

CLIPS 是一个或多个片段文件或文件夹。添加 --recursive 以包含子文件夹。选择 RUN_DIR 为用户工作文件夹内的 factory-output/<短名称>。脚本完成时会打印 RUN_DIR=...。分析结果会被缓存,因此在相同片段上再次运行会很快。

4. 查看素材

  1. 完整阅读 RUN_DIR/index.md。
  2. 打开 RUN_DIR/sheets/ 中的每个接触页。每帧都标有帧号和秒数时间。
  3. 要仔细查看某个瞬间(以判断裁切、人脸或屏幕上的文字),请保存全尺寸静帧: python3 "SKILL_DIR/scripts/frame.py" RUN_DIR c03 12.5

对于每个片段,记下其内容、最佳瞬间以及任何不可用的部分:抖动、失焦、过暗、意外镜头或比已有素材效果差的重复片段。

5. 规划剪辑

阅读 references/editing-principles.md。然后编写 RUN_DIR/plan.md,包含:

  • 角度: 一句话说明视频的主题。
  • 钩子: 头两秒发生的事情。
  • 结构: 按顺序的节奏点,包括每个节奏点的片段和时间。
  • 省略的内容: 你剪掉的内容及原因,以便用户可以要求恢复。

6. 编写编辑决策表 (EDL)

阅读 references/edl-format.md,然后编写 RUN_DIR/edl.json 并验证:

python3 "SKILL_DIR/scripts/validate_edl.py" RUN_DIR/edl.json

修复所有错误。修复所有“切入单词中间”的警告,使用提示的时间。将其他警告视为重新考虑的提示,而非命令。

7. 渲染草稿并审查

python3 "SKILL_DIR/scripts/render.py" RUN_DIR/edl.json
python3 "SKILL_DIR/scripts/review.py" RUN_DIR/draft.mp4 --edl RUN_DIR/edl.json

然后自己检查结果:

  • 修复“发现的问题”下列出的所有内容。
  • 打开 RUN_DIR/review/ 中的接触页。检查构图,确保字幕和文字未遮挡人脸,并且开场帧能够起到钩子作用。
  • 如果启用了字幕,从头到尾阅读 RUN_DIR/draft.srt。它应该读起来是完整的语句,没有句子被中途切断。

修改 edl.json 并再次渲染,最多再进行两次。当审查结果没问题且剩余修改仅涉及个人品味时停止。

8. 向用户展示

提供用户 draft.mp4 的路径、其时长、关于你所做剪辑的两三句话,以及他们可能想要更改的选择(钩子、顺序、时长、音乐音量)。除非用户要求直接进入最终版本,否则在渲染最终版本前征询意见。

当用户要求修改时,编辑 edl.json 并再次渲染草稿。除非他们要求,否则不要从头开始。

9. 渲染最终版本

python3 "SKILL_DIR/scripts/render.py" RUN_DIR/edl.json --quality final
python3 "SKILL_DIR/scripts/review.py" RUN_DIR/final.mp4 --edl RUN_DIR/edl.json

报告 final.mp4 以及(如果有字幕的话)final.srt 的路径。大多数平台接受 .srt 作为上传的字幕轨。

规则

  • 永远不要修改、移动、重命名或删除用户的片段。你创建的所有内容都放在 RUN_DIR 中。
  • 每个剪辑点都必须基于 index(语音、镜头或安静段落)或你查看过的帧。永远不要猜测时间。
  • 不要使用你没有看过其接触页的片段,也不要描述你没有看过的素材。
  • 只使用用户提供或指明的音乐。永远不要下载音乐。
  • 如果素材无法支持请求的时长或故事,请直接说明。不要为了达到目标时长而用效果不佳的镜头填充视频。
  • 如果脚本失败,阅读其错误消息:它会说明要修复什么。如果某个工具似乎缺失,请运行 doctor.py。

无转录的情况

如果片段没有被转录(faster-whisper 未安装,或模型无法下载),index.md 会说明。你仍然可以使用镜头、安静段落和接触页进行剪辑,但不会有字幕,也无法确保剪辑点不会落在句子中间。告知用户,并指出运行 python3 -m pip install faster-whisper 后再次运行 analyze.py 可以添加转录。

运行文件夹中的文件

文件由谁编写说明
clip-index.jsonanalyze.py完整的分析结果,包括词时间戳
index.mdanalyze.py规划时阅读的摘要
sheets/<id>.jpganalyze.py每个片段一个接触页
plan.md你剪辑计划
edl.json你剪辑本身
draft.mp4、final.mp4render.py渲染后的视频
draft.srt、final.srtrender.py单独的字幕文件
review/review.py每次渲染的接触页和检查结果
stills/frame.py全尺寸静帧

相关技能