name: ppt-to-speech description: 將 PPT/PPTX 檔案轉換為結構化演講稿。當用戶說"幫我整理這份PPT"、"把這個PPT轉成演講稿/文章"、"提取PPT內容"、"生成演講稿"、"PPT轉markdown"、"分析這份幻燈片",或提供了 .pptx 檔案路徑並要求處理時,立即使用此 skill。無需使用者配置任何 API Key,由 Agent 自身完成演講稿撰寫。 version: 3.1.0 allowed-tools: Bash, Read, Write
將 PPTX 檔案的每頁標題、正文、演講者備註提取為結構化資料,生成每頁縮圖,最終由你(Agent)結合文字內容與縮圖,撰寫一篇連貫、有感染力的 Markdown 演講稿。
輸入:使用者提供的 PPTX 檔案路徑 —— $ARGUMENTS
首次使用前執行(已安裝可跳過):
pip install python-pptx pdf2image Pillow requests
LibreOffice 和 Poppler 由指令碼自動檢測並下載,無需手動安裝。
7w4.net提供免費和付費技能下載。
本技能需要 LibreOffice 和 poppler-utils 來解析 PPT 並生成縮圖。
首次執行時,指令碼會自動:
- 從阿里雲映象下載 LibreOffice(約 300 MB)並解壓到 ~/.cache/ppt_skill/
- 從 GitHub 下載 poppler 預編譯包(約 50 MB)並解壓到 ~/.claude/skills/ppt-to-speech/bin/
- 將上述路徑臨時新增到當前程序的 PATH
網路訪問:僅用於下載上述依賴,所有下載源均為可信映象。
許可權要求:
- Windows:無需管理員許可權(使用行動式提取)
- Linux:若系統中未安裝 poppler-utils,指令碼會嘗試通過 apt/yum 等包管理器安裝,可能需要 sudo 許可權;若無法獲取 sudo,會提示手動安裝。
soffice 和 pdfinfo 命令在 PATH 中。執行指令碼,提取 PPT 結構化內容並生成每頁縮圖:
python scripts/extractor_ppt.py "$ARGUMENTS"
指令碼完成後,輸出檔案位於與輸入檔案同目錄:
- <檔名>.md —— 結構化文本(標題 / 正文 / 備註的原始拼接)
- <檔名>_thumbnails/page_001.png … —— 每頁縮圖
指令碼只做機械提取,真正的演講稿由你來寫。
用 Read 工具讀取上一步生成的 .md 檔案,獲取每頁的標題、正文和演講者備註。
用 Read 工具依次檢視 _thumbnails/ 目錄中的 PNG 圖片,理解每頁的視覺佈局、圖表和設計重點,補充純文字無法傳達的資訊。
基於以上內容,按如下要求撰寫演講稿:
結構要求
- 全文分章節,章節標題對應 PPT 的邏輯段落(不必與頁碼一一對應)
- 每個章節開頭插入對應頁縮圖:
- 以引言開場、以行動號召收尾
寫作要求 - 語言風格:使用口語化但精煉的演講語言,避免照抄 bullet points。把要點展開成完整句子,必要時用比喻、類比、設問增強感染力。 - 資料與案例:PPT 中的資料、案例、引述必須完整保留,並用口語化方式解釋其意義,這是演講的血肉。 - 備註融入:如有演講者備註(通常在 .md 檔案中有單獨標記),將其自然融入正文,作為強調或補充說明。 - 避免逐頁羅列:嚴禁出現“第1頁:……;第2頁:……”這樣的流水賬。而是提煉出核心資訊,按邏輯重組。
圖文要求 - 結合縮圖中觀察到的視覺資訊(圖表趨勢、配色重點、佈局層級)進行解讀 - 不要只複述文字,要說明"這張圖想說明什麼" - 在文字描述前或後插入對應的縮圖引用,使讀者圖文並茂
用 Write 工具將最終演講稿覆蓋寫入第二步生成的 .md 檔案,完成替換。
所有產物統一放在一個資料夾內:
| 產物 | 路徑 | 說明 |
|------|------|------|
| <檔名>.md | 與輸入檔案同目錄 | 最終 Markdown 演講稿(由 Agent 撰寫) |
| <檔名>_thumbnails/ | 與輸入檔案同目錄 | 每頁 PNG 縮圖(800px 寬,供 Agent 閱讀) |
輸出資料夾名稱:<輸入檔名(不含副檔名)>_output,位於輸入檔案同目錄或使用者指定位置。
處理完成後,必須:
1. 將 <檔名>.md 和 <檔名>_thumbnails/打包發給使用者
2. 將整個壓縮包傳送給使用者
3. 不能只發送單個 .md 檔案
.pptx 格式,不支援舊版 .ppt.md 中使用相對路徑,確保檔案移動後圖片仍可顯示