根据论文或汇报内容生成多页 Draw.io 格式 PPT,支持论文答辩与通用汇报两种模式,自动导出为 .pptx。当用户提到论文答辩 PPT、答辩幻灯片、通用 PPT、汇报 PPT、根据模板生成 PPT、drawio2pptx 时使用。
64
76%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/pptgen-drawio/SKILL.md本 skill 支持两种模式,共用 ppt_template/、scripts/、reference/ 目录,以及 Step 0 自定义模板、Step 1 确定内容与风格、Step 3 & 4 输出与导出 全流程。
| 模式 | 使用时机 | 内容来源 | 默认页序 | 输出文件 |
|---|---|---|---|---|
| 论文答辩 | 学位论文答辩、开题、预答辩 | paper-write 结构化提取 | 封面→目录→背景→现状→方法→创新点→实验→结论→致谢→Q&A | paper-defense.drawio |
| 通用汇报 | 工作汇报、产品介绍、演讲 | 用户消息提取/生成 | 封面→目录→节标题→内容页→总结→致谢→Q&A | general-presentation.drawio |
若用户提供了自己的 .pptx 模板文件:
.pptx 放入 ppt_template/ 目录python scripts/analyze_pptx.py ppt_template/xxx.pptx reference/style-custom.mdreference/style-custom.md 作为「自定义风格」继续目录约定:ppt_template/ 存放模板、scripts/analyze_pptx.py 样式提取、reference/ 风格文件
两种模式均可选择以下风格之一,读取对应 reference 文件获取配色、字体、版式规则与 XML 样式片段:
| # | 风格 | 主色 | 强调色 | reference 文件 |
|---|---|---|---|---|
| 1 | 经典学术 / 商务严谨 | #1B2A4A | #C9A84C | reference/style1-classic-academic.md |
| 2 | 现代极简 / 大字报感 | #231F20 | #F5C638 | reference/style2-minimal-bigtype.md |
| 3 | 暖色学术 / 亲和力 | #2C5160 | #B7472A | reference/style3-warm-academic.md |
| 4 | 科技明快 / 现代前沿 | #0170C1 | 同主色 | reference/style4-tech-modern.md |
| 5 | 自定义 | 从 style-custom.md 提取 | reference/style-custom.md |
必须先读取所选风格的 reference 文件,基于该风格生成 XML。
当用户选择论文答辩模式、且未另行指定页数时,所有风格(style1–4)默认采用统一的 23 页结构:
各 reference/styleX-*.md 只定义样式与版式(颜色、字体、组件布局),不再重复定义页序;如需修改默认页序,应在本 SKILL 中统一调整。
defense-style4-tech.drawio、defense-style4-tech.pptx.drawio(源文件)→ 执行命令导出 .pptx(交付文件)→ 校验页数.pptx(必要时附 .drawio),不需要安装 Python;脚本/代码仅用于生成端自动写 XML(可选)。生成每一页 XML 前,按下面 checklist 快速自检(只保留高频致命项):
<mxfile>,且每页一个 <diagram>(否则导出会变 1 页)。<diagram> 内 x 从 0 开始;背景矩形 x=0,y=0,w=1920,h=1080;每页都有 mxCell id="0" 与 mxCell id="1" parent="0"。mxCell id 必须唯一;每个 <diagram id="..."> 也必须唯一。.drawio 必须一次写完整(不要多次覆盖/拼接 XML)。drawio2pptx 输出的 (N slides) 必须等于 <diagram> 数量。\n 拼接,再一次性写入文件),禁止在 value="..." 中写 
 / <br> / <font>/<b>,也禁止通过 Shell 将 &#xa; 替换成字面量 `n;文本 style 必含 whiteSpace=wrap;html=1;。fontColor=#FFFFFF;背景色替换优先改 fillColor,不要全局替换所有 #FFFFFF。<mxfile host="app.diagrams.net">
<diagram id="p1" name="封面">
<mxGraphModel page="1" pageWidth="1920" pageHeight="1080">
<root>
<mxCell id="0"/><mxCell id="1" parent="0"/>
</root>
</mxGraphModel>
</diagram>
<diagram id="p2" name="目录">
<mxGraphModel page="1" pageWidth="1920" pageHeight="1080">
<root>
<mxCell id="0"/><mxCell id="1" parent="0"/>
</root>
</mxGraphModel>
</diagram>
</mxfile>将生成的 XML 一次性 写入工作区 .drawio 文件(论文答辩用 paper-defense.drawio,通用汇报用 general-presentation.drawio),并简述每页概要。
写入方式需满足 checklist 第 4 条「一次性写入」与第 7 条「换行只用真实换行」的要求。
生成 .drawio 后,执行导出(推荐在生成端完成导出后再交付):
pip install drawio2pptx -q.drawio 文件所在目录(必须先 cd/Set-Location,否则找不到文件):
Set-Location "d:\你的项目目录"
drawio2pptx <文件名>.drawio <文件名>.pptxSaved xxx.pptx (N slides),且 (N) 等于 <diagram> 数量(对应 checklist 第 5 条「页数校验」)页数验证需满足 checklist 第 5 条「页数校验」。
.pptx 正在被 PowerPoint 占用。
*-v2.pptx),或先关闭 PPT 再覆盖导出。&→&,<→<)tail 命令,Shell 输出截断请用 PowerShell 的 Select-Object -Last N 替代fd28854
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.