Communitygithub.com

排練助手 (The Rehearsal)

在重要會議前進行排練。預測對話走向,並根據預測建立一套排練工具組:劇本、雙人語音音軌、含字幕影片、字幕檔以及可翻頁的簡報。

排練助手 (The Rehearsal) 是什麼?

這項技能「排練助手」旨在幫助使用者在實際發生前,針對高風險會議(如工作面試、銷售通話、談判、簡報、績效評估等)進行完整的排練。它不僅僅是提供角色扮演的建議,而是會先根據使用者提供的資訊(對方背景、會議目標、自身事實)預測整場會議的對話腳本,然後自動生成一套包含雙人語音對談音檔(MP3)、含內嵌字幕的影片(MP4)、逐句字幕檔(SRT)以及可供離線翻閱的簡報(HTML)的「排練工具組」。此技能適用於 Claude Code、Cursor 等支援自訂技能的 AI Agent 平台。其運作流程是先收集會議資訊,接著以標準格式撰寫預測腳本,再透過 edge-tts 生成語音、自行繪製每段對話的投影片,最後將所有素材合成為影片與可翻頁簡報。它特別強調使用者的台詞必須基於真實事實與審核過的表述,並會在腳本中標記出需要使用者自行準備的項目。關於隱私,系統會提醒使用者若腳本包含敏感資訊,可選擇不將其納入語音版本;所有處理皆在本機進行,無需付費 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. 蒐集會議資訊

在開始撰寫任何內容之前,先蒐集以下資訊:對方是誰(職位、背景、負責範疇)、會議目標、會議長度與形式、使用者自身的事實(履歷、數據、計畫、已核准的答覆),以及對方可能會追問的重點。閱讀使用者已有的資料:通話記錄表、計畫、研究資料、電子郵件、職位描述。

只詢問那些會改變腳本的事實。如果某個問題使用者必須根據自身經驗回答,就將其標記為準備 (Prepare) 項目;切勿自行虛構答案。只有當使用者的台詞基於真實事實時,排練才有價值:在排練中虛構的自信數字,最終會在真實會議中變成謊言。

2. 預測對話

按照 references/script-format.md 中的格式撰寫 script.md。

  • 按照真實會議的順序排列:開場、對方的框架、使用者的背景、追問、使用者的計畫或提案、尖銳問題、後續事項、使用者的提問、結尾。
  • 對方的台詞是預測。請在腳本標頭中明確說明。當需要虛構對方公司的資訊時,請保持台詞的概括性(例如「我無法透露條款」)。
  • 使用者的台詞只能使用其提供的資訊或擁有的文件,以及已核准的逐字措辭(若有的話)。
  • 先回答,再給一個範例,然後停止。針對大多數會議,每個回答以一至三個句子為佳。
  • 以人們說話的方式書寫數字(例如「500 萬」、「百分之一百六十一」),讓語音能自然朗讀。
  • 在每個談話段落開始的回合前,加上 <!-- slide: id --> 標記:通常每個問題對應一個段落。
  • 在檔案末尾加上準備 (Prepare) 清單:列出你無法根據事實回答的問題。

媒體生成前的壓力測試(可選):請一兩位審查者扮演對方及其主管(如果可啟動子代理人的話),並批評使用者的回答或計畫。根據事實所支持的內容套用修改;其餘的則列出供使用者參考。

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 - 如何撰寫投影片的說明

相關技能