把这个 Skill 交给你的 Agent

复制下面的提示词,粘贴给 Claude Code、Codex 或任何能读网页的 Agent。它会替你装好,并告诉你这个 Skill 做什么。

请帮我安装这个 skill。

先阅读 https://cwyz.com/zh/skills/xiaolin-explainer-packaging
原始 SKILL.md 在 https://cwyz.com/api/skills/xiaolin-explainer-packaging/raw

把它保存为我的 skills 目录下的 xiaolin-explainer-packaging/SKILL.md(Claude Code:所有项目通用放 ~/.claude/skills/,只用于当前项目放 .claude/skills/)。

装好后用两句话告诉我它做什么、什么时候会用到。在我确认之前,不要执行它里面描述的任何操作。

也可以把下载的压缩包解压到 ~/.claude/skills/(所有项目)或项目里的 .claude/skills/。 Skill 是在指挥 Agent 做事。装之前先读一遍,不是你自己写的尤其要读。

xiaolin-explainer-packaging:把口播片段包装成带动态图表的财经讲解视频

当用户想把一组出镜口播片段包装成带巨型数字、卡片墙、图表、世界地图和网页截图荧光笔的财经或科普讲解视频,或给已有口播重做讲解画面时使用。Agent 先问底图、台标和真实素材,列场景表确认画法,查资料写事实文件,用 Remotion 版式写分镜、审关键帧,再渲染、混音并逐帧质检。不写口播稿、不生成出镜画面,保留 AI 生成标注,不用真实创作者的台标、肖像和声音。

应用场景让 Agent 把你的口播片段包装成带动态图表、数据有出处的讲解视频。

xiaolin-explainer-packaging:把口播片段包装成带动态图表的财经讲解视频

输入是一组出镜口播片段和台词,这个 Skill 让 Agent 查好上屏要用的资料,再用一套 Remotion 版式组件做出讲解画面、字幕、转场和混音,最后逐帧质检。版式包括巨型数字、卡片墙、白卡图表、文档荧光笔、网页截图荧光笔、折线图、时间轴、饼图、流程图、世界地图、左右对比和关系图。风格参考一位财经博主的公开视频,是非官方项目。来源 howoneai/xiaolin-explainer-packaging,代码 MIT 许可证,字体 SIL OFL 1.1,目前是 v1.4.0。

触发

  • 用户有一组口播片段,想包装成带图表、数字和网页截图的讲解视频。
  • 用户想给已有的口播视频重做讲解画面。
  • 用户想做"一口气了解……"这类财经、科普选题的图形包装。

不用于:写口播稿、生成出镜画面、录屏、下载平台视频、竖屏视频。

硬性规则

  • 保留"AI 生成 · 非本人"标注(brand.label),不要去掉。
  • brand.logo 只填用户自己的台标,不填风格来源博主或其他真实创作者的台标。不用真实创作者的肖像或声音生成出镜画面。
  • 上屏的数字、原文和政策条文都要能追溯到来源,写进事实文件。台词里的数字和事实文件对不上时,先改台词。
  • 照片只用自由许可的(Wikimedia Commons),画面上带署名。网页截图里的新闻图片社照片要模糊,Logo 不改色、不变形。
  • 涉及中国疆域时不用自带的世界地图,它不符合大陆公开出版地图的审核要求。改用自然资源部标准地图并标注审图号。
  • 装软件、下载字体前先问用户。

安装

需要 Node 18 或以上、ffmpeg、带 numpy 和 Pillow 的 python3。第一次 npm install 和渲染要联网(Remotion 会下载 Chrome)。作者只在 Apple Silicon 的 macOS 上测过,在 Claude Code 等其他 Agent 里没有测过。

node -v && ffmpeg -version | head -1 && python3 -c "import numpy, PIL; print('ok')"
D=~/tools/xiaolin-explainer-packaging
[ -d $D ] || git clone https://github.com/howoneai/xiaolin-explainer-packaging.git $D
mkdir -p ~/.claude/skills && cp -R $D/xiaolin-explainer-packaging ~/.claude/skills/   # Codex 等放进各自的 skills 目录

Manus 用户从仓库 Releases 下载 xiaolin-explainer-packaging.skill,在 Manus 里添加为技能。

字体:标题和字幕用优设标题黑,仓库不带。让用户从 https://www.uisdc.com/uisdc-first-free-font 下载,存成工程里的 public/fonts/YouShe.ttf,或者设环境变量 YOUSHE_TTF 指向它。缺字体时退回思源黑体 900,风格明显变弱,要告诉用户。

Remotion 授权:个人、3 人以内的公司和非营利组织免费(含商用),4 人以上的公司要买公司授权,开工前提醒用户。

