Communitygithub.com

the-rehearsal

在重要会议前进行排练。预测对话走向,然后生成排练工具包——脚本、双人对话音频、带嵌入字幕的视频、字幕文件和可翻页的幻灯片。

the-rehearsal 是什么?

这是一个旨在帮助用户为高风险对话(如求职面试、销售谈判、投资者汇报等)做好准备的AI技能。它的核心流程是先预测会议可能发生的对话,再生成一套完整的排练工具包,包括脚本、音频、视频、字幕和幻灯片。技能支持通过脚本、音频和视频文件输出,适用于任何需要模拟对话、角色扮演或“会议预演”的场景。其工作原理是基于用户提供的事实信息(如简历、数据、批准的话术)预测会议双方可能的发言,并生成包含时间轴的双人对话音频和带字幕视频。技能还强调对事实的严格依赖,避免捏造答案,因此确保排练的真实性。它使用 edge-tts 生成语音,依赖 Chrome/Chromium 和 ffmpeg 渲染视频,不涉及付费API或密钥。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Arash-yazdani/The-Rehearsal-Skill/tree/main/skills/the-rehearsal

在你喜欢的 AI 中提问

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

文档

The Rehearsal

预测会议,然后让当事人在会议发生之前听到、看到并翻阅会议内容。

输出文件说明
预测script.md可能的对话,每行一轮对话,带有幻灯片标记
对话音轨out/rehearsal.mp3两方各自的声音
视频out/rehearsal.mp4每个对话部分一张幻灯片,与音频同步,字幕内嵌
字幕out/rehearsal.srt带说话人名称的句子级字幕
演示文稿out/deck.html离线的翻页版演示文稿;每个幻灯片显示该部分的准确台词

以下路径相对于本技能所在文件夹。请在自己的项目文件夹中工作(script.md、slides/、out/)。

1. 收集会议信息

在开始撰写任何内容之前,先收集以下信息:对方是谁(角色、背景、负责的内容)、会议目标、时长和形式、当事人自身的事实(简历、数据、计划、已批准的答复),以及对方可能会追问什么。阅读当事人已有的资料:通话记录、计划、研究报告、电子邮件、职位描述。

只询问那些会改变脚本的事实。如果问题是当事人必须根据自身经验回答的,则将其列为准备项;绝不要用编造的答案填充。排练只有在当事人的发言真实时才值得进行:排练中自信的编造数据在真实会议上也会变成编造数据。

2. 预测对话

按照 references/script-format.md 中规定的格式编写 script.md。

  • 按真实会议顺序排列:开场、对方框架、当事人背景、追问问题、当事人计划或提案、棘手问题、后续事宜、当事人提问、结束语。
  • 对方的发言是预测。在脚本文件头中说明这一点。如果可能编造关于对方公司的事实,则保持其发言笼统(例如“我无法透露具体条款”)。
  • 当事人的发言只能使用其提供的事实或其拥有的文件中的信息,以及其已批准的措辞(若有)。
  • 先给出答案,再提供一个例子,然后停止。对于大多数会议,每个答案一到三句即可。
  • 数字要按人们说话的方式书写(例如“500万”、“161%”),以便语音朗读自然。
  • 在每个对话部分的开始处添加 <!-- slide: id --> 标记:通常每个问题对应一个部分。
  • 在文件末尾附上准备列表:列出所有无法根据事实回答的问题。

可选的压力测试(在生成媒体之前):安排一到两位审阅者扮演对方和对方上级(如果可以启动子智能体),并对当事人的答案或计划提出批评。根据事实支持的范围应用修改;其余内容留给当事人自己处理。

3. 语音生成

pip install -r requirements.txt          # edge-tts, pydub;还需要安装 ffmpeg
python scripts/make_audio.py script.md out --voice "Dana=en-US-AvaNeural" --voice "Sam=en-US-AndrewNeural"

为两方分别指定明显不同的声音(edge-tts --list-voices 可列出可用声音)。脚本会生成 out/rehearsal.mp3 和包含句子时间信息的 out/timeline.json(用于字幕)。Edge 服务会随机丢失少数请求;脚本会自动重试。

4. 为每个对话部分绘制一张幻灯片

按照 references/slide-format.md 中的格式,为每个幻灯片标记编写 slides/<id>.html。每张幻灯片将其对应的部分转化为可视化内容:以问题为标题,然后以时间线、编号步骤、对比图、实际数字的柱状图、决策路径或术语表来呈现答案。将完整的对话内容逐字放入幻灯片的 <aside> 演讲者备注中。在当事人需要特别注意的地方添加标注(例如“准备:从同意到签约的时间线”),因为演示文稿也是学习辅助材料。

5. 渲染视频和演示文稿

python scripts/render_video.py slides out --fonts "https://fonts.googleapis.com/css2?family=..."
python scripts/build_deck.py slides out --fonts "https://fonts.googleapis.com/css2?family=..." --title "排练:<会议名称>"

render_video.py 需要 Google Chrome 或 Chromium(如果未找到,请设置 CHROME= 环境变量)以及带有 libass 构建的 ffmpeg。--fonts 参数指定幻灯片使用的 Google Fonts 的 URL;如果幻灯片使用系统字体则可省略。如果 Slides 构件类型可用,同一组幻灯片文件可以发布为一个可分享的演示文稿。

6. 检查并交付

  • 为每张幻灯片抽取一帧画面(ffmpeg -ss <秒数> -i out/rehearsal.mp4 -frames:v 1 frame.png)并检查:文本位于框内,不被字幕条遮挡,字体已加载。
  • 确认视频时长与音频时长一致。
  • 交付文件时附带三条简单的注意事项:对方的发言是预测;准备列表需要当事人填写自身事实;脚本文本已发送到 Microsoft 的语音服务。

隐私

edge-tts 会将脚本文本发送到 Microsoft 的语音服务。在生成音频之前,请告知当事人脚本中是否包含敏感内容(薪资、健康信息、未公开的协议或姓名),并提供选项将其从语音版本中排除。不使用任何 API 密钥或付费服务。

文件

  • scripts/make_audio.py - 用于生成带时间轴的双人 MP3 和 timeline.json 的脚本
  • scripts/render_video.py - 将幻灯片和音频合成为带字幕的 MP4 及 SRT 的脚本
  • scripts/build_deck.py - 将幻灯片生成为离线翻页版 deck.html 的脚本
  • references/script-format.md - 如何编写 script.md 的说明
  • references/slide-format.md - 如何编写幻灯片的说明

相关技能