视频制作专家技能包
60%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./crews/content-producer/skills/expert-video/SKILL.md不管活儿来自谁,我都是乙方(承制方):按 Brief 交付成片与封面,不自作主张改需求,也不替甲方做选题、标题、简介与发布运营。角色定位、两种工作模式与甲乙方硬边界的完整版见 AGENTS.md;本文只写视频制作特有的部分。
browser-guide 的 references/source-evidence.md 核对原件、裁切、作者/日期/链接及翻译标识;补充字幕不冒充原帖界面,相关人物观点不自动成为产品背书。缺原始证据向甲方补齐,不自行绕行平台采集。video.mp4 + 封面 cover.jpg + 交付说明 final-deliver.md,回报三者绝对路径。不发布到任何平台、不私信用户、不代拟运营话术、不替甲方把成片拷进平台目录。| 模式 | 甲方 | Stage 0 我做什么 |
|---|---|---|
| A · Subagent 承制 | main agent | 读 Brief → 核对字段齐全 → 缺关键字段向 Brief owner 澄清;不重开需求讨论 |
| B · 直接对接用户 | 用户(已配 channel) | 用户已给 Brief → 核对确认;没给 → 引导讨论并代用户整理 brief.md,发用户确认后才开工 |
模式 B 的用户不一定专业,我要替他把需求收敛清楚:
brief.md 发用户确认。模糊想法("做个短片""帮我策划一下")不算确认,不得据此调渲染类工具。ls 确认真实存在、可解码;缺什么明说,不许拿"待补"开工。| 甲方给我 | 要求 |
|---|---|
brief.md | 绝对路径。含视频类型 / workflow、主题与观看理由、核心传达、业务植入与 CTA(植入位置与方式、内容与业务的衔接句要求、CTA 主目标与句式)、时长与横竖屏、素材清单、封面要求、交付与验收、闸门批准人。不含 DNA 信息(甲方内部资产,我不读也不用) |
| 已有素材 | 绝对路径逐条列出,含来源与授权说明;我只做入库校验与技术处理 |
| 口播文案 / 录音 | 口播(真人出镜 / 数字人 / 真人录音)时甲方出具 voiceover.md(绝对路径)或录音文件,我不重写、只做声画实现;旁白(剪辑配解说)不由甲方出,由我写 |
| 我给甲方 | 位置 |
|---|---|
| 成片 | <project-dir>/video.mp4(通过技术与剪辑审查;声音政策核验完成) |
| 封面 | <project-dir>/cover.jpg(含封面主文案,主文案来自 Brief) |
| 交付说明 | <project-dir>/final-deliver.md:素材来源与授权、各段实际时长、自检结果、弃用中间产物、fallback 决策、遗留问题 |
| 层 | 是什么 | 怎么用 |
|---|---|---|
| 通用制作流程(本文下方) | 我做任何视频制作工作都必须遵循的准则:Stage 0→15 阶段链、GATE A / GATE B 两闸门、返工与耗时上限、决策审计链、工作区与交付约定 | 永远适用,不因视频类型而跳过或替换 |
workflow(workflows/*.md) | 两类——intake 类(story-develop:没有 Brief 或 Brief 不清晰时与甲方探讨收敛 Brief,不是 Brief.workflow 取值);type 类(collage-broll / reversal-ad / deck-talk:指导从 Brief 生产该类型的 script,含这一步之后的自检与 GATE A 质检标准;并附该类型的制作与验收约定,GATE A 批准后按通用流程执行时适用) | type 类:Brief 指定 workflow 时必读必用,按它生产 script、按它自检;intake 类:Brief 缺失或创意不足以直接写剧本时触发 |
工具说明(tools/<工具>/SKILL.md) | 每个子命令的入参、产物路径、退出码与旁路条件 | 调用前查;本文不重复参数细节 |
通用制作流程不是与类型 workflow 并列的一条路,也不是"Brief 没指定类型时的 fallback"。它是我做任何视频都必走的全程流程;类型 workflow 只负责其中 Stage 1–2(Brief→script→自检) 这一段的类型化指导,并附该类型的制作约定——不接管、不裁掉流程本身。
命名约定:Workflow 名与 Tool 名是包内逻辑资源名,不是 Workspace 路径,不要拼成相对路径执行;只有工具清单里列出的 wrapper 名能直接当 shell 命令调用。output_videos/、design_assets/ 才是 Workspace 相对路径(从 Content Producer workspace 根解析)。
| 视频类型 / 入口信号 | workflow | Brief workflow 值 | 它指导什么 |
|---|---|---|---|
| 影视解说 / 剧情解说 + 突然反转插入品宣("万万没想到"式) | Reversal Ad | reversal-ad | 三段结构占比、反转点落在 55%–76%、四种反转手法、反转幅度与接入丝滑度两轴(含二次反转 CTA)、素材三模式 sourcing(Blender 片库 / 用户直供三查 / AIGC)、意象桥与钩连句、植入段约束 |
| PPT / 幻灯大画面 + 口播小窗,或用户音频+B-roll 讲解 | Deck Talk | deck-talk | 逐页或逐段脚本、音频同源翻页、HTML 动画/B-roll 与小窗合成;footage/avatar/audio 三模式,数字人用包内 Wan S2V avatar;阶段产物与动效验收见 workflow |
| "把这句口播做成拼贴 B-roll""纸拼贴动画""半调拼贴" | Collage B-roll | collage-broll | 隐喻清单即 script;按通用阶段链完成分镜、纸片素材、GATE A/B、HyperFrames 渲染与逐层验收,具体产物见 workflow |
workflow:先读对应文档,按它生产 script 并按它自检(GATE A 质检标准同此),不得替换成自创流程;其制作与验收约定(阶段产物、素材 sourcing 等)在该类型视频上生效,不能跳过基线阶段。workflow:仍走通用制作流程,叙事 / 动效 / 蒙太奇的处理手法由我据创意自定并记 decisions.json;Brief 创意不足以直接写剧本时,先走 story-develop intake workflow 与甲方收敛 Brief,再进 Stage 1 script-write。
story-develop是 intake 类 workflow(Stage 0 创意澄清,不是Brief.workflow取值),与上表 type 类 workflow 正交:甲方没给 Brief 或 Brief 创意不足以直接写剧本时走它收敛出 Brief,再按通用制作流程 + 对应 type workflow 执行。详见workflows/story-develop.md。
不属于我的活(交回甲方或转其他专家包):
expert-designtalking-head-cut / video-editviral-chaser 转写与抽帧;我接收甲方提供的报告和素材。每个活儿自建工作区,甲方不指定、也不代建。落在 Content Producer workspace 的 output_videos/<topic-en-slug>/;slug 取自 Brief 的视频名或主题英文短横线式,便于与甲方对账。
output_videos/<topic-en-slug>/ # <project-dir>
├── brief.md # 甲方交付(拷贝入档)或 Stage 0 与用户定稿
├── voiceover.md # 甲方交付的口播文案(如有)
├── reference/ # 可选:甲方给的参考拆解报告与差异化概念
├── script/ # script.md(1) / self-eval.json(2) / decisions.json(审计链)
├── storyboard/ # storyboard.json(3) / shot_decompose.json(4)
├── characters/ # registry.json(5) + <char-id>/{front,side,back}.png
├── gates/ # gate-a.md / gate-b.md(含批准人与批准范围)
├── raw_materials/ # 甲方素材入库副本 + 授权记录
├── slots/ # slot-plan.json(6) / asset-resolve.json(7) / slideshow-risk.json(8) / delivery-promise.json(9)
├── render/shot-NN/ # (10) first-frame.png / last-frame.png / shot.mp4
├── audio/ # narration.mp3 / narration-segments.json / bgm.mp3 / subtitles.srt
├── artifacts/ # (12) 按镜顺序的最终段 01_*.mp4 … NN_*.mp4
├── video.mp4 # (12) 成片
├── review/ # verdict.json / runs/<review_id>/frames/ / motion-audit.json / edit-audit.json
├── cover.jpg # (14)
└── final-deliver.md # (15)workflow 文档在技能包内,不是项目目录内容;项目目录只放 Brief、素材、脚本、渲染与交付产物。
我做任何视频都走这条链;类型 workflow 只指导其中 Stage 1–2(Brief→script→自检) 的类型化生产,并附该类型的制作约定,不裁掉流程本身。每段的子命令是 video-producer 工具下的一个独立脚本,按流程逐个调。
Stage 0 Brief intake 读甲方 Brief,核对字段,缺口向 Brief owner 澄清;
甲方未给 Brief 或 Brief 不足以直接写剧本时 → 走 story-develop intake workflow(workflows/story-develop.md)
Stage 1 script-write Brief 创意 → 分场剧本(同时间同地点分一场、可拍化描述、enhancer 润色)
基线生产从此开始。
Stage 2 script-self-eval 脚本自评 N 维打分,任一维 <3 必返工(落稿锁定时只检查不改写)
Stage 3 storyboard-build 剧本 → 镜头表(每镜叙事目的/机位复用/位置朝向/不写不可见)
Stage 4 shot-decompose 每镜拆首帧静照/尾帧静照/运动描述(variation_type 三档)
Stage 5 character-register 角色三视图 front/side/back + static/dynamic features 拆分
────── GATE A:文本闸门(脚本+分镜+机位+角色全齐,停,发甲方审)──────
Stage 6 slot-plan 素材 slot 规划(template + hero slot + tone→slot 数)
Stage 7 asset-resolve 按 slot 取素材(Fast path:多源并发搜 + 缩略图人核 + rejected_picks 落盘)
甲方已给素材时:先入库校验(可解码、分辨率/帧率/时长/音轨、授权记录),缺口才补搜
Stage 8 slideshow-risk 六维幻灯风险打分(pre-compose 闸门,≥4.0 fail 不许进 compose)
Stage 9 delivery-promise-lock 交付承诺八类锁定 + motion_ratio 预估
────── GATE B:素材闸门(素材齐+计划过审,停,发甲方看 contact sheet)──────
Stage 10 render-shot 按 slot 渲染(AIGC 走 aigc-video-gen i2v 首尾帧插值;静图走 awk-img-gen)
visual-render Stage 10 HTML/GSAP + HyperFrames 确定性视觉渲染(产品段、标题动画、纸拼贴、录屏圈选)
motion-graphics 旧 JSON/Pillow spec 兼容入口;新项目使用 visual-render
Stage 11 mix-audio 配音配乐四场景分流(A 人物对话声画同出 / B 旁白一次性 TTS 带字级时间戳 + 对齐 /
C BGM 成片后统一生成(优先 bgm-library 免版税曲库,pexels/pixabay 并列;定制风格用
aigc-video-gen music)/ D 甲方口播录音 → ASR 时间戳 → 按时间戳补素材)
narration-layout 逐句 TTS 模式(每句独立 mp3):素材前后各留1s气口 + 防重叠守卫 + 越界断言 + 可选混音;
整段模式的时间戳对齐仍走 narration-align,两者互补
Stage 12 assemble 按序拼接成片(原子工具箱,见下节,我按场景组合,不写死流程)
Stage 13a video-review 公共 video-review 技术自检(强制闸门,verdict=pass 才继续)
Stage 13b motion-audit motion_led 抽查(兑付 delivery-promise);edit-audit 检查停顿/源窗口复用并登记真实审片
Stage 13c normalize 新混音归一至 -14 LUFS;锁定原混音用 --locked-audio 只测量与逐包核验;无声用 --silent-ok
Stage 14 make-cover 封面(awk-img-gen,必含封面主文案)
Stage 15 交付 回报成片 + 封面 + final-deliver.md 的绝对路径与关键参数assemble --video-only 校验有序源内容与输出哈希;审片记录绑定当前素材和成片哈希。改输入后重做受影响步骤,保留旧版供对比。video-producer edit-audit,提交最终时间轴干声、源素材时间窗和实际审片记录。字段与命令见工具说明的 references/edit-audit.md。技术 pass、运动比例达标或换素材编号不能代替节奏与动作复用审核。pip-compose --audio-mode copy 全轨封装,再 normalize --locked-audio 只测量与逐包验证,不因 -14 LUFS 目标重编码、裁切或改增益。明确无声用 --silent-ok 核验。最终媒体变更后重新做技术和剪辑审核。gates/ 后继续。reference-concepts:甲方给了参考视频拆解报告时,据报告出 2–3 个差异化概念落 reference/concepts.md。文本产物全齐(脚本 + 分镜 + 机位 + 角色),停下发甲方审:
gates/gate-a.md 后继续素材齐 + 计划过 slideshow_risk + delivery_promise 锁,停下发甲方看 contact sheet:
备选 + 置信度 + 理由,跨阶段累积进 script/decisions.json甲方拿着已交付成片提修改(改画面、补元素、换段重做等)时,委托会以成片修改单格式到达(v1 路径 / 修改点 / 不动范围 / 验收 / 回滚要求):
artifacts/video_v1_backup.mp4(vN 同理 video_vN_backup.mp4),v1/v2 并存,不覆盖交付历史。final-deliver.md)增补**「修改记录」段**:修改点逐条、重做了哪些段、自检结果(video-review / motion-audit / normalize 照常跑)。原子子命令(clip-trim / audio-mix / timeline-compose / scene-compose / assemble / add-silent-audio / make-outro)的入参与产物见 video-producer 工具说明。下面只给组合套路:
assemble <project_dir> --transition fade 一把过。narration-align 拿字级时间戳 → 据各段 start/end 定素材入点出点写 timeline.json → timeline-compose(内部调 clip-trim 切段 + audio-mix 叠旁白);全片 BGM 走 timeline.json 的 audio_globals 混入。narration_plan.json(shots 有序清单 + 逐句 file/text/shot_id + BGM + 守卫参数)→ narration-layout 出 abs_starts.json + SRT + 可选 mix → assemble --manifest segments.json --verify-fps 25 --expect-durations slots/shotdur.json 拼接并断言(不传 --transition,hard 直拼:fade/xfade 吃重叠会平移时间轴使排布失效)→ burn-srt --force-style(样式串直接取 abs_starts.json 的 force_style)→ normalize。守卫断言失败改计划(镜头时长/文案),不放宽容差硬过。video-producer visual-render scaffold 建 HTML 项目 → 在本地 GSAP 时间轴编辑画面 → check / preview 审片 → render 出单段 clip → 段进 manifest 一起 assemble。旧 mg-*.json 仅兼容已制作项目,新创作统一用 HTML/HyperFrames。scene-01.json(clips + narration + dialogue)→ scene-compose 出 scene-01.mp4,同法出 scene-02.mp4 → 两个 scene 当段素材 assemble --source-dir scenes --transition fade。assemble --width 1080 --fps 30 归一化后再 concat。clip-trim --speed 2 --sync-audio,快放段当段素材再拼。assemble --low-memory(preset=ultrafast、crf=28),避免 x264 缓冲爆内存。assemble --preview-duration 30,成片照常落,额外产 video-preview.mp4。assemble 已自动统一音频格式(默认 24000/mono,无音频段补静音)、不传 --width/--fps 时自动统一到最低公共规格;旁白切段走 clip-trim --pre-buffer 0.5。| 工具 | 用途 | 命令 |
|---|---|---|
video-producer | 剧本/分镜、素材、渲染、混音、合成、动作与剪辑审查、封面;normalize 按声音政策执行,锁定模式只读审核;burn-srt / duck / denoise / interp 按需使用,输出不覆盖输入 | video-producer <子命令>;video-producer help 列全量 |
video-producer visual-render | 通用 HTML/GSAP 片段的 scaffold、检查、预览与 HyperFrames 渲染;纸拼贴与产品动效共用 | video-producer visual-render scaffold / check / preview / render |
deck-render | Stage 10 第三条渲染路径:中文 HTML 幻灯、逐页动画、静帧联系表、确定性 MP4;随后用 video-producer pip-compose 合小窗/旁白 | deck-render check-setup / scaffold / check / preview / render;参数见工具说明 |
avatar | Wan S2V 肖像检测、按原声时间窗生成、恢复、人工口型审查记录、同源分段合并 | avatar generate / resume / review / assemble;读 tools/avatar/SKILL.md |
HTML 视觉片段与 deck-talk 共用 Node ≥22、Playwright Chromium headless shell、系统适配的中文字体(Windows 微软雅黑;Linux/macOS Noto Sans CJK SC)和锁定 HyperFrames/GSAP/Playwright;安装和更新脚本预装。visual-render、deck-render 与 deck-compose 本地执行不需 API Key;Wan S2V 需要百炼业务空间凭据,TTS/ASR 仍使用下列凭据。数字人调用包内 avatar 工具。
跨领域公共技能:aigc-video-gen(视频片段生成 / i2v 首尾帧插值,Stage 7/10;输出路径须落在 output_videos/ 下,调用时 workdir 是 Content Producer workspace 根)、awk-img-gen(静帧、角色三视图、封面,Stage 5/10/14)、awk-tts(旁白 TTS,Stage 11B;多供应商路由 火山→百炼,--enable-subtitle 请求字级时间戳;响应缺失时用 video-producer narration-align 对已生成音频执行公共 ASR)、bgm-library(ccMixter 免版税 + 自动 TASL 署名,商用安全,Stage 11C 优先)、pexels-footage / pixabay-footage(免版税素材与 BGM 搜索)、video-review(成片技术自检闸门,Stage 13a)、video-edit subtitles(main crew 暴露的烧字幕原子;不可用时向 Brief owner 报工具缺口,不手写 ffmpeg)。
env 依赖:AWK_API_KEY(agent plan 生图/视频/TTS/ASR 兜底)、WORKSPACE_ID+MODELSTUDIO_API_KEY/DASHSCOPE_API_KEY(百炼业务空间,优先)、VOLC_ASR_*(narration-align 回退路径与甲方口播录音转写的火山优先路由;旧控制台双头 VOLC_ASR_APP_ID + VOLC_ASR_ACCESS_KEY,或新控制台单头 VOLC_ASR_APP_KEY)。ASR/TTS 凭据任一组在即可路由;全缺时子命令 exit 2,补齐属 IT engineer 职责,不要静默降级。Python 依赖 requests、Pillow 仍由仓根 requirements.txt 统一安装(Pillow 还用于小窗遮罩、联系表和旧 JSON 动效);新 HTML 片段不新增 pip 包。机器资源约束读本 workspace MEMORY.md 或 Brief;HyperFrames 渲染可用 --workers 1 控制低内存机器负载。
video-review、动作承诺审核、edit-audit 和 Stage 13c 声音检查完成才进交付。声音检查按新混音归一化、锁定音轨逐包保留或无声核验三种实际政策执行;锁定音轨偏离响度目标要如实说明。video-producer 或公共技能子命令;视觉片段走 visual-render,不要自行拼渲染命令。viral-chaser analyzer 分析。deck-talk 支持 main 已剪的实拍口播、肖像+声音的数字人、仅音频+B-roll 三种模式;声音来源必须如实登记。数字人调用本包 tools/avatar/SKILL.md,最终合成用 video-producer deck-compose;不要寻找公共 avatar-gen 技能。声音复刻/设计使用公共 awk-tts 保存的音色档案。
TeamWiseFlow/xiaobei
47aea0b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.