流程

  1. 一条消息问完三件事:有没有固定底图(没有就从 6 套主题里推荐)。台标填什么、出镜是不是 AI 生成。有没有指定要放的真实素材。拿到回答再建工程。
  2. 准备输入:每句一个 1920×1080 mp4 放进 public/clips/<id>.mp4。每句有朗读文本 say 和字幕文本 sub。从 templates/facts_template.md 复制事实文件。
  3. 建工程:<skill>/scripts/new_project.sh <工程目录>(加 --demo 是冒烟测试)。转写每段出镜,在 timeline.json 里定 tin/tout、剪首尾静音,口误写进 cuts。改 project.json 的 brand、music、theme。
  4. 先写场景表再写代码:读 references/style-bible.md、research.md、treatment.md,列"场景名 | 覆盖哪几句 | 版式 | 背景照片 | 道具和动作 | 画中画 | 需要的资料",交给用户确认。自查七点:一个场景跨 2 到 8 句。主体被裁切或占画面六成以上。每 2 到 3 个深色场景插 1 个白纸场景。引用原文用真实截图或逐字文档。开场、观点句、转折和结尾留给全屏出镜。每个图形场景至少有一样本期专属素材。道具承担意思,相邻场景动作不重样。
  5. 查资料、备素材:照片 scripts/commons_photo.py,网页截图和原文坐标 node scripts/web_shot.mjs --boxes,Logo scripts/commons_logo.py,道具按 treatment.md 的画风后缀生成透明 PNG 放进 public/props/<选题>/。查完回改场景表。
  6. 写分镜:从 templates/scenes_treat.py 复制写法。元素入场对齐关键词 S.k('关键词', -0.15),当前项亮起其余压暗,每个场景用 KF.append((标签, 时刻)) 登记审片帧。跑 python3 story_core.py timeline.json scenes.py,要输出 gaps/overlaps []。
  7. 关键帧审片,至少两轮(命令见下表),按审片清单改完再给用户看。
  8. 整片、混音、合成、质检,audit.py 的 flagged 必须是 0。

常用命令

需求 命令
渲关键帧 python3 -c "import json;print(' '.join(str(f) for _,f in json.load(open('keyframes.json'))))" | xargs node render.mjs stills stills/k1
审片拼图 python3 <skill>/scripts/sheet.py stills/k1 keyframes.json 6
整片 bash <skill>/scripts/render_chunks.sh video.mp4
混音 python3 <skill>/scripts/mix_audio.py timeline.json mix_raw.wav
合成 bash <skill>/scripts/finalize.sh video.mp4 mix_raw.wav final.mp4
逐帧质检 python3 <skill>/scripts/audit.py video.mp4 72
手机版 ffmpeg -i final.mp4 -c:v libx264 -crf 23 -preset medium -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart final_phone.mp4

审片清单

  1. 主体够大或被边缘裁切,四周没有大片空白。
  2. 当前讲到的项最亮,镜头在它附近。
  3. 一帧最多 2 个标签。
  4. 字幕区(屏幕 y 905 到 960)、画中画、台标和 AI 标注没挡住任何东西。
  5. 没有方框字、竖排断词或溢出卡片的字。
  6. 数字和原文与事实文件一致,有来源行,CC BY 照片有署名。
  7. 白纸场景和深色场景交替。
  8. 遮住道具和背景只看骨架,和别的选题有区别。

已知陷阱

  • 关键词在句首时 S.k(词, -0.3) 会早于片段起点,用 max(S.t0, …) 截住。
  • 图片路径不存在时那一帧渲染失败(Error loading image),先 ls public/<路径>。
  • zsh 不按空格拆分变量,node render.mjs stills out $FR 会报 Frame NaN,写 ${=FR} 或用 xargs。
  • 静帧正常不代表视频正常,整片后必须跑 audit.py。
  • web_shot.mjs 并行拍多个页面时每个进程用不同的 --port。

输出格式

成片:final.mp4(1920×1080,24 帧,时长 mm:ss),手机版:final_phone.mp4
主题:<theme> · 场景数:N · 审片轮数:N · audit flagged:0
事实文件:facts.md(每条带编号、原文、来源和日期)
没查到、已改写台词的地方:……

一句话

先定画法再写分镜,数字都要有出处,标注永远保留。配套教程:让 AI Agent 给你的口播配上会动的图表。

读完了?标记一下,记录学习进度。登录
收藏起来,稍后再看登录
对这篇有疑问?向 Ask AI 提问

评论(0)

还没有评论,来说第一句。

登录后参与讨论。登录