宝鱼幻灯片生成器Skill baoyu-slide-deck

这个技能是一个自动化工具,用于从文本内容生成专业幻灯片图像。它通过内容分析、样式选择、大纲和提示生成、AI图像生成,最终输出PPTX和PDF文件,适用于教育、商业演示等场景。关键词:幻灯片生成、AIGC、图像生成、自动化演示、内容分析、样式系统、工作流程。

AIGC 0 次安装 0 次浏览 更新于 3/9/2026

name: baoyu-slide-deck description: 从内容生成专业幻灯片图像。创建带有样式指令的大纲,然后生成单个幻灯片图像。当用户要求"创建幻灯片"、“制作演示文稿”、“生成幻灯片”、"幻灯片"或"PPT"时使用。

幻灯片生成器

将内容转换为专业幻灯片图像。

使用方式

/baoyu-slide-deck 路径/到/content.md
/baoyu-slide-deck 路径/到/content.md --style sketch-notes
/baoyu-slide-deck 路径/到/content.md --audience executives
/baoyu-slide-deck 路径/到/content.md --lang zh
/baoyu-slide-deck 路径/到/content.md --slides 10
/baoyu-slide-deck 路径/到/content.md --outline-only
/baoyu-slide-deck  # 然后粘贴内容

脚本目录

代理执行指令:

  1. 将此 SKILL.md 文件的目录路径确定为 SKILL_DIR
  2. 脚本路径 = ${SKILL_DIR}/scripts/<script-name>.ts
脚本 用途
scripts/merge-to-pptx.ts 将幻灯片合并为 PowerPoint
scripts/merge-to-pdf.ts 将幻灯片合并为 PDF

选项

选项 描述
--style <名称> 视觉样式:预设名称、custom 或自定义样式名称
--audience <类型> 目标受众:初学者、中级、专家、高管、普通读者
--lang <代码> 输出语言(en、zh、ja 等)
--slides <数字> 目标幻灯片数量(推荐 8-25,最大 30)
--outline-only 仅生成大纲,跳过图像生成
--prompts-only 生成大纲 + 提示,跳过图像
--images-only 从现有提示目录生成图像
--regenerate <N> 重新生成特定幻灯片:--regenerate 3--regenerate 2,5,8

基于内容长度的幻灯片数量:

内容 幻灯片数量
< 1000 字 5-10
1000-3000 字 10-18
3000-5000 字 15-25
> 5000 字 20-30(考虑拆分)

样式系统

预设

预设 维度 最适合
blueprint(默认) 网格 + 冷色调 + 技术性 + 平衡 架构、系统设计
chalkboard 有机 + 暖色调 + 手写 + 平衡 教育、教程
corporate 干净 + 专业 + 几何 + 平衡 投资者演示稿、提案
minimal 干净 + 中性 + 几何 + 极简 高管简报
sketch-notes 有机 + 暖色调 + 手写 + 平衡 教育性、教程
watercolor 有机 + 暖色调 + 人文 + 极简 生活方式、健康
dark-atmospheric 干净 + 暗色调 + 编辑 + 平衡 娱乐、游戏
notion 干净 + 中性 + 几何 + 密集 产品演示、SaaS
bold-editorial 干净 + 鲜艳 + 编辑 + 平衡 产品发布、主题演讲
editorial-infographic 干净 + 冷色调 + 编辑 + 密集 技术解释、研究
fantasy-animation 有机 + 鲜艳 + 手写 + 极简 教育故事讲述
intuition-machine 干净 + 冷色调 + 技术性 + 密集 技术文档、学术
pixel-art 像素 + 鲜艳 + 技术性 + 平衡 游戏、开发者演讲
scientific 干净 + 冷色调 + 技术性 + 密集 生物学、化学、医学
vector-illustration 干净 + 鲜艳 + 人文 + 平衡 创意、儿童内容
vintage 纸张 + 暖色调 + 编辑 + 平衡 历史、遗产

