Agent Skills › ArcReel/ArcReel › edit-video

edit-video

GitHub

用于视频剪辑任务,支持时间线管理、片段裁剪、转场衔接、BGM配乐及成片导出。通过调用MCP工具读取时间线、审阅素材并执行编辑操作,最终交付包含改动总结与问题链接的完整结果。

agent_runtime_profile/.claude/skills/edit-video/SKILL.md ArcReel/ArcReel

Trigger Scenarios

用户要求剪辑视频或修改片段 用户要求生成成片或导出剪映草稿 用户要求调整BGM或重命名时间线

Install

npx skills add ArcReel/ArcReel --skill edit-video -g -y
More Options

Non-standard path

npx skills add https://github.com/ArcReel/ArcReel/tree/main/agent_runtime_profile/.claude/skills/edit-video -g -y

Use without installing

npx skills use ArcReel/ArcReel@edit-video

指定 Agent (Claude Code)

npx skills add ArcReel/ArcReel --skill edit-video -a claude-code -g -y

安装 repo 全部 skill

npx skills add ArcReel/ArcReel --all -g -y

预览 repo 内 skill

npx skills add ArcReel/ArcReel --list

SKILL.md

Frontmatter
{
    "name": "edit-video",
    "description": "在剪辑时间线上剪辑一集,并按要求出成片或导出剪映草稿。本集视频已齐、要剪一版时使用;用户按片段编号提出修改(如「c3 太拖」),或要求配 BGM、出成片、导出剪映草稿、复制或重命名剪辑时间线、回到旧修订时,也使用本 skill。"
}

剪辑视频

一集的成片形态只记录在剪辑时间线上:预览按它拼接,成片与剪映草稿都从它生成。剪辑与出片全部经 mcp__arcreel__* 工具完成。各工具的参数、取值范围与写入语义,以工具描述为准。

一轮剪辑

用户每提出一次剪辑要求,就走一轮。每一轮都以一次交付结束。

  1. 确定剪辑时间线:用 mcp__arcreel__list_timelines 列出本集的剪辑时间线。

    • 本集还没有剪辑时间线:用 mcp__arcreel__create_timeline 按脚本机械新建一条,显示名用「完整版」。
    • 用户点名了某一条,就用那一条;没有点名时,用 list_timelines 中最近修改时间最新的那一条。用户的说法对得上多条、分不清指的是哪条时,先问用户。

    完成标准:拿到唯一一个剪辑时间线 ID。

  2. 读取:用 mcp__arcreel__read_timeline 读取选中的剪辑时间线,把用户的要求对应到片段编号(如 c3)。找不到用户说的片段时,先问清楚再改。仅要求出片时,读完直接进入「出片」。首轮剪辑(刚新建的时间线,或用户让你剪一版)读完后,issues 里有 narration_missing 时先按 generate-narration-audio 补齐缺失的旁白配音并重读时间线(旁白越界与相撞要有配音实测时长才算得出),再按「首轮全量审阅」一节看完全部素材,然后进入第 3 步。

    完成标准:每条要求都能定位到片段,或已明确需要用户补充的信息;首轮剪辑另有每个视频单元的审片报告,TTS 配音项目已补齐旁白配音,或已记下补不齐的单元。

  3. 剪辑决策(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 步说明。

  4. 提交:把本轮时间线调整集中为一次 mcp__arcreel__edit_timeline,依据最近一次读取结果提交,改动摘要用一句话写给创作者看。没有可执行的调整时,直接进入第 5 步。操作被拒时,按返回的定位信息修正后整批重交;遇到 revision_conflict 时,先重读,再按最新内容重新决定本轮调整。

    完成标准:调整已提交成功,或已明确本轮没有可提交的调整。

  5. 交付:按「一轮结束的交付」一节,一次交付改动总结、「跳到这里看」链接,以及有待决定事项时的勾选清单。

首轮全量审阅

首轮把剪辑时间线用到的每个视频单元都看一遍(current 版本,有候选版本的一并比较),交给只读的审片子智能体 review-footage 并行完成。联系表只进子智能体的上下文,你只读它们的文字报告。

  1. 分组:从 read_timeline 的片段收集用到的视频单元 ID,去重后按场景或相邻单元分组,每组约 6~10 个视频单元。一个单元连同它的候选版本只进一组,由同一个子智能体比较。
  2. 派发:在同一条消息里为每组发起一次 review-footage 子智能体调用,让各组并行。派发消息写明剧本文件、本组视频单元 ID 和报告要求。报告至少回答:能否使用、可用区间及依据、问题及时间点、候选版本排序、是否建议重新生成(以及是否需要修改提示词)、一句可以直接写进剪辑理由的话。
  3. 汇总:按报告逐单元决定第 3 步的操作:挑版本、按可用区间截取、写剪辑理由;建议重新生成的单元记为待创作者决定。

完成标准:时间线用到的每个视频单元都有一份审片报告。缺报告的单元补派一次。

一轮结束的交付

一轮剪辑以一次交付结束,三样东西放在同一条消息里:

  1. 改动总结:按片段编号列出本轮改了什么、为什么改,包括挑了哪个视频版本。再列出结果 issues 中仍然存在的 blocking 级与 warning 级问题,并说明做不到的要求及原因。

  2. 「跳到这里看」链接:每条问题都附一条应用内链接,写成 Markdown 链接,路径以 /app/ 开头、不带域名,项目名按路径段做 URL 编码:

    • 问题落在剪辑时间线的片段上:/app/projects/{项目名}/episodes/{集 ID}?view=edit&tl={剪辑时间线ID}&t={秒}。t 是剪辑时间线上的全局时间:片段的 start 加上「问题时间点 − 该片段的入点」。
    • 问题落在没进时间线的视频单元上:/app/projects/{项目名}/episodes/{集 ID}?unit={单元ID}&t={秒}。t 是该视频单元视频自身的时间。
  3. 勾选清单:有待创作者决定的事项时,交付消息发出后用 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 里提交。

  1. 挑 BGM:用 mcp__arcreel__list_bgm 列出项目里的 BGM。用户点名了哪首就用哪首;没点名时,按名称挑最贴合本集情绪的一首,并在总结里说明挑了哪首。项目里没有 BGM,或没有合适的 BGM 时,请创作者在剪辑视图的 BGM 轨上传,上传后再摆放。
  2. 摆放:用 insert_bgm 按时间线上的绝对起点摆放。音量和淡入淡出取默认值,用户有要求时再调。
  3. 拼多段:BGM 比要覆盖的区间短时,接着摆下一段:下一段的 start 等于上一段的结束时间(上一段的 start + source_out − source_in),首尾相接、不重叠。下一段可以截取 BGM 的另一段落,避免同一乐句反复出现。拼接处两侧的淡出淡入改短到 0.5 秒左右,听起来更连贯。
  4. 结尾:超出时间线末尾的部分会自动截断,并在截断处淡出,不需要算准最后一段的出点。

完成标准: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)。用户要哪种就出哪种;只说「出片」时出成片。剪映草稿只在用户要求时导出。

  1. 告知问题:以最近一次读取或提交结果里的 issues 为准。
    • 有 blocking 级问题:列给用户,说明出片被哪些片段挡住,以及怎么解决;这些问题解决前不提交。applies_to 为 with_narration 的问题只挡带旁白版本。需要付费的处理(如生成缺失的视频)由用户决定。
    • 有 warning 级问题:列给用户,说明出片会带着这些问题进行,然后提交。用户要求先修再出时,回到「一轮剪辑」。
  2. 提交:用对应工具提交选中的时间线,等到终态结果。旁白版本(两种交付物都有)和是否烧入字幕(只有成片)按用户要求选择,用户没提就省略、取默认:TTS 配音项目带旁白,成片烧入字幕。被拒时,把返回的问题码和涉及的片段告诉用户,并按工具支持的内容给出改法。由用户确认后,再走一轮剪辑。
  3. 交付:
    • 成片:给出下载链接与验收结果。实测音视频时长与剪辑时间线时长明显不一致时,明确指出来。
    • 剪映草稿:结果不带下载链接。告诉用户草稿已生成,请在 Web 端下载,下载时填写本机的剪映草稿目录。

