Skip to content

Open-Shadow/ppt_skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

OpenMAIC PPT Skill

将 OpenMAIC 的"可编辑 PPTX 导出"能力封装为 Claude Code slash skill,支持从主题、PDF 或已有 classroom 直接生成可编辑 PowerPoint。

目录结构

skill/                          # Claude Code slash skill
  SKILL.md                      # Skill 定义(触发方式、流程、错误处理)
  scripts/
    export_ppt.sh               # 一键生成+导出脚本

server/                         # 服务端代码(需集成到 OpenMAIC)
  lib/export/
    pptx-core.ts                # 无头 PPTX 构建核心(无 React/浏览器依赖)
    use-export-pptx.ts          # 前端 React hook(调用 pptx-core)
  api/export/pptx/
    route.ts                    # 服务端导出 API(Next.js route handler)

使用方式

作为 Claude Code Skill

  1. skill/ 目录复制到 OpenMAIC 项目的 .claude/skills/openmaic-ppt/
  2. server/ 下的文件合并到 OpenMAIC 对应目录
  3. 在 Claude Code 中使用:
    • /openmaic-ppt 牛顿三大定律 — 从主题生成 PPT
    • /openmaic-ppt export classroom abc123 — 导出已有课堂

作为独立脚本

./skill/scripts/export_ppt.sh "牛顿三大定律"
./skill/scripts/export_ppt.sh --classroom-id abc123
./skill/scripts/export_ppt.sh "topic" --lang en-US --base-url http://localhost:3000

架构

用户输入 → Skill/脚本
  → POST /api/generate-classroom(生成课堂)
  → GET  /api/generate-classroom/{jobId}(轮询)
  → POST /api/export/pptx(导出 PPTX)
  → 可编辑 .pptx 文件

核心改造:将原本耦合在 React hook 中的 PPTX 构建逻辑抽取为 pptx-core.ts,通过 PptxEnvironmentAdapter 接口抽象浏览器依赖,使同一套构建逻辑可在前端和服��端复用。

V1 限制

  • 仅导出 slide 类型场景(quiz/interactive/pbl 跳过)
  • 服务端导出不支持视频/音频元素嵌入
  • SVG 形状使用纯字符串构建(非 DOM 渲染)

About

自用扒出来的ppt生成skill

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors