用途:当用户想把口播(talking-head)剪辑映射到候选 B-roll 覆盖素材时使用,用于判断哪些口播节拍需要 B-roll、某个节拍匹配哪段最佳证明镜头、何时应保留 A-roll 而不切走、识别缺失的证明时刻,并为匹配结果附加关键词强调或运动提示元数据。若尚无可用 B-roll 素材库,应先使用 broll-catalog-builder,而非本技能。
主要能力:以字幕分块或剪辑节拍为单位构建 beat 单元,记录口播文本、时间、节拍角色与视觉需求;对每个节拍判断是否切走(保留人脸、支持性 B-roll、主要证明 B-roll、仅轻量视觉重置);对需要 B-roll 的节拍按语义契合、支持角色契合、证明强度、节奏契合、视觉清晰度、可用区间质量对候选排序,并给出通俗理由;最终打包为 broll-plan.json,含节拍元数据、B-roll 需求决策、候选列表、回退方案、关键词叠加建议与运动提示。可选输出 markdown 匹配摘要、节拍审阅表、候选排序表。
使用方式:必需输入为 normalized-transcript.json 与 broll-catalog.json,强烈建议提供 chunked-<mode>.json,可选 A-roll 语义分析、参考剪辑模式、目标平台、预期输出时长。首版脚本为 scripts/run_match_broll_plan.mjs,读取 chunked-<mode>.json 与 broll-catalog.json,把字幕分块视为节拍单元,从口播文本推断 beatRole 与 visualNeed,基于口播关键词、目录 semanticTags、supportRoles 的保守启发式排序候选,写出 broll-plan.json。示例:
node ${CLAUDE_SKILL_DIR}/scripts/run_match_broll_plan.mjs
--chunks /abs/path/chunked-basic.json
--catalog /abs/path/broll-catalog.json
--output <work-folder>/broll-plan.json
限制:不按关键词重叠单独匹配;不要求全自动时间线组装、NLE 导出、保证完美的语义匹配或动态图形渲染;匹配前需确认转录节拍含时间戳、目录候选含 semanticTags,缺失时直接报告缺失字段而非猜测;中间产物放在 <work-folder>/.postplus/broll-match-engine/ 下,仅最终 broll-plan.json 或审阅导出放在 .postplus/ 外;上游输入缺失或无效时应立即停止,不要改用临时 shell 拼接;若素材库缺少强证明镜头,方案应直接说明。输出应能让剪辑师回答在哪里切走、切到什么、停留多久、首选片段较弱时的回退方案。