PPT Outline Generator(精美 PPT 大纲与一键生成)
Overview
本技能将「主题」快速转化为一份结构清晰、版式统一的 PowerPoint 文件。流程分两步:
先生成并展示大纲(封面 + 若干内容页,每页含「幻灯片标题 / 核心要点 / 配图建议」),
由用户确认或微调;确认后调用脚本一键生成 .pptx。每页右侧预留虚线配图占位框并填入
文字「配图建议」,供演讲者后续替换为真实图片或据此 AI 生图。
When to Use
- 用户要求「生成 PPT / 做演示 / 写 slides / 自动生成大纲 / 把内容做成精美 PPT」。
- 用户希望每一页都包含:幻灯片标题、核心要点、配图建议。
- 产出物需为可编辑的 .pptx(PowerPoint / WPS / Keynote 兼容),而非仅图片或 HTML。
工作流程
Step 1 — 收集需求(简短确认)
先确认关键项,避免返工(可用一次提问收集):
- 主题与受众(给谁看、什么场合)。
- 期望页数(默认 8–15 页内容页)。
- 主题色(blue/teal/orange/purple/green,默认 blue)。
- 是否已有现成内容/提纲需纳入。
- 结尾标语是否沿用默认「智算赋能未来」,或需自定义。
若用户已给出足够信息,可跳过逐项提问,直接进入大纲生成。
Step 2 — 生成并展示大纲
按 references/design_guide.md 的 Schema 产出 JSON 大纲,并先在对话中以可读形式展示
(封面标题/副标题、每页「序号. 标题 / 要点 / 配图建议」、结尾标语页),请用户确认或提出修改。
不要把未经确认的大纲直接写成文件——先对齐内容。
大纲撰写要点(详见 references/design_guide.md §5):
- 每页 3–6 条要点,单行 ≤28 汉字,可独立阅读。
- 配图建议含「主体 + 风格 + 可选取图提示词」,与要点互补。
Step 3 — 一键生成 .pptx
用户确认后:
1. 将大纲写入工作目录下的临时 JSON 文件(如 ppt_outline.json)。
2. 确保依赖可用(见下文「依赖与运行」)。
3. 调用脚本生成:
/Users/lijie/.workbuddy/binaries/python/envs/ppt/bin/python \
~/.workbuddy/skills/ppt-outline-generator/scripts/generate_pptx.py \
<工作目录>/ppt_outline.json <工作目录>/<演示名>.pptx
- 用
present_files将生成的.pptx交付给用户预览/下载。
Step 4 — 交付与迭代
展示成品,说明幻灯片顺序:封面 → 内容页 × N → 结尾标语页「智算赋能未来」。
提示用户可在 PowerPoint/WPS 中替换右侧配图占位框为真实图片。
如需调整(增删页、改配色、改要点、换标语),直接修改大纲 JSON 后重新运行脚本即可。
依赖与运行(Managed Python)
脚本依赖 python-pptx。首次使用前在隔离环境中安装一次:
/Users/lijie/.workbuddy/binaries/python/versions/3.13.12/bin/python3 -m venv \
/Users/lijie/.workbuddy/binaries/python/envs/ppt
/Users/lijie/.workbuddy/binaries/python/envs/ppt/bin/pip install python-pptx
(Windows / 其他环境请将 venv 路径替换为对应托管运行时路径;勿污染用户全局环境。)
脚本运行参数:
python generate_pptx.py <outline.json> <output.pptx>
JSON 大纲字段与版式规格见 references/design_guide.md。
Resources
scripts/
generate_pptx.py:读取 JSON 大纲,生成 16:9 精美 .pptx(封面 + 内容页,含配图占位框、
页脚页码、统一主题配色)。核心函数:build_cover、build_content、main。
references/
design_guide.md:JSON Schema、版式尺寸规格、主题配色表、配图建议撰写规范、大纲撰写建议。
备注
- 输出为中文优先字体(Microsoft YaHei,回退 PingFang SC),确保中文渲染正常。
- 配图以「文字建议 + 占位框」呈现(按用户选择);如需真正内嵌 AI 生成图片,可在此基础上
扩展脚本,先调用图像生成再嵌入占位框。