PPT製作

👤 mr-q526 📦 v1.0.0 ⭐ 4.4 ⬇️ 3.4K 下載
📄 辦公效率 免費

📖 技能介紹


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 Maker

本技能用於構建和編輯結構化 PPT,而不是將任意 HTML 強行轉換成 PowerPoint。

核心工作流是:

小蔥技能站7w4.net,專業的AI技能分享平臺。

使用者輸入 -> 建立專案資料夾 -> AI 生成 deck.json -> 預覽渲染 -> 自然語言編輯 -> 匯出 .pptx

ClawHub 版本說明

  • 釋出包預設不包含 node_modules、歷史 projects/、示例匯出檔案、使用者素材和本地虛擬環境。
  • 首次使用先進入 {baseDir} 安裝依賴;參考素材請放進 {baseDir}/materials/
cd {baseDir}
npm install

當前系統新增了三層組織能力:

  • template:控制整體視覺風格和推薦版式
  • archetype:控制某類 PPT 的預設結構和起稿頁序
  • subskills/:為個人介紹、專案介紹等具體方向提供更窄的 workflow

何時使用

當用戶提出以下需求時使用本技能:

  • 根據一句話主題生成 PPT 大綱與頁面
  • 根據一段原文或 Markdown 生成簡報
  • 修改某一頁的標題、正文、配圖、佈局、主題或元件位置
  • 為頁面或元件增加分步出現動畫,並預覽動畫節奏
  • 預覽 PPT 頁面效果
  • 用 skill 自帶 viewer 預覽指定專案,並檢視頁內區塊資訊
  • 匯出可編輯的 .pptx

核心原則

  • 子技能優先(Subskill First):在開始建立任何 PPT 前,必須先檢視 subskills/ 目錄下(或通過 scripts/list_catalog.js)是否已有為該場景定製的專屬子技能。如果存在對應的子技能(如 english-lessonpersonal-intro),必須優先閱讀並嚴格遵循該子技能 SKILL.md 中的專屬規範與工作流,絕不能用當前的通用兜底流程硬做。
  • 不要讓 AI 直接輸出任意 HTML 頁面作為最終真相來源
  • 所有頁面內容都必須落到 deck.json 的結構化元件模型裡
  • 預覽與匯出必須讀取同一份 deck.json
  • 預設優先保證可編輯性,複雜頁面再考慮保真兜底
  • 動畫優先用結構化 animation 欄位描述;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。

推薦工作流

  1. 預檢(關鍵!):如果使用者要求做特定場景的 PPT,在建立之前,必須先閱讀 subskills/ 目錄或執行 node {baseDir}/scripts/list_catalog.js 檢查是否有現成的專屬子技能(例如使用者要做英語備課,務必走 english-lesson 子技能的流程)。若存在,必須切換並遵守該子技能的 SKILL.md 或規範進行交付;若不存在,才適用當前的兜底通用流程。
  2. 先建立獨立專案目錄,路徑位於 {baseDir}/projects/<slug>/,並選擇合適的 template / archetype。
  3. 閱讀 references/slide-schema.md,確認當前支援哪些頁面和元件。
  4. 如有參考素材,放入 {baseDir}/materials/ 目錄。可用 node {baseDir}/scripts/list_materials.js 檢視。
  5. 根據使用者輸入在該專案目錄裡生成 deck.json
  6. 執行 node {baseDir}/scripts/build_project.js {baseDir}/projects/<slug> 校驗和預覽。
  7. 需要檢視頁面時,使用 node {baseDir}/scripts/open_project_preview.js {baseDir}/projects/<slug> 開啟專案 viewer。
  8. 根據使用者反饋繼續修改該專案目錄裡的 deck.json
  9. 使用者確認後,加 --export 匯出 .pptx(檔名與專案名一致)。
  10. 後續所有預覽、編輯和匯出都在同一專案資料夾內完成。

命令示例

在本技能目錄下執行:

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 "客戶案例介紹" "適合客戶案例復盤、售前演示和專案展示"

deck 生成要求

  • 每個 slide 必須有穩定的 id
  • 每個 component 必須有穩定的 id
  • deck 建議同時帶上 meta.templatemeta.archetype
  • 所有元件必須顯式給出 x, y, w, h
  • 座標單位統一使用英寸,對齊 PowerPoint 寬屏頁面
  • 文本內容要控制長度,避免超出佈局預算
  • 如需動畫,優先給元件增加 animation.effectanimation.build

自然語言編輯要求

當用戶說“改第三頁標題”或“把右上角圖片放大一點”時:

  • 先定位 slide
  • 再定位 component
  • 然後修改 deck.json
  • 不要直接只改預覽 HTML

對於常見的命令式編輯,優先走:

  1. scripts/plan_edit.js 生成 operations
  2. scripts/apply_edit.jsscripts/edit_with_command.js 應用修改

複雜頁面如需保真匯出,可以在後續擴充套件中增加整頁點陣圖模式,但預設先保持可編輯物件匯出。

