edit-video
GitHub用于视频剪辑任务,支持时间线管理、片段裁剪、转场衔接、BGM配乐及成片导出。通过调用MCP工具读取时间线、审阅素材并执行编辑操作,最终交付包含改动总结与问题链接的完整结果。
Trigger Scenarios
Install
npx skills add ArcReel/ArcReel --skill edit-video -g -y
SKILL.md
Frontmatter
{
"name": "edit-video",
"description": "在剪辑时间线上剪辑一集,并按要求出成片或导出剪映草稿。本集视频已齐、要剪一版时使用;用户按片段编号提出修改(如「c3 太拖」),或要求配 BGM、出成片、导出剪映草稿、复制或重命名剪辑时间线、回到旧修订时,也使用本 skill。"
}
剪辑视频
一集的成片形态只记录在剪辑时间线上:预览按它拼接,成片与剪映草稿都从它生成。剪辑与出片全部经 mcp__arcreel__* 工具完成。各工具的参数、取值范围与写入语义,以工具描述为准。
一轮剪辑
用户每提出一次剪辑要求,就走一轮。每一轮都以一次交付结束。
-
确定剪辑时间线:用
mcp__arcreel__list_timelines列出本集的剪辑时间线。- 本集还没有剪辑时间线:用
mcp__arcreel__create_timeline按脚本机械新建一条,显示名用「完整版」。 - 用户点名了某一条,就用那一条;没有点名时,用
list_timelines中最近修改时间最新的那一条。用户的说法对得上多条、分不清指的是哪条时,先问用户。
完成标准:拿到唯一一个剪辑时间线 ID。
- 本集还没有剪辑时间线:用
-
读取:用
mcp__arcreel__read_timeline读取选中的剪辑时间线,把用户的要求对应到片段编号(如 c3)。找不到用户说的片段时,先问清楚再改。仅要求出片时,读完直接进入「出片」。首轮剪辑(刚新建的时间线,或用户让你剪一版)读完后,issues里有narration_missing时先按generate-narration-audio补齐缺失的旁白配音并重读时间线(旁白越界与相撞要有配音实测时长才算得出),再按「首轮全量审阅」一节看完全部素材,然后进入第 3 步。完成标准:每条要求都能定位到片段,或已明确需要用户补充的信息;首轮剪辑另有每个视频单元的审片报告,TTS 配音项目已补齐旁白配音,或已记下补不齐的单元。
-
剪辑决策(L1):根据用户的要求,以及各片段的时长、状态、剪辑理由和
issues,决定本轮操作:- 结构:围绕叙事顺序决定片段的取舍、重排与重复使用。大规模重构(重排大半片段、整体换一种节奏)先复制:用
mcp__arcreel__create_timeline(from: "timeline",timeline取当前选中的 ID)复制一条,显示名写成创作者认得出的剪法,如「快节奏版」;之后在副本上剪,原版留作退路,并告诉用户新时间线的名字。 - 看画面:首轮以审片报告为依据。对话中用户追问某几段的画面时(某段是否崩坏、哪里起势或拖尾、候选版本孰优),用
mcp__arcreel__inspect_video_units看相关视频单元的联系表,自己看图判断。联系表同时标出机器检查信号:BLACK 黑屏段、FREEZE 卡帧段是疑似缺陷,看图确认后再决定要不要截掉;CUT 镜头切换点是结构信息,不是缺陷。信号只是提示,取舍以画面为准。 - 节奏:按用户提供的区间,或看画面后定下的时刻,决定截取或尾部定格。联系表上标注的时刻与入出点同一时间轴;入出点贴着 CUT 的切点帧或切点前一帧定,不要落在切换中间;截去片头或片尾的黑屏、卡帧时,区间的 end 是候选入点,start 是候选出点。
- 衔接:相邻片段之间可以设置转场。脚本里的
segment_break(场景切换点)可以当作放转场的提示。 - 声音:按用户要求调整原声音量。用户要配 BGM、换 BGM 或调 BGM 时,按「配 BGM」一节处理。
- 旁白:
issues里有narration_overrun或narration_source_collision时,按「旁白放不下时」一节处理。 - 版本:用户指定另一视频版本,或审片报告、看画面后另一候选版本明显更好时,用
mcp__arcreel__select_video_version直接切换(不必征得同意),再重读时间线、重新决定截取。 - 待创作者决定:素材不可用、需要重新生成的视频单元,以及要改写的画外音,记下来,在第 5 步放进勾选清单。
- 理由:为保留或新增的改动片段写一句面向创作者的剪辑理由;删除片段的理由写入本轮总结。
完成标准:用户这一轮的每条要求都落到了具体片段和操作上;做不到的要求记下原因,留到第 5 步说明。
- 结构:围绕叙事顺序决定片段的取舍、重排与重复使用。大规模重构(重排大半片段、整体换一种节奏)先复制:用
-
提交:把本轮时间线调整集中为一次
mcp__arcreel__edit_timeline,依据最近一次读取结果提交,改动摘要用一句话写给创作者看。没有可执行的调整时,直接进入第 5 步。操作被拒时,按返回的定位信息修正后整批重交;遇到revision_conflict时,先重读,再按最新内容重新决定本轮调整。完成标准:调整已提交成功,或已明确本轮没有可提交的调整。
-
交付:按「一轮结束的交付」一节,一次交付改动总结、「跳到这里看」链接,以及有待决定事项时的勾选清单。
首轮全量审阅
首轮把剪辑时间线用到的每个视频单元都看一遍(current 版本,有候选版本的一并比较),交给只读的审片子智能体 review-footage 并行完成。联系表只进子智能体的上下文,你只读它们的文字报告。
- 分组:从
read_timeline的片段收集用到的视频单元 ID,去重后按场景或相邻单元分组,每组约 6~10 个视频单元。一个单元连同它的候选版本只进一组,由同一个子智能体比较。 - 派发:在同一条消息里为每组发起一次
review-footage子智能体调用,让各组并行。派发消息写明剧本文件、本组视频单元 ID 和报告要求。报告至少回答:能否使用、可用区间及依据、问题及时间点、候选版本排序、是否建议重新生成(以及是否需要修改提示词)、一句可以直接写进剪辑理由的话。 - 汇总:按报告逐单元决定第 3 步的操作:挑版本、按可用区间截取、写剪辑理由;建议重新生成的单元记为待创作者决定。
完成标准:时间线用到的每个视频单元都有一份审片报告。缺报告的单元补派一次。
一轮结束的交付
一轮剪辑以一次交付结束,三样东西放在同一条消息里:
-
改动总结:按片段编号列出本轮改了什么、为什么改,包括挑了哪个视频版本。再列出结果
issues中仍然存在的 blocking 级与 warning 级问题,并说明做不到的要求及原因。 -
「跳到这里看」链接:每条问题都附一条应用内链接,写成 Markdown 链接,路径以
/app/开头、不带域名,项目名按路径段做 URL 编码:- 问题落在剪辑时间线的片段上:
/app/projects/{项目名}/episodes/{集 ID}?view=edit&tl={剪辑时间线ID}&t={秒}。t是剪辑时间线上的全局时间:片段的start加上「问题时间点 − 该片段的入点」。 - 问题落在没进时间线的视频单元上:
/app/projects/{项目名}/episodes/{集 ID}?unit={单元ID}&t={秒}。t是该视频单元视频自身的时间。
- 问题落在剪辑时间线的片段上:
-
勾选清单:有待创作者决定的事项时,交付消息发出后用 AskUserQuestion 多选(
multiSelect: true)一次问完,每类一个问题:- 重新生成:先用
mcp__arcreel__generate_videos预检(preview: true,target取selected并列出全部候选单元,force: true)。每个选项写明视频单元、问题与时间点、是否修改提示词、预计费用与时长档位(档位有变化时写明编排时长与申请档位);另给一个「全部重新生成」选项,写明合计费用。预检里blocked的单元不进选项,在改动总结里说明缺口。 - 改写画外音:每个选项写明原文 → 改后文字、预计缩短的秒数。
一个问题的选项放不下全部候选时,按场景合并为一个选项,写明包含哪些视频单元与合计费用。没有待决定事项时不发勾选清单。
- 重新生成:先用
完成标准:交付消息里每条问题都有链接;每个待决定事项都在勾选清单里,并带上上述全部信息。
执行勾选项
付费或改脚本的动作,一轮只确认一次:创作者在勾选清单里选中的,直接执行,不再追问。
-
重新生成:要修改提示词的单元先用
mcp__arcreel__patch_episode_script改好提示词。然后用一次generate_videos提交全部选中项:target取selected列出选中的单元,force: true,confirmed_request_durations原样带上预检结果里的同名字段,档位就不会再被要求确认。被要求重新确认时,说明档位或费用有了变化,把新的报价告诉创作者,由 TA 决定是否继续。完成后验收:记下各单元重新生成前的 current 版本号,派
review-footage比较新旧两个版本。挑好的作为 current(旧版本更好时用select_video_version改回),按报告重设入出点,用edit_timeline写进剪辑时间线,再按「一轮结束的交付」告诉创作者结果。新版本仍有问题时只在交付里报告,不自动进行第二次重新生成。 -
改写画外音:用
mcp__arcreel__patch_episode_script改写选中的画外音,再用mcp__arcreel__generate_narration_audio以segment_ids点名这些视频单元,重新生成旁白配音。
旁白放不下时
旁白从承载片段的起点开始,按配音实测时长播放,比画面长时会延伸到后续片段上,压到下一段旁白上或超出末尾(narration_overrun),也可能盖住台词或原声未压低的片段(narration_source_collision)。处理办法按授权边界分三级:
- 只动剪辑时间线:直接做。 放宽截取、切换视频版本、插入同一视频单元的额外片段、尾部定格延长、用
place_narration改挂旁白、压低被盖住片段的原声音量,都在本轮里随其他调整一起提交,并把理由写进片段的剪辑理由。 - 改写画外音:先经创作者确认。 放进勾选清单,按「执行勾选项」处理。
- 重新生成更长的视频:先改编排时长,再征得同意。 这一步会产生费用:先说明要把哪个视频单元的编排时长改成多少,以及预计费用,创作者同意后再改编排时长并重新生成。
这两个 issue 都是警告,不阻断出片。剪辑调整之后仍放不下时,在总结里写明剩下的越界与相撞,由创作者决定是带着警告出片,还是批准改写或重新生成。
配 BGM
BGM 由创作者在 Web 端剪辑视图的 BGM 轨上传,属于整个项目,响度在上传时已统一。BGM 操作随本轮其他调整在同一次 edit_timeline 里提交。
- 挑 BGM:用
mcp__arcreel__list_bgm列出项目里的 BGM。用户点名了哪首就用哪首;没点名时,按名称挑最贴合本集情绪的一首,并在总结里说明挑了哪首。项目里没有 BGM,或没有合适的 BGM 时,请创作者在剪辑视图的 BGM 轨上传,上传后再摆放。 - 摆放:用
insert_bgm按时间线上的绝对起点摆放。音量和淡入淡出取默认值,用户有要求时再调。 - 拼多段:BGM 比要覆盖的区间短时,接着摆下一段:下一段的
start等于上一段的结束时间(上一段的start+source_out−source_in),首尾相接、不重叠。下一段可以截取 BGM 的另一段落,避免同一乐句反复出现。拼接处两侧的淡出淡入改短到 0.5 秒左右,听起来更连贯。 - 结尾:超出时间线末尾的部分会自动截断,并在截断处淡出,不需要算准最后一段的出点。
完成标准:BGM 片段覆盖用户要求的区间,彼此不重叠;issues 里没有 bgm_missing。出现 bgm_missing 时,换一首项目里现有的 BGM,或请创作者重新上传。
回到旧修订与整理时间线
每次提交都会追加一个修订,历史不改写。
- 回到旧修订:用户要撤销改动或回到某个旧样子时,用
mcp__arcreel__list_revisions找到目标修订。用户说的是「撤销上一次」或点名了修订时,直接用mcp__arcreel__restore_revision回滚;目标不明确时,先把修订摘要列给用户选。回滚整段替换当前内容,回滚后读取一次时间线,按「一轮结束的交付」中改动总结的格式告诉用户现在是什么样。 - 改名:用
mcp__arcreel__rename_timeline,只改显示名,不产生修订。 - 删除:Agent 没有删除工具。用户要删某条时,告诉 TA 在 Web 端剪辑视图里点该时间线标签旁的菜单,选「删除」。
出片
出片有两种交付物:成片(mcp__arcreel__render_final_cut)和剪映草稿(mcp__arcreel__export_jianying_draft)。用户要哪种就出哪种;只说「出片」时出成片。剪映草稿只在用户要求时导出。
- 告知问题:以最近一次读取或提交结果里的
issues为准。- 有 blocking 级问题:列给用户,说明出片被哪些片段挡住,以及怎么解决;这些问题解决前不提交。
applies_to为with_narration的问题只挡带旁白版本。需要付费的处理(如生成缺失的视频)由用户决定。 - 有 warning 级问题:列给用户,说明出片会带着这些问题进行,然后提交。用户要求先修再出时,回到「一轮剪辑」。
- 有 blocking 级问题:列给用户,说明出片被哪些片段挡住,以及怎么解决;这些问题解决前不提交。
- 提交:用对应工具提交选中的时间线,等到终态结果。旁白版本(两种交付物都有)和是否烧入字幕(只有成片)按用户要求选择,用户没提就省略、取默认:TTS 配音项目带旁白,成片烧入字幕。被拒时,把返回的问题码和涉及的片段告诉用户,并按工具支持的内容给出改法。由用户确认后,再走一轮剪辑。
- 交付:
- 成片:给出下载链接与验收结果。实测音视频时长与剪辑时间线时长明显不一致时,明确指出来。
- 剪映草稿:结果不带下载链接。告诉用户草稿已生成,请在 Web 端下载,下载时填写本机的剪映草稿目录。
Version History
- 8d9d3a0 Current 2026-10-19 08:06


