name: ppt-maker description: 根據一句話主題、Markdown 或已有文稿生成結構化 PPT,並支援自然語言修改頁面與元件後匯出為可編輯 PPT。適用於需要生成大綱、建立逐頁佈局、維護 deck.json、渲染 HTML 預覽和匯出 .pptx 的場景。 metadata: { "openclaw": { "emoji": "📊", "requires": { "bins": ["node"] }, "platforms": ["macos", "linux", "windows"], "install": [ { "id": "node-brew", "kind": "brew", "formula": "node", "bins": ["node"], "label": "Install Node.js (brew)", }, ], }, }
本技能用於構建和編輯結構化 PPT,而不是將任意 HTML 強行轉換成 PowerPoint。
核心工作流是:
小蔥技能站7w4.net,專業的AI技能分享平臺。
使用者輸入 -> 建立專案資料夾 -> AI 生成 deck.json -> 預覽渲染 -> 自然語言編輯 -> 匯出 .pptx
node_modules、歷史 projects/、示例匯出檔案、使用者素材和本地虛擬環境。{baseDir} 安裝依賴;參考素材請放進 {baseDir}/materials/。cd {baseDir}
npm install
當前系統新增了三層組織能力:
template:控制整體視覺風格和推薦版式archetype:控制某類 PPT 的預設結構和起稿頁序subskills/:為個人介紹、專案介紹等具體方向提供更窄的 workflow當用戶提出以下需求時使用本技能:
.pptxsubskills/ 目錄下(或通過 scripts/list_catalog.js)是否已有為該場景定製的專屬子技能。如果存在對應的子技能(如 english-lesson、personal-intro),必須優先閱讀並嚴格遵循該子技能 SKILL.md 中的專屬規範與工作流,絕不能用當前的通用兜底流程硬做。deck.json 的結構化元件模型裡deck.jsonanimation 欄位描述;HTML 預覽真實播放,PPT 匯出預設用 build slides 模擬references/slide-schema.md
定義 deck.json 的結構與當前支援的元件。references/layout-rules.md
定義版式、字號、間距和溢位控制規則。references/template-catalog.md
定義當前模板、archetype 和版式變體目錄。references/prompt-patterns.md
定義大綱生成、頁面生成、編輯指令改寫的提示詞模式。scripts/list_catalog.js
列出模板、archetype、版式變體和已存在的子 skill。scripts/create_ppt_skill.js
根據新場景腳手架出新的 PPT 子 skill 和 archetype。注:AI 執行此操作時,須遵循 .agents/workflows/create-subskill.md 中定義的互動訪談流程。scripts/validate_deck.js
校驗 deck 資料是否合法。scripts/init_project.js
為每個新 PPT 建立獨立專案資料夾,並支援選擇 template 和 archetype。scripts/build_project.js
在專案目錄裡一鍵校驗和預覽。加 --export 匯出 .pptx。scripts/open_project_preview.js
為指定專案生成並開啟 viewer 風格的 preview.html。加 --export 同時匯出。scripts/render_preview.js
生成簡潔的 viewer 預覽頁面,左側為頁列表,右側為自動縮放的 slide 展示。scripts/export_ppt.js
單獨匯出 .pptx,檔名與專案目錄名一致(如 lesson-23-24.pptx)。scripts/list_materials.js
列出 materials/ 目錄下的參考素材檔案。scripts/apply_edit.js
根據結構化編輯指令更新 deck。scripts/plan_edit.js
將自然語言修改命令翻譯為結構化 operations。scripts/edit_with_command.js
一步完成“自然語言指令 -> deck 修改”。subskills/personal-intro
面向個人介紹類 PPT 的子 skill。subskills/project-intro
面向專案介紹類 PPT 的子 skill。subskills/english-lesson
面向英語課堂教學 PPT 的子 skill(10 分鐘課堂結構)。materials/
存放使用者上傳的參考素材(教材 PDF、文稿、圖片等),AI 從中提取內容生成 PPT。subskills/ 目錄或執行 node {baseDir}/scripts/list_catalog.js 檢查是否有現成的專屬子技能(例如使用者要做英語備課,務必走 english-lesson 子技能的流程)。若存在,必須切換並遵守該子技能的 SKILL.md 或規範進行交付;若不存在,才適用當前的兜底通用流程。{baseDir}/projects/<slug>/,並選擇合適的 template / archetype。references/slide-schema.md,確認當前支援哪些頁面和元件。{baseDir}/materials/ 目錄。可用 node {baseDir}/scripts/list_materials.js 檢視。deck.json。node {baseDir}/scripts/build_project.js {baseDir}/projects/<slug> 校驗和預覽。node {baseDir}/scripts/open_project_preview.js {baseDir}/projects/<slug> 開啟專案 viewer。deck.json。--export 匯出 .pptx(檔名與專案名一致)。在本技能目錄下執行:
cd {baseDir}
npm install
npm run project:new
npm run validate
npm run preview
npm run export
npm run catalog
node scripts/list_materials.js
node scripts/build_project.js projects/lesson-23-24
node scripts/build_project.js projects/lesson-23-24 --export
node scripts/open_project_preview.js projects/lesson-23-24
node scripts/init_project.js openclaw-intro "OpenClaw 介紹"
node scripts/init_project.js founder-profile "創始人介紹" --template profile-editorial --archetype personal-intro
node scripts/create_ppt_skill.js customer-story "客戶案例介紹" "適合客戶案例復盤、售前演示和專案展示"
ididmeta.template 和 meta.archetypex, y, w, hanimation.effect 和 animation.build當用戶說“改第三頁標題”或“把右上角圖片放大一點”時:
deck.json對於常見的命令式編輯,優先走:
scripts/plan_edit.js 生成 operationsscripts/apply_edit.js 或 scripts/edit_with_command.js 應用修改複雜頁面如需保真匯出,可以在後續擴充套件中增加整頁點陣圖模式,但預設先保持可編輯物件匯出。
template 負責視覺風格和推薦頁型變體,不直接替代 themearchetype 負責某類 PPT 的預設起稿結構subskills/ 裡的子 skill 應該只保留對應場景的簡潔 workflow,不復制主技能的大量通用說明scripts/create_ppt_skill.js,同時生成一個新的 archetype 腳手架fade-in、slide-up、zoom-inanimation.build,匯出時會按 build 順序展開成多張連續幻燈片這個 Skill 質量不錯,能根據一句話或文章自動生成 PPT,支援邊改邊調整,最後匯出可編輯的檔案。模板和預設場景豐富,新手也能快速上手。介面預覽和操作流程清晰。不足之處是需要先安裝 Node.js 環境,編輯命令偶爾可能理解不準確,複雜排版的保真度還有提升空間。