Viewer 約定

  • 左側固定展示 slide 列表與縮略頁
  • 右側頂部精簡工具欄:頁碼晶片 + 頁面名稱 + 導航按鈕
  • slide 畫布自動縮放適配視窗大小(scale-to-fit)
  • 懸停元件時顯示 tooltip(名稱 + 型別)
  • 點選元件後自動複製識別資訊,方便告訴 AI 修改。

模板與子 skill 約定

  • template 負責視覺風格和推薦頁型變體,不直接替代 theme
  • archetype 負責某類 PPT 的預設起稿結構
  • subskills/ 裡的子 skill 應該只保留對應場景的簡潔 workflow,不復制主技能的大量通用說明
  • 新建場景優先用 scripts/create_ppt_skill.js,同時生成一個新的 archetype 腳手架

動畫說明

  • 預覽層支援 fade-inslide-upzoom-in
  • 匯出層預設不依賴 PowerPoint 原生物件動畫
  • 如元件設定了 animation.build,匯出時會按 build 順序展開成多張連續幻燈片

🤖 AI 評測

這個 Skill 質量不錯,能根據一句話或文章自動生成 PPT,支援邊改邊調整,最後匯出可編輯的檔案。模板和預設場景豐富,新手也能快速上手。介面預覽和操作流程清晰。不足之處是需要先安裝 Node.js 環境,編輯命令偶爾可能理解不準確,複雜排版的保真度還有提升空間。

📊 多維度評分

適應性4.3
規範性4.3
有效性4.5
可靠性4.3
可信度4.7

📁 包含檔案 (65 個)

📄 .agents/workflows/create-subskill.md 2.3 KB
📄 SKILL.md 8.5 KB
📄 _meta.json 134 B
📄 agents/openai.yaml 318 B
📄 assets/archetypes/club-recruiting.json 6.8 KB
📄 assets/archetypes/course-presentation.json 7.3 KB
📄 assets/archetypes/customer-story.json 7.4 KB
📄 assets/archetypes/english-lesson.json 9.4 KB
📄 assets/archetypes/general-briefing.json 5.7 KB
📄 assets/archetypes/personal-intro.json 5.5 KB
📄 assets/archetypes/project-intro.json 5.6 KB
📄 assets/archetypes/thesis-defense.json 10 KB
📄 assets/layouts/library.json 4.9 KB
📄 assets/preview/base.css 10.6 KB
📄 assets/preview/placeholder-graphic.svg 630 B
📄 assets/templates/business-briefing.json 568 B
📄 assets/templates/launch-stage.json 575 B
📄 assets/templates/profile-editorial.json 567 B
📄 assets/themes/business-clean.json 276 B
📄 assets/themes/editorial-warm.json 272 B
📄 assets/themes/executive-dark.json 275 B
📄 assets/themes/openclaw-signal.json 277 B
📄 package-lock.json 8.8 KB
📄 package.json 1.3 KB
📄 references/layout-rules.md 1.3 KB
📄 references/prompt-patterns.md 2.4 KB
📄 references/slide-schema.md 4 KB
📄 references/template-catalog.md 1.2 KB
📄 samples/example-deck.json 5.5 KB
📄 samples/example-edits.json 404 B
📄 scripts/apply_edit.js 5.3 KB
📄 scripts/build_project.js 1.2 KB
📄 scripts/catalog.js 4.5 KB
📄 scripts/common.js 4.1 KB
📄 scripts/create_ppt_skill.js 9 KB
📄 scripts/edit_with_command.js 1.1 KB
📄 scripts/export_ppt.js 7.5 KB
📄 scripts/init_project.js 3.2 KB
📄 scripts/list_catalog.js 1 KB
📄 scripts/list_materials.js 1.8 KB
📄 scripts/open_project_preview.js 1.1 KB
📄 scripts/plan_edit.js 13.1 KB
📄 scripts/render_preview.js 28.8 KB
📄 scripts/validate_deck.js 5.4 KB
📄 subskills/club-recruiting/SKILL.md 1.9 KB
📄 subskills/club-recruiting/agents/openai.yaml 353 B
📄 subskills/club-recruiting/references/outline.md 355 B
📄 subskills/course-presentation/SKILL.md 1.8 KB
📄 subskills/course-presentation/agents/openai.yaml 357 B
📄 subskills/course-presentation/references/outline.md 383 B
📄 subskills/customer-story/SKILL.md 2 KB
📄 subskills/customer-story/agents/openai.yaml 341 B
📄 subskills/customer-story/references/outline.md 358 B
📄 subskills/english-lesson/SKILL.md 2.5 KB
📄 subskills/english-lesson/agents/openai.yaml 367 B
📄 subskills/english-lesson/references/outline.md 379 B
📄 subskills/personal-intro/SKILL.md 1.8 KB
📄 subskills/personal-intro/agents/openai.yaml 358 B
📄 subskills/personal-intro/references/outline.md 254 B
📄 subskills/project-intro/SKILL.md 1.7 KB
📄 subskills/project-intro/agents/openai.yaml 358 B
📄 subskills/project-intro/references/outline.md 298 B
📄 subskills/thesis-defense/SKILL.md 1.7 KB
📄 subskills/thesis-defense/agents/openai.yaml 361 B
📄 subskills/thesis-defense/references/outline.md 476 B