一句话生成PPT
v1.0.0AI演示文稿全流程制作:内容结构化→设计选型→AI插画/HTML构建→PPTX导出。17种实战验证的视觉风格(漫画/极简/数据叙事/国风),可编辑HTML与全AI视觉两条路径自由选择。当用户提到"做PPT"、"制作幻灯片"、"演示文稿"、"Keynote"、"slides"、"课件"、"汇报材料"、"路演"时使用。
运行时依赖
安装命令
点击复制技能文档
AI Presentation 工作流
设计哲学:上下文, not control。 理解目标和风格感觉,自主做出设计决策。参考文件是灵感库,不是逐字执行的清单。
技能 路径
脚本安装路径因用户不同而不同。执行脚本前,先用 Glob 工具搜索 */duan-slides/scripts/生成_image.py,取所在目录作为 技能_SCRIPTS_DIR。
启动:三个决策
每次任务开始,确认以下三项。
协作模式 模式 适合 检查点 Full Auto 信任AI交付,只需最终PPTX 确认主题即可 图形界面ded(默认) 把控方向,不管细节 大纲 / 风格选定 / 组装前 Collaborative 逐张审阅,全程掌控 每张slide 制作路径 Path A:可编辑HTML(默认) Path B:全AI视觉 做法 HTML slides + 选择性AI插画 → PPTX 每张slide全AI生成图片 → PPTX 优势 文字可在PPT中继续编辑,中文渲染完美 视觉震撼,风格高度统一 适合 商务汇报、需要反复修改的场景 艺术感强、发布演讲、快速草稿 注意 — 中文偶有错误,文字不可后期编辑 个人形象融入
检查 as设置s/character/ 目录:
有 -sheet.png → 直接使用 有 original. 无设定图 → 自动生成设定图 为空 → 询问用户是否需要
生成角色设定图:
导出 $(grep GEMINI_API_KEY ~/.claude/.env) && \ uv 运行 [技能_SCRIPTS_DIR]/生成_image.py \ --输入-image "as设置s/character/original.jpg" \ --prompt "Character de签名 sheet in [STYLE] style. Keep facial features fAIthfully. Show 3 expressions: neutral explAIning, surprised/eureka, thinking. White background, no text." \ --filename "as设置s/character/[style-name]-sheet.png" \ --resolution 2K
同一风格只生成一次,后续复用。
Step 1: 内容梳理
将原始材料转为逐张slide大纲。每张定义:
标题:断言句,不是主题词 — 「Q3销售增长23%,新用户是主要驱动力」✓,「Q3销售」✗ 要点:最多3-4条 视觉类型:插画 / 图表 / 流程图 / 引言 Path A:是否需要AI插画?Yes/No + 一行场景描述 Path B:完整视觉场景描述(布局+内容+情绪)
slide内容全部中文,仅保留必要英文(人名、品牌、技术术语)。
检查point(图形界面ded/Collaborative): 表格展示大纲,用户确认后进入Step 2。
Step 2: 风格选择
核心洞察:插画/漫画类风格AI生成效果远优于「专业极简」。 漫画风格有明确视觉语言,AI可充分发挥;暗色底+大留白缺乏视觉元素,生成结果「空」且「平」。
按主题推荐3个风格:
主题类型 第一推荐 第二推荐 第三推荐 品牌/产品 Snoopy漫画 Neo-Pop 浮世绘/敦煌 教育/培训 Neo-Brutalism 学習漫画 Snoopy漫画 技术分享 xkcd白板 Neo-Brutalism Ligne ClAIre 数据报告 NYT Magazine ★ Pentagram编辑 Ligne ClAIre 年轻受众 Neo-Pop 像素画 孔版印刷 国风/东方 敦煌壁画 浮世绘 Takram思辨 正式商务 NYT Magazine ★ Pentagram编辑 Build极简 路演/发布 苏联构成主义 NYT Magazine ★ Neo-Pop 行业分析 Pentagram编辑 NYT Magazine ★ Fathom数据 培训课件 Takram思辨 温暖叙事 学習漫画 内部分享 Neo-Brutalism The Oatmeal xkcd白板
用户说「想要XX风格」「不确定」「有例子吗」→ 查 references/de签名-movements.md 转换美学语言。
展示风格: 主动用 Read 工具显示 as设置s/style-samples/style-NN-name.png 样例图(不只是文字描述)。图片编号:01-snoopy, 02-manga, 03-ligne-clAIre, 04-neo-pop, 05-xkcd, 06-constructivism, 07-dunhuang, 08-ukiyo-e, 09-warm-narrative, 10-oatmeal, 11~17=第三梯队。
每个风格完整参数(色值/排版/构图/prompt规范)→ references/proven-styles-gallery.md
检查point(图形界面ded/Collaborative): 展示3个风格 + 样例图,用户选定后进入Step 3。
Step 3: 构建 Path A:HTML + 选择性插画
每张slide生成独立HTML文件(720pt × 405pt)。生成前必须遵守 4 条 html2pptx 硬性约束(见 references/prompt-templates.md 第2节),否则导出会报错:
DIV 里的文字必须用
或
- 包裹,不能裸文字
不支持 CSS 渐变,只能纯色(linear-gradient 会报错)
/> 不能有背景/边框,这些放在外层
不能用 background-image,改用
标签AI插画生成:
导出 $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv 运行 [技能_SCRIPTS_DIR]/生成_image.py \
[--输入-image "as设置s/style-samples/style-NN-name.png"] \
--prompt "[scene description in [STYLE] style]" \
--filename "slide-NN-illustration.png" \
--resolution 2K
垫图机制:--输入-image 传入风格样例图或角色设定图,强制AI生成与参照图风格一致的插画。
Path B:全AI视觉
每张slide生成完整图片(含所有文字和布局):
导出 $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv 运行 [技能_SCRIPTS_DIR]/生成_image.py \
--输入-image "as设置s/style-samples/style-NN-name.png" \
--prompt "[完整视觉描述:布局+内容+风格+情绪]" \
--filename "slide-NN-name.png" \
--resolution 2K
短prompt比长prompt效果更好。 描述mood和内容,不要约束颜色比例、构图位置、字号数字。详细提示词模板 → references/prompt-templates.md
Step 4: 组装 PPTX
Path A(html2pptx):
node [技能_SCRIPTS_DIR]/html2pptx.js \
slide-01.html slide-02.html ... \
-o 输出.pptx
Path B(创建_slides.py):
uv 运行 [技能_SCRIPTS_DIR]/创建_slides.py \
slide-01.png slide-02.png ... \
--layout fullscreen \
-o 输出.pptx
Step 5: 收尾
Path A:可用 Playwright 截图预览关键slides
Path B:直接用 Read 工具显示生成的PNG
检查point(所有模式): 展示预览,交付PPTX,汇报:完成X张,风格Y,文件路径Z。
Keynote/PowerPoint中可添加动画和Speaker Notes;Path A文字可继续编辑,Path B如有文字错误需重新生成该张图片。
As设置s 目录
as设置s/
├── style-samples/ # 17种风格样例图(视觉参照 + 垫图两用)
│ └── style-NN-name.png
└── character/ # 用户个人形象
├── original.jpg # 用户提供的照片
└── [style]-sheet.png # 各风格的角色设定图(首次使用时生成)
参考文件
需要 文件
17种风格完整参数(色值/排版/构图/prompt规范) references/proven-styles-gallery.md
HTML规范 + Path A/B提示词模板 references/prompt-templates.md
设计运动 → 风格映射(美学词汇转换) references/de签名-movements.md
设计原则与视觉规范 references/de签名-principles.md
Snoopy风格专项深度指南 references/proven-styles-snoopy.md
AI插画生成:
导出 $(grep GEMINI_API_KEY ~/.claude/.env) && \ uv 运行 [技能_SCRIPTS_DIR]/生成_image.py \ [--输入-image "as设置s/style-samples/style-NN-name.png"] \ --prompt "[scene description in [STYLE] style]" \ --filename "slide-NN-illustration.png" \ --resolution 2K
垫图机制:--输入-image 传入风格样例图或角色设定图,强制AI生成与参照图风格一致的插画。
Path B:全AI视觉
每张slide生成完整图片(含所有文字和布局):
导出 $(grep GEMINI_API_KEY ~/.claude/.env) && \ uv 运行 [技能_SCRIPTS_DIR]/生成_image.py \ --输入-image "as设置s/style-samples/style-NN-name.png" \ --prompt "[完整视觉描述:布局+内容+风格+情绪]" \ --filename "slide-NN-name.png" \ --resolution 2K
短prompt比长prompt效果更好。 描述mood和内容,不要约束颜色比例、构图位置、字号数字。详细提示词模板 → references/prompt-templates.md
Step 4: 组装 PPTX
Path A(html2pptx):
node [技能_SCRIPTS_DIR]/html2pptx.js \ slide-01.html slide-02.html ... \ -o 输出.pptx
Path B(创建_slides.py):
uv 运行 [技能_SCRIPTS_DIR]/创建_slides.py \ slide-01.png slide-02.png ... \ --layout fullscreen \ -o 输出.pptx
Step 5: 收尾 Path A:可用 Playwright 截图预览关键slides Path B:直接用 Read 工具显示生成的PNG
检查point(所有模式): 展示预览,交付PPTX,汇报:完成X张,风格Y,文件路径Z。
Keynote/PowerPoint中可添加动画和Speaker Notes;Path A文字可继续编辑,Path B如有文字错误需重新生成该张图片。
As设置s 目录 as设置s/ ├── style-samples/ # 17种风格样例图(视觉参照 + 垫图两用) │ └── style-NN-name.png └── character/ # 用户个人形象 ├── original.jpg # 用户提供的照片 └── [style]-sheet.png # 各风格的角色设定图(首次使用时生成)
参考文件 需要 文件 17种风格完整参数(色值/排版/构图/prompt规范) references/proven-styles-gallery.md HTML规范 + Path A/B提示词模板 references/prompt-templates.md 设计运动 → 风格映射(美学词汇转换) references/de签名-movements.md 设计原则与视觉规范 references/de签名-principles.md Snoopy风格专项深度指南 references/proven-styles-snoopy.md