科学工具
科学工具让世界更美好
让世界更美好

PowerPoint演示文稿智能生成工具 PowerPoint Slides Skill

PowerPoint Skill 是一个基于 Node.js 和 PptxGenJS 的 AI 编码助手,能从学术论文、研究笔记或各类结构化内容生成 PowerPoint(.pptx)文件。PowerPoint Skill 原生支持 OMML 数学公式和 LaTeX 公式的图像渲染,整合了 Graphviz、Mermaid、TikZ 多种图表渲染流程,内置 5 套配色主题。原生适配 Claude Code,也支持其他 AI 编码助手。

核心操作指令

技能包含 7 类操作,覆盖 PPT 创作、编译、校验、素材提取等环节:

操作指令 功能说明
create [主题/论文] 完整流程:素材分析→需求沟通→结构规划→公式/图表准备→脚本生成→质量验证
compile [file.js] 执行 PptxGenJS 脚本,生成 .pptx 文件
review [file.pptx] 只读校对,检查语法、拼写、内容一致性、学术质量等
audit [file.pptx] 将 PPT 转成图片,审核视觉布局
visual-check [file.pptx] 基于 PDF 的系统化视觉审查(并行子代理完成)
validate [file.pptx] 对照技能约束条件,验证 PPT 结构
extract-figures [pdf] 从论文 PDF 中提取图表,用于制作幻灯片

主要特性

多套配色主题

内置 5 套不同风格的主题:

主题名称 风格特点 适用场景
学术浅色调(默认) 白/浅灰底,简洁 研究分享、学术研讨会
午夜黑调 全深色系 技术分享、高端演示
海洋蓝调 蓝色系为主 专业学术汇报
森林绿调 自然绿色系 生物、环境学科
三明治调 标题/结论深色 + 内容页浅色 会议演讲

专业公式渲染

  • 原生 OMML 数学公式:通过 pandoc 转换成可编辑的原生 PowerPoint 数学公式
  • LaTeX 图像兜底:段落式公式用 XeLaTeX 渲染成 600DPI 高清图片

五层图表渲染

集成多种图表工具,自动适配主题配色: Graphviz(结构图)→ Mermaid(流程图/时序图等)→ TikZ(数学图)→ PptxGenJS 原生形状 → PDF 图表提取

自动化质量检查

  • 质量评分:基础分 100,按问题扣分,并行子代理辅助视觉验证
  • 29 条硬性规则:内容密度、布局多样性、排版规范、公式渲染、边界检查、内容溢出预防等
  • 内容密度限制:每页幻灯片设上限(7 个项目符号、2 个公式、5 个符号)和下限,确保每页都有实质内容

学术幻灯片专属设计

  • 5 类结构化模板:定义、构建、对比、定理证明、见解分析
  • 视觉优先:遵循“10 秒识别原则”,纯文字说不清的内容自动配图表/表格/统计图
  • 节奏控制:提供演讲提示和时间建议,理论类幻灯片连续不超过 3-4 页,插入视觉内容打断

标准化布局与便捷工具

  • 固定 16:9 版式,通过 SW/SH/M/CW/CY/CH 等常量精确定位元素
  • 17 个辅助函数:sTitle、sectionSlide、addBullets、addCard、addTable 等
  • 9 种布局模板:双列、三卡片、流程、公式居中、条纹表格、数据标注、文字+图表、全图表、图表居中

环境准备

必装依赖

brew install node                     # Node.js
brew install pandoc                   # OMML 公式转换
brew install --cask mactex            # TeX 发行版(LaTeX 公式 + TikZ)
brew install graphviz                 # Graphviz 图表
pip install Pillow lxml               # 图像处理、OMML 注入
brew install --cask libreoffice       # PPT 转 PDF(视觉验证用)
pip install "markitdown[pptx]"        # 文本提取,内容验证

推荐安装

npm install -g @mermaid-js/mermaid-cli   # Mermaid 图表
pip install git+https://github.com/Noi1r/pdf-mcp.git
claude mcp add pdf-mcp --scope user pdf-mcp   # PDF 图表提取

可选安装

brew install ghostscript   # dvisvgm 输出 SVG 公式

安装与部署

  1. 克隆仓库
    git clone https://github.com/Noi1r/powerpoint-skill.git
    
  2. 配置 Claude Code
    mkdir -p ~/.claude/skills
    cp -r powerpoint-skill/powerpoint-slides ~/.claude/skills/
    
  3. 重启 Claude Code,对话中提到 powerpoint、pptx、PPT、slides 等关键词时自动触发。

使用示例

  • 从论文生成 PPT Help me make a PPT based on this paper: /path/to/paper.pdf
  • 指定主题生成 Make a presentation about X using the Midnight theme
  • 编译已有脚本 Compile generate_slides.js
  • 校对已生成的 PPT Review my slides: output.pptx
  • 提取论文指定页码的图表 Extract figures from /path/to/paper.pdf pages 3-5

工作流程

PPT 创作全流程

  1. 分析论文:提取核心概念、前置知识、专业符号
  2. 沟通需求:确认时长、受众、内容范围、主题
  3. 规划结构:形成结构方案,需用户确认
  4. 准备公式:LaTeX 转 OMML 元数据 + 600DPI PNG
  5. 准备图表:DOT/Mermaid/TikZ 转 SVG/PNG
  6. 生成 JS 脚本:基于 PptxGenJS + 辅助函数,自校对
  7. 质量验证:执行脚本 → 转 PDF → 视觉检查 → 评分 → 修复问题
  8. 最终审核:确认输出

公式渲染流程

formulas.json → render_latex.py → formulas/manifest.json
                                      ↓
                              图像:600DPI PNG
                              OMML:仅元数据
                                      ↓
              generate_slides.js → .pptx(含 {{MATH:id}} 占位符)
                                      ↓
              inject_omml.py → .pptx(注入原生 OMML 公式)

图表渲染流程

diagrams.json → render_diagrams.py → diagrams/manifest.json
                    ↓
            Graphviz → SVG(结构类)
            Mermaid  → SVG(行为类)
            TikZ     → SVG/PNG(数学类)
            提取     → 300DPI PNG(论文原有图表)

已知限制

OMML 是 PowerPoint 的原生数学格式,LibreOffice 对其渲染支持不完善。用 LibreOffice 将 .pptx 转 PDF 时,OMML 公式可能显示空白或变形。这是 LibreOffice 本身的问题,不是生成文件的 bug。该公式在 Microsoft PowerPoint 和 WPS Office 中显示正常。QA 环节的 visual-check 使用 LibreOffice 转 PDF,因此预览时 OMML 公式异常属于正常情况,该环节只检查 LaTeX 转 PNG 的图像式公式的清晰度。