mcpField
E
explainer-vertical-noticias

explainer-vertical-noticias

github.com/guillebe其他07 次安装1 天前更新
代码仓库

关于 explainer-vertical-noticias

Explainer vertical noticias 是制作 20 秒竖屏新闻解说视频的技能,设有三个由人审核的检查点。它指导来源记录、定时脚本、分镜、渲染和对抗式审查,编辑决策由人作出。

主要功能

  1. 01记录来源并核实变化中的数据
  2. 02起草定时脚本并等待审核
  3. 03创建并审查分镜版本
  4. 04渲染并检查音频与可读性
  5. 05记录修改和审查结果

适用场景

  1. 01根据新闻报道制作竖屏短解说
  2. 02报道数据变化后更新视频
  3. 03发布前审查渲染后的解说视频

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/guillebe/explainer-vertical-noticias --skill explainer-vertical-noticias

安装后在 Claude Code 中输入/explainer-vertical-noticias确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
critico.md
footage.md
sonido.md
scripts/
buscar_commons.py
medir_nivel.py

详细介绍

垂直新闻解读短片

一支由 Agent 制作的 20 秒新闻短片,由一名人员在三个检查点把关。它是在 Media Party Buenos Aires 2026 工作坊中,通过迭代两个解读短片制作出来的:巴拿马地震(从 v4 到 v12)以及托莱多 Urda 的火车相撞事故(从 v1 到 v7)。

核心思路:Agent 负责多轮制作和检查;人员负责把握编辑标准,并在检查点作出决定。没有任何自动检查能发现内容错误,因此必须始终对渲染结果进行对抗性审查。

开始之前

  • 加载 hyperframes 技能(这是合成和渲染的必备入口),并在编写 HTML 前阅读 hyperframes-core。
  • 如果项目指定了 HyperFrames 版本,就使用该版本。
  • 如果项目有自己的规范(风格、质量参考),请在编写脚本前阅读。

工作流程

0. 新闻和数据(source.md)

在示例文件夹中创建或更新 source.md:包含新闻链接、日期和作者;将每项拟在画面中呈现的数据对应的原文引文(从网页 HTML 复制,不要改写);官方数据;以及不同来源之间的差异。审查者会据此核对每个数字,因此必须在编写脚本前准备好。

留意日期:如果统计数据是几天前的,短片必须说明数据日期(「Sinaproc,第二份报告(10/10)」)。不标注日期就展示旧统计数据,会让开场钩子产生误导。

  • 数据会在制作过程中变化。 统计数据可能每小时更新,官方报告也可能隔天才发布(在火车相撞事故中,调查机构的首份报告修正了速度,而 v7 完成两小时后又更新了两次时间)。每次渲染前都要重新核实每个数字;如果数据有变,就制作新版本,旧版本保留当时的数据。
  • 核实署名。 作者信息位于 <meta name="author"> 或可见署名中;JSON-LD 有时会把照片署名者标成作者。
  • 注明估算数据的来源(「≈ 200 km/h · 部长估算」);如果之后有更可靠的来源,就替换。
  • **不要混淆不同概念,**即使它们使用相同单位也不行:规章上限(40 km/h)不等于该路段的最高速度(80 km/h)。
A. 分镜脚本(检查点 A)

提出一张 t · 画面内容 · 文本 表格,并等候确认后再编写代码。根据审查意见总结出的规则:

  • 只讲一个要点。 v5 在 20 秒内塞进了九条数据,结果一条也没讲清楚。日期、规模或核心事件、地点,以及一组后果,已经足够。
  • 找出能讲清故事的数据。 有时关键在于对比:「规章要求 40 km/h;AVE 列车速度约 200」比单独说规章更有信息量。
  • **开场钩子必须包含完整的数据和日期,**并从第一帧开始显示。没有文字时,观众可能会把素材画面的前半秒理解成别的内容。
  • **阅读时间:**每段文字至少显示 0.5 秒 + 每个词 0.3 秒。20 秒短片总计约 50 个词。
  • 不要在同一张图表中混用不同单位(「受影响住房」、「住宅」、「部分受损住房」不能相加或比较),也不要编造新闻中没有给出的总数。
  • **遵循新闻稿的重点:**如果新闻稿突出某个省份,图表就不能把它放在最后。
  • **结尾用新闻稿能回答的问题收束,**并附上新闻链接。
视频素材和其他材料

阅读 references/footage.md。概要:使用 scripts/buscar_commons.py 搜索(查看素材信息中的许可、日期、地点和作者),只使用能展示新闻所述内容的镜头;如果某个镜头的地点和日期未经核实,就不要使用。如果用户决定将有版权的材料用于内部用途,请在 source.md 中记录,并在发布仓库前提醒。每次下载前都要征求许可,并提供文件、来源和大小。