Version History

  • 8d9d3a0 Current 2026-10-19 08:06

Same Skill Collection

.agents/skills/add-release-highlights/SKILL.md
.agents/skills/afk-team-workflow/SKILL.md
.agents/skills/ask-matt/SKILL.md
.agents/skills/code-review/SKILL.md
.agents/skills/codebase-design/SKILL.md
.agents/skills/diagnosing-bugs/SKILL.md
.agents/skills/domain-modeling/SKILL.md
.agents/skills/emil-design-eng/SKILL.md
.agents/skills/frontend-design/SKILL.md
.agents/skills/grilling/SKILL.md
.agents/skills/handoff/SKILL.md
.agents/skills/implement-spec/SKILL.md
.agents/skills/implement/SKILL.md
.agents/skills/improve-codebase-architecture/SKILL.md
.agents/skills/pr-ai-review-loop/SKILL.md
.agents/skills/prototype/SKILL.md
.agents/skills/receiving-code-review/SKILL.md
.agents/skills/research/SKILL.md
.agents/skills/resolving-merge-conflicts/SKILL.md
.agents/skills/setup-matt-pocock-skills/SKILL.md
.agents/skills/shadcn/SKILL.md
.agents/skills/systematic-debugging/SKILL.md
.agents/skills/tdd/SKILL.md
.agents/skills/teach/SKILL.md
.agents/skills/tech-doc-style-chinese/SKILL.md
.agents/skills/to-questionnaire/SKILL.md
.agents/skills/to-spec/SKILL.md
.agents/skills/to-tickets/SKILL.md
.agents/skills/triage/SKILL.md
.agents/skills/update-docs/SKILL.md
.agents/skills/vercel-react-best-practices/SKILL.md
.agents/skills/wait-what/SKILL.md
.agents/skills/wayfinder/SKILL.md
.agents/skills/web-design-guidelines/SKILL.md
.agents/skills/wizard/SKILL.md
.agents/skills/writing-for-agents/SKILL.md
.agents/skills/writing-great-skills/SKILL.md
.claude/skills/translate-docs/SKILL.md
agent_runtime_profile/.claude/skills/adapt-custom-endpoint/SKILL.md
agent_runtime_profile/.claude/skills/compose-video/SKILL.md
agent_runtime_profile/.claude/skills/generate-assets/SKILL.md
agent_runtime_profile/.claude/skills/generate-grid/SKILL.md
agent_runtime_profile/.claude/skills/generate-narration-audio/SKILL.md
agent_runtime_profile/.claude/skills/generate-script/SKILL.md
agent_runtime_profile/.claude/skills/generate-storyboard/SKILL.md
agent_runtime_profile/.claude/skills/manage-project/SKILL.md
skills/video-workflow/SKILL.md
.agents/skills/afk-retrospective/SKILL.md
.agents/skills/agent-browser/SKILL.md

Metadata

Files
0
Version
8d9d3a0
Hash
648a3c71
Indexed
2026-10-19 08:06

홈 - 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-25 18:01
浙ICP备14020137号-1