样式维度

维度 选项 描述
纹理 干净、网格、有机、像素、纸张 视觉纹理和背景处理
氛围 专业、暖色调、冷色调、鲜艳、暗色调、中性 色彩温度和调色板风格
字体排版 几何、人文、手写、编辑、技术性 标题和正文文本样式
密度 极简、平衡、密集 每张幻灯片的信息密度

完整规格:references/dimensions/*.md

自动样式选择

内容信号 预设
教程、学习、教育、指南、初学者 sketch-notes
课堂、教学、学校、黑板 chalkboard
架构、系统、数据、分析、技术性 blueprint
创意、儿童、小孩、可爱 vector-illustration
简报、学术、研究、双语 intuition-machine
高管、极简、干净、简单 minimal
SaaS、产品、仪表板、指标 notion
投资者、季度、业务、企业 corporate
发布、营销、主题演讲、杂志 bold-editorial
娱乐、音乐、游戏、氛围感 dark-atmospheric
解释器、新闻、科学传播 editorial-infographic
故事、幻想、动画、魔法 fantasy-animation
游戏、复古、像素、开发者 pixel-art
生物学、化学、医学、科学 scientific
历史、遗产、复古、探险 vintage
生活方式、健康、旅行、艺术 watercolor
默认 blueprint

设计哲学

专为阅读和分享设计,而非现场演示:

  • 每张幻灯片无需口头解说即可自解释
  • 滚动时逻辑流程清晰
  • 每张幻灯片内包含所有必要上下文
  • 优化用于社交媒体分享

参见 references/design-guidelines.md 获取:

  • 受众特定原则
  • 视觉层次
  • 内容密度指南
  • 色彩和字体排版选择
  • 字体推荐

参见 references/layouts.md 获取布局选项。

文件管理

输出目录

slide-deck/{主题-slug}/
├── source-{slug}.{ext}
├── outline.md
├── prompts/
│   └── 01-slide-cover.md, 02-slide-{slug}.md, ...
├── 01-slide-cover.png, 02-slide-{slug}.png, ...
├── {topic-slug}.pptx
└── {topic-slug}.pdf

Slug: 提取主题(2-4 个单词,kebab-case)。示例:“Introduction to Machine Learning” → intro-machine-learning

冲突处理: 参见步骤 1.3 用于现有内容检测和用户选项。

语言处理

检测优先级:

  1. --lang 标志(显式)
  2. EXTEND.md language 设置
  3. 用户对话语言(输入语言)
  4. 源内容语言

规则: 所有响应使用用户首选语言:

  • 问题和确认
  • 进度报告
  • 错误消息
  • 完成摘要

技术术语(样式名称、文件路径、代码)保持英文。

工作流程

复制此检查清单,并在完成项目时勾选:

幻灯片生成进度:
- [ ] 步骤 1:设置与分析
  - [ ] 1.1 加载偏好设置
  - [ ] 1.2 分析内容
  - [ ] 1.3 检查现有 ⚠️ 必需
- [ ] 步骤 2:确认 ⚠️ 必需(第 1 轮,可选第 2 轮)
- [ ] 步骤 3:生成大纲
- [ ] 步骤 4:审核大纲(条件性)
- [ ] 步骤 5:生成提示
- [ ] 步骤 6:审核提示(条件性)
- [ ] 步骤 7:生成图像
- [ ] 步骤 8:合并为 PPTX/PDF
- [ ] 步骤 9:输出摘要

流程

输入 → 偏好设置 → 分析 → [检查现有?] → 确认(1-2 轮) → 大纲 → [审核大纲?] → 提示 → [审核提示?] → 图像 → 合并 → 完成

步骤 1:设置与分析

1.1 加载偏好设置(EXTEND.md

使用 Bash 检查 EXTEND.md 存在性(优先级顺序):

# 先检查项目级别
test -f .baoyu-skills/baoyu-slide-deck/EXTEND.md && echo "project"

# 然后用户级别(跨平台:$HOME 在 macOS/Linux/WSL 上工作)
test -f "$HOME/.baoyu-skills/baoyu-slide-deck/EXTEND.md" && echo "user"

┌──────────────────────────────────────────────────┬───────────────────┐ │ 路径 │ 位置 │ ├──────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-slide-deck/EXTEND.md │ 项目目录 │ ├──────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-slide-deck/EXTEND.md │ 用户主目录 │ └──────────────────────────────────────────────────┴───────────────────┘

当找到 EXTEND.md → 读取、解析、输出摘要给用户

📋 从 [完整路径] 加载偏好设置
├─ 样式:[预设/自定义名称]
├─ 受众:[受众或"自动检测"]
├─ 语言:[语言或"自动检测"]
└─ 审核:[启用/禁用]

当未找到 EXTEND.md → 使用 AskUserQuestion 进行首次设置或使用默认值进行。

EXTEND.md 支持: 首选样式 | 自定义维度 | 默认受众 | 语言偏好 | 审核偏好

模式:references/config/preferences-schema.md

1.2 分析内容

  1. 保存源内容(如果粘贴,保存为 source.md
    • 备份规则: 如果 source.md 存在,重命名为 source-backup-YYYYMMDD-HHMMSS.md
  2. 遵循 references/analysis-framework.md 进行内容分析
  3. 分析内容信号以推荐样式
  4. 检测源语言
  5. 确定推荐的幻灯片数量
  6. 从内容生成主题 slug

1.3 检查现有内容 ⚠️ 必需

必须在继续步骤 2 前执行。

使用 Bash 检查输出目录是否存在:

test -d "slide-deck/{topic-slug}" && echo "exists"

如果目录存在,使用 AskUserQuestion:

header: "现有"
question: "发现现有内容。如何继续?"
options:
  - label: "重新生成大纲"
    description: "保留图像,仅重新生成大纲"
  - label: "重新生成图像"
    description: "保留大纲,仅重新生成图像"
  - label: "备份并重新生成"
    description: "备份到 {slug}-backup-{timestamp},然后重新生成全部"
  - label: "退出"
    description: "取消,保持现有内容不变"

保存到 analysis.md 包含:

  • 主题、受众、内容信号
  • 推荐样式(基于自动样式选择)
  • 推荐幻灯片数量
  • 语言检测

步骤 2:确认 ⚠️ 必需

两轮确认: 第 1 轮始终进行,第 2 轮仅在选择了"自定义维度"时进行。

语言: 使用用户输入语言或保存的语言偏好。

显示摘要:

  • 内容类型 + 识别的主题
  • 语言:[来自 EXTEND.md 或检测]
  • 推荐样式: [预设](基于内容信号)
  • 推荐幻灯片: [N](基于内容长度)

第 1 轮(始终)

使用 AskUserQuestion 处理所有 5 个问题:

问题 1:样式

header: "样式"
question: "此幻灯片使用哪种视觉样式?"
options:
  - label: "{recommended_preset}(推荐)"
    description: "基于内容分析的最佳匹配"
  - label: "{alternative_preset}"
    description: "[备选样式描述]"
  - label: "自定义维度"
    description: "分别选择纹理、氛围、字体排版、密度"

问题 2:受众

header: "受众"
question: "主要读者是谁?"
options:
  - label: "普通读者(推荐)"
    description: "广泛吸引力,可访问内容"
  - label: "初学者/学习者"
    description: "教育焦点,清晰解释"
  - label: "专家/专业人士"
    description: "技术深度,领域知识"
  - label: "高管"
    description: "高级洞察,最小细节"

问题 3:幻灯片数量

header: "幻灯片"
question: "需要多少张幻灯片?"
options:
  - label: "{N} 张幻灯片(推荐)"
    description: "基于内容长度"
  - label: "较少({N-3} 张幻灯片)"
    description: "更紧凑,细节较少"
  - label: "更多({N+3} 张幻灯片)"
    description: "更详细的分解"

问题 4:审核大纲

header: "大纲"
question: "在生成提示前审核大纲?"
options:
  - label: "是,审核大纲(推荐)"
    description: "审核幻灯片标题和结构"
  - label: "否,跳过大纲审核"
    description: "直接进行提示生成"

问题 5:审核提示

header: "提示"
question: "在生成图像前审核提示?"
options:
  - label: "是,审核提示(推荐)"
    description: "审核图像生成提示"
  - label: "否,跳过提示审核"
    description: "直接进行图像生成"

第 2 轮(仅在选择了"自定义维度"时)

使用 AskUserQuestion 处理所有 4 个维度:

问题 1:纹理

header: "纹理"
question: "哪种视觉纹理?"
options:
  - label: "干净"
    description: "纯色,无纹理"
  - label: "网格"
    description: "微网格覆盖,技术性"
  - label: "有机"
    description: "柔和纹理,手绘感"
  - label: "像素"
    description: "块状像素,8 位美学"

(注意:“纸张” 可通过其他方式使用)

问题 2:氛围

header: "氛围"
question: "哪种色彩氛围?"
options:
  - label: "专业"
    description: "冷中性,海军蓝/金色"
  - label: "暖色调"
    description: "大地色调,友好"
  - label: "冷色调"
    description: "蓝色、灰色,分析性"
  - label: "鲜艳"
    description: "高饱和度,大胆"

(注意:“暗色调”、“中性” 可通过其他方式使用)

问题 3:字体排版

header: "字体排版"
question: "哪种字体排版样式?"
options:
  - label: "几何"
    description: "现代无衬线,干净"
  - label: "人文"
    description: "友好,可读性强"
  - label: "手写"
    description: "马克笔/刷子,有机"
  - label: "编辑"
    description: "杂志风格,戏剧性"

(注意:“技术性” 可通过其他方式使用)

问题 4:密度

header: "密度"
question: "信息密度?"
options:
  - label: "平衡(推荐)"
    description: "每张幻灯片 2-3 个关键点"
  - label: "极简"
    description: "一个焦点点,最大空白空间"
  - label: "密集"
    description: "多个数据点,紧凑"

第 2 轮后: 存储自定义维度作为样式配置。

确认后:

  1. 更新 analysis.md 以包含确认的偏好设置
  2. 存储来自问题 4 的 skip_outline_review 标志
  3. 存储来自问题 5 的 skip_prompt_review 标志
  4. → 步骤 3

步骤 3:生成大纲

使用步骤 2 确认的样式创建大纲。

样式解析:

  • 如果选择了预设 → 读取 references/styles/{preset}.md
  • 如果选择了自定义维度 → 从 references/dimensions/ 读取维度文件并组合

生成:

  1. 遵循 references/outline-template.md 以获取结构
  2. 从样式或维度构建 STYLE_INSTRUCTIONS
  3. 应用确认的受众、语言、幻灯片数量
  4. 保存为 outline.md

生成后:

  • 如果 --outline-only,在此停止
  • 如果 skip_outline_review 为真 → 跳过步骤 4,转到步骤 5
  • 如果 skip_outline_review 为假 → 继续到步骤 4

步骤 4:审核大纲(条件性)

跳过此步骤 如果用户在步骤 2 中选择了"否,跳过大纲审核"。

目的: 在生成提示前审核大纲结构。

语言: 使用用户输入语言或保存的语言偏好。

显示:

  • 总幻灯片:N
  • 样式:[预设名称或"自定义:纹理+氛围+字体排版+密度"]
  • 按幻灯片摘要表:
| # | 标题 | 类型 | 布局 |
|---|-------|------|--------|
| 1 | [标题] | 封面 | title-hero |
| 2 | [标题] | 内容 | [布局] |
| 3 | [标题] | 内容 | [布局] |
| ... | ... | ... | ... |

使用 AskUserQuestion:

header: "确认"
question: "准备生成提示?"
options:
  - label: "是,继续(推荐)"
    description: "生成图像提示"
  - label: "先编辑大纲"
    description: "我会修改 outline.md 后再继续"
  - label: "重新生成大纲"
    description: "以不同方法创建新大纲"

响应后:

  1. 如果"先编辑大纲" → 通知用户编辑 outline.md,准备好时再次询问
  2. 如果"重新生成大纲" → 回到步骤 3
  3. 如果"是,继续" → 继续到步骤 5

步骤 5:生成提示

  1. 读取 references/base-prompt.md
  2. 对于大纲中的每张幻灯片:
    • 从大纲(而非样式文件)提取 STYLE_INSTRUCTIONS
    • 添加幻灯片特定内容
    • 如果指定了 Layout:,则包括来自 references/layouts.md 的布局指导
  3. 保存到 prompts/ 目录
    • 备份规则: 如果提示文件存在,重命名为 prompts/NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.md

生成后:

  • 如果 --prompts-only,在此停止并输出提示摘要
  • 如果 skip_prompt_review 为真 → 跳过步骤 6,转到步骤 7
  • 如果 skip_prompt_review 为假 → 继续到步骤 6

步骤 6:审核提示(条件性)

跳过此步骤 如果用户在步骤 2 中选择了"否,跳过提示审核"。

目的: 在生成图像前审核提示。

语言: 使用用户输入语言或保存的语言偏好。

显示:

  • 总提示:N
  • 样式:[预设名称或自定义维度]
  • 提示列表:
| # | 文件名 | 幻灯片标题 |
|---|----------|-------------|
| 1 | 01-slide-cover.md | [标题] |
| 2 | 02-slide-xxx.md | [标题] |
| ... | ... | ... |
  • 提示目录路径:prompts/

使用 AskUserQuestion:

header: "确认"
question: "准备生成幻灯片图像?"
options:
  - label: "是,继续(推荐)"
    description: "生成所有幻灯片图像"
  - label: "先编辑提示"
    description: "我会修改提示后再继续"
  - label: "重新生成提示"
    description: "以不同方法创建新提示"

响应后:

  1. 如果"先编辑提示" → 通知用户编辑提示,准备好时再次询问
  2. 如果"重新生成提示" → 回到步骤 5
  3. 如果"是,继续" → 继续到步骤 7

步骤 7:生成图像

对于 --images-only: 从此处开始使用现有提示。

对于 --regenerate N: 仅重新生成指定幻灯片。

标准流程:

  1. 选择可用的图像生成技能
  2. 生成会话 ID:slides-{topic-slug}-{timestamp}
  3. 对于每张幻灯片:
    • 备份规则: 如果图像文件存在,重命名为 NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.png
    • 使用相同会话 ID 顺序生成图像
  4. 报告进度:“已生成 X/N”(使用用户语言)
  5. 在报告错误前自动重试一次失败

步骤 8:合并为 PPTX 和 PDF

npx -y bun ${SKILL_DIR}/scripts/merge-to-pptx.ts <slide-deck-dir>
npx -y bun ${SKILL_DIR}/scripts/merge-to-pdf.ts <slide-deck-dir>

步骤 9:输出摘要

语言: 使用用户输入语言或保存的语言偏好。

幻灯片生成完成!

主题: [主题]
样式: [预设名称或自定义维度]
位置: [目录路径]
幻灯片: 共 N 张

- 01-slide-cover.png - 封面
- 02-slide-intro.png - 内容
- ...
- {NN}-slide-back-cover.png - 封底

大纲: outline.md
PPTX: {topic-slug}.pptx
PDF: {topic-slug}.pdf

部分工作流程

选项 工作流程
--outline-only 仅步骤 1-3(大纲后停止)
--prompts-only 步骤 1-5(生成提示,跳过图像)
--images-only 跳过到步骤 7(需要现有 prompts/)
--regenerate N 仅重新生成特定幻灯片

使用 --prompts-only

生成大纲和提示而不生成图像:

/baoyu-slide-deck content.md --prompts-only

输出:outline.md + prompts/*.md 准备审核/编辑。

使用 --images-only

从现有提示生成图像(从步骤 7 开始):

/baoyu-slide-deck slide-deck/topic-slug/ --images-only

先决条件:

  • prompts/ 目录包含幻灯片提示文件
  • outline.md 包含样式信息

使用 --regenerate

重新生成特定幻灯片:

# 单张幻灯片
/baoyu-slide-deck slide-deck/topic-slug/ --regenerate 3

# 多张幻灯片
/baoyu-slide-deck slide-deck/topic-slug/ --regenerate 2,5,8

流程:

  1. 读取指定幻灯片的现有提示
  2. 仅重新生成这些幻灯片的图像
  3. 重新生成 PPTX/PDF

幻灯片修改

快速参考

操作 命令 手动步骤
编辑 --regenerate N 先更新提示文件 → 重新生成图像 → 重新生成 PDF
添加 手动 创建提示 → 生成图像 → 重排后续 → 更新大纲 → 重新生成 PDF
删除 手动 移除文件 → 重排后续 → 更新大纲 → 重新生成 PDF

编辑单张幻灯片

  1. 先更新提示文件prompts/NN-slide-{slug}.md
  2. 运行:/baoyu-slide-deck <目录> --regenerate N
  3. 或手动重新生成图像 + PDF

重要: 更新幻灯片时,始终先更新提示文件(prompts/NN-slide-{slug}.md)再重新生成。这确保更改被记录且可重现。

添加新幻灯片

  1. 在位置创建提示:prompts/NN-slide-{new-slug}.md
  2. 使用相同会话 ID 生成图像
  3. 重排: 后续文件重编号为 NN+1(slug 不变)
  4. 更新 outline.md
  5. 重新生成 PPTX/PDF

删除幻灯片

  1. 移除 NN-slide-{slug}.pngprompts/NN-slide-{slug}.md
  2. 重排: 后续文件重编号为 NN-1(slug 不变)
  3. 更新 outline.md
  4. 重新生成 PPTX/PDF

文件命名

格式:NN-slide-[slug].png

  • NN: 两位序列号(01、02、…)
  • slug: 来自内容的 kebab-case(2-5 个单词,唯一)

重排规则: 仅 NN 变化,slug 保持不变。

参见 references/modification-guide.md 以获取完整细节。

参考资料

文件 内容
references/analysis-framework.md 演示文稿内容分析
references/outline-template.md 大纲结构和格式
references/modification-guide.md 编辑、添加、删除幻灯片工作流程
references/content-rules.md 内容和样式指南
references/design-guidelines.md 受众、字体排版、色彩、视觉元素
references/layouts.md 布局选项和选择技巧
references/base-prompt.md 图像生成基本提示
references/dimensions/*.md 维度规格(纹理、氛围、字体排版、密度)
references/dimensions/presets.md 预设 → 维度映射
references/styles/<style>.md 完整样式规格(旧版)
references/config/preferences-schema.md EXTEND.md 结构

注意事项

  • 图像生成:每张幻灯片 10-30 秒
  • 生成失败时自动重试一次
  • 对于敏感公众人物使用风格化替代
  • 通过会话 ID 保持样式一致性
  • 步骤 2 确认必需 - 不要跳过(样式、受众、幻灯片、大纲审核、提示审核)
  • 步骤 4 条件性 - 仅在用户在步骤 2 请求大纲审核时
  • 步骤 6 条件性 - 仅在用户在步骤 2 请求提示审核时

扩展支持

通过 EXTEND.md 自定义配置。参见步骤 1.1 以获取路径和支持的选项。