B. 分镜(检查点 B)

写好合成内容,运行 hyperframes check(0 个错误),并用 hyperframes snapshot --at … 为每个场景截取一帧。将它们保存为 storyboard/vN-escena-K.png(绝不要删除该文件夹:里面有之前版本的图片)。展示这些图片,指出你自己看到的问题,然后等待反馈。工作坊的反馈格式为 t=… · 位置 · 问题 → 修改。

迭代过程中总结出的合成规则:

  • 数值一开始就以最终值呈现(缩放或不透明度)。计数器在计数时几乎总是在显示错误数值,而且截图可能会截到任意一个数值。
  • 全国性数据不要放在具体地点的照片上:这会让人以为数据属于该地点。
  • 节奏应体现在每个场景内部(每 1 或 2 秒有元素进入、绘制或移动),而不是靠增加剪辑和数据来营造。
  • 图表应随旁白绘制,并采用固定样式:纯色背景、强调线、带单位的标题、底部标注来源。
  • 署名和来源文字至少 30 px,并置于安全区域内(文字位于距顶部 260 px、距底部 480 px、距右侧 180 px 的范围内)。
  • 竖屏中应完整呈现横屏画面,并放在设计好的横条之间,不要裁剪成 9:16(会出现像素化),也不要放在模糊填充背景上(显得廉价)。裁掉频道水印。
  • 装饰性内容不能像正式文件:地震仪曲线或说明性图表不要带坐标轴和数值,也不要做得像真实记录。
  • 示意图要么保持示意图风格,要么采用具象风格,不要介于两者之间。 在火车相撞场景中,信号示意图的效果很好:一条线表示轨道,带编号的线条表示列车,信号灯显示红色。只标注资料中提供的信息,并注明「示意图 · 位置为近似值」。
  • 运动效果必须符合数据。 列车在碰撞前加速会与速度记录矛盾;车辆在场景之间突然变换位置也一样。
  • 不要在两个相同背景之间剪切。 如果后续数据属于同一个示意图,就把它加入图中(例如在轨道上加一个限速标志),而不是切换到单独的信息卡。
  • 安全区域取决于发布平台。 发布到社交媒体时,所有内容都应在安全区域内;如果不发布到社交媒体,来源和署名可以放在画面底部。
音效

阅读 references/sonido.md。事件现场的真实音频应优先播放,音乐音量应低于现场音频,所有音频均应标准化至 −14 LUFS。手机无法播放约 110 Hz 以下的低频:应测量可听频段,而不只是响度。

如果媒体发布了事件现场音频(录音、通话),下载前先征得许可,注明出处,并在屏幕上标注说话人及其发言内容。必要时延长场景,确保完整呈现整句话:片段可以超过 20 s。

C. 渲染、音量和评审(检查点 C)
  1. 渲染为 <ejemplo>-vN.mp4,并使用新的版本号。渲染会将帧保存到磁盘(20 s 视频约占 1.2 至 1.4 GB):如果因空间不足而失败,请使用 --workers 1,它会在捕获画面的同时进行编码。
  2. 运行音量检查:
    python3 scripts/medir_nivel.py <ejemplo>-vN.mp4 --html index.html
    
    如果某个元素静止超过 2 s、文本显示时间短于阅读所需时间、响度偏离 −14 LUFS 太多,或者有整秒没有手机可听的信号,则检查会失败。检查会报告剪辑点,但不会强制要求调整:在地震视频的 v5 中,为了追求剪辑点反而降低了可读性。
  3. 使用一个没有参与视频制作的新 Agent 进行对抗性评审。评审说明见 references/critico.md。
  4. 向用户展示视频、与上一版本相比的指标,以及评审者指出的 P0、P1 和 P2 问题。必须修复 P0;P1 和 P2 由用户决定。
版本与记录
  • 每次更改都要创建新版本:index.html 是工作副本;旧版本放入 versiones/index-vN.html(路径使用 ../),渲染文件命名为 <ejemplo>-vN.mp4,并在 source.md 的“版本”部分添加一行。绝不要覆盖已有的 -vN 文件,也不要留下未编号的 MP4。
  • 在 source.md 中也记录:新素材的许可证、日期、地点和 URL;每位评审发现的问题;以及经验教训。这些记录能让其他人或 Agent 接手工作时不必重复踩坑。
  • 未经用户同意,不要提交或推送。不要上传缓存(.media/)。

此 skill 不做什么

它不能取代编辑判断:由相关人员决定讲述什么、批准脚本和 P1。它也不会核实源文章的内容;它核实的是视频是否与文章所述内容一致。

评论

支持 Markdown