Community编程与开发github.com

Anshgrover23/产品演示剧本

Showreel:你的编码智能体制作你的产品演示视频。包含智能体技巧、模板和完整手册。

产品演示剧本 是什么?

这个智能体技能(Product Demo Playbook)能够将仓库中的应用程序转换为一个带字幕、评分的逐帧完美演示视频,全程仅使用 Node.js、Playwright 和 FFmpeg。其核心优势在于管道是完全确定性的:整个演示可以从干净的检出开始重新渲染和重新评分,确保每次结果一致。该技能支持 Claude Code、Cursor、Codex 等 AI 编码工具,通过八个步骤(脚本、独立 UI、合成、录制、字幕与画外音、音效、音乐、合成)逐步处理。其中步骤 1-4 是核心,步骤 5-8 可选但对发布级质量是强制性的。技能遵循严格的决策规则,如使用真实数据(诚实数据)、消除淡入淡出效果、永不屏幕录制,并强制生成两个版本(带字幕和纯净版)。它还提供可恢复的运行跟踪(通过 PROGRESS.md)和详细模板(如 record.mjs、mix-audio.mjs),确保管道支持断点续传。用户只需在关键时刻提供人工输入(如脚本批准、语音文件路径、音乐提示),其余工作由智能体自动完成。参考输出包括多个真实项目演示,如 Vouch、Excalidraw 等。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add Anshgrover23/product-demo-playbook

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

产品演示

将本仓库中的应用程序转换为带评分、带字幕、逐帧完美的演示视频, 仅使用 Node + Playwright + FFmpeg。流水线是确定性的:整个演示 可以从干净的检出中重新渲染和重新评分。

流水线顺序

步骤配方输出
1. 脚本01-script.md场景表、画外音台词(含时间码)、节奏网格
2. 独立 UI02-standalone-ui.md从静态文件夹渲染的应用组件
3. 合成03-composition.md一个作为时钟纯函数的 React 树
4. 录制04-record.mdPNG 帧 → 视觉无损 H.264 母版
5. 字幕 + 画外音05-captions-vo.mdSRT/VTT 侧边字幕、带时间码的画外音脚本
6. 音效06-sound.mdsfx-cues.json、实时预览播放器、自动混音器
7. 音乐07-music.mdEQ 雕刻、闪避的背景音乐,从节拍开始
8. 合成08-assemble.md片头 + 过渡 + 音轨 → 最终导出

按顺序执行各步骤;每个步骤都消耗前一步的输出。步骤 5-8 对于静默草稿是可选的,对于发布级质量是强制性的。

一个启动提示即可运行所有内容

当用户请求演示时,自己编排所有八个步骤。不要 将步骤列表交给用户或告诉他们使用下一个提示返回。 相反,在对话中直接询问用户,恰好在那些你 需要只有他们能提供的内容的时刻,并附上使问题在几秒钟内可回答的产物:

  1. 步骤 1 之后:显示场景表和画外音脚本,在编写任何代码前 请求批准。重新定时脚本成本低;重新定时已渲染的电影则不然。
  2. 初步渲染之后:显示 4 个关键帧,在长时间完整渲染前 请求继续。
  3. 步骤 5:移交已准备好粘贴的带标签画外音块(其中没有同步说明), 并请求生成的音频文件路径。
  4. 步骤 7:移交你编写的音乐生成器提示,并请求生成的 文件路径。如果用户更愿意一次访问工具,这两个请求可以与步骤 3 的请求分批处理。
  5. 评分预览之后:提供一小段以供试听,然后再导出最终母版。

在请求之间,无需确认直接继续。如果用户拒绝 可选资源(语音、音乐),则跳过它继续,而不是停滞。

进度跟踪(可恢复运行)

在目标仓库中维护 demo/PROGRESS.md:每步骤一行,包含 状态(待办 / 进行中 / 完成)以及生成的产物路径。在每次会话中首先 读取它;半完成的流水线从上次的问题处恢复,而不是重新开始。 在每步骤后更新它。

决策规则

  • 用户没有脚本或故事 → 从 01 开始。永远不要从编写代码开始。
  • 用户有卡顿的视频 → 仅步骤 04(逐帧录制可解决此问题)。
  • 用户想要在现有视频上添加音效/SFX → 步骤 06(提示文件 + 混音器),如果需要音乐则接着步骤 07。
  • 用户的演示“感觉不真实” → 01 和 03 中的诚实规则(真实数据、对账总计)。
  • 用户询问时长/结构 → 45-60 秒,每场景一个主张,约 6 个场景, 弧线:问题 → 亮点 → 魔法 → 交互 → 证据 → 品牌。
  • 语音克隆听起来缓慢平坦 → 05 中的修复方法。
  • SFX 延迟或埋没 → 06 中的测量命中偏移 + 峰值归一化。

不可协商项(即使未询问也要强制执行)

  1. 诚实数据。 固定数据必须真实:真实物品、打印价格、对账 总计。永远不要编造更整齐的数字。
  2. 无淡入淡出。 所有元素都是盖章、滑动、撕裂或快切。淡入淡出 读起来像道歉。缓动最多存在于 3 个共享辅助函数中。
  3. 永不屏幕录制。 通过寻址合约逐帧渲染(04)。
  4. 没有声音胜过强迫的声音。 每分钟最多约 10 个提示,每 个故事转折一个,不要连续重复。
  5. 两个母版。 字幕内嵌版 + 纯净版,通过 window.__NO_CAPTIONS 标志从同一合成生成。
  6. 无纯黑背景。 每个黑暗场景都位于产品自己的艺术品或 壁纸上,模糊并调暗;第一帧就是缩略图。 纯黑色仅在产品真实表面为黑色时使用(03)。

模板

工作脚本位于 templates/:record.mjs(确定性 Playwright 帧渲染器,可恢复)、mix-audio.mjs(基于提示的 ffmpeg 混音器;--vo 用于重定时的画外音音轨,--bgm 用于背景音乐)、 retime-vo.mjs(在静音处剪切生成的朗读内容,并将每个 短语放置在其作者时间码上)、sfx-cues.example.json(真实的 10 提示乐谱)、 package.json(npm 脚本)。将它们复制到目标仓库的 demo/ 目录中,并根据需要调整 路径;每个配方都会说明何时执行此操作。

互补技能

如果目标仓库使用 Remotion 或 ElevenLabs,也安装它们的官方 技能;本技能涵盖流水线和品味,它们涵盖各自的 API:

npx skills add remotion-dev/skills
npx skills add elevenlabs/skills

用户收到的内容(除视频外)

两个可粘贴的产物,因此人工工作量正好是两个粘贴 作业:用于语音工具的带标签画外音块(05)和用于音乐 生成器的风格提示(07)。永远不要让用户编写其中任何一个。

参考输出

四个演示证明了流水线在无关产品上的有效性:Vouch 演示 (54.3 秒,收据拆分)、一个 Excalidraw 演示(35.5 秒,使用真实的 @excalidraw/excalidraw npm 组件拍摄,源代码在此仓库的 examples/excalidraw 下)、Asakiri Studio(54 秒,一个 Tauri+React 课程编辑器,使用 esbuild 捆绑的真实组件)、以及 Colosseum(54 秒,一个 Qt/QML Windows 媒体应用,根据其令牌及其自身截图重建的界面;参见 02 中的原生应用路径)。Vouch 仓库 github.com/Anshgrover23/vouch 包含 完整的可运行 demo/ 目录、合成、供应商运行时、提示文件、 字幕,作为参考实现。包含每个数字和失败的手册:https://anshgrover23.github.io/product-demo-playbook/

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能