关于 baoyu-slide-deck
baoyu-slide-deck 是将内容制作成幻灯片图片的技能,适用于需要阅读和分享的演示材料。它提供多种风格预设与受众、语言和页数选项,也可将生成的幻灯片合并为 PPTX 或 PDF。
主要功能
- 01将内容生成幻灯片图片
- 02提供 17 种风格预设
- 03可指定受众、语言和页数
- 04支持大纲或提示词单独输出
- 05将图片合并为 PPTX 或 PDF
适用场景
- 01制作便于阅读和分享的内容幻灯片
- 02为教程或技术说明整理视觉叙述
- 03将生成的幻灯片导出为 PPTX 或 PDF
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jimliu/ baoyu-skills --skill baoyu-slide-deck安装后在 Claude Code 中输入/baoyu-slide-deck确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/analysis-framework.mdbase-prompt.mdcodex-imagegen.mdconfirmation.mdcontent-rules.mddesign-guidelines.mdlayouts.mdmodification-guide.mdoutline-template.mdreferences/config/preferences-schema.mdreferences/dimensions/density.mdmood.mdpresets.mdtexture.mdtypography.mdreferences/styles/blueprint.mdbold-editorial.mdchalkboard.mdcorporate.mddark-atmospheric.mdeditorial-infographic.mdfantasy-animation.mdhand-drawn-edu.mdintuition-machine.mdminimal.mdnotion.mdpixel-art.mdscientific.mdsketch-notes.mdvector-illustration.md详细介绍
幻灯片生成器
将内容转换为专业的幻灯片图片。此幻灯片组旨在供用户阅读和分享(幻灯片内容自明、滚动浏览逻辑清晰、适合社交媒体),而非用于现场演示——以下所有版式和信息密度决策均基于这一假设。
用户输入工具
当此技能向用户提问时,请遵循以下工具选择规则(按优先级排序):
- 优先使用当前 Agent 运行时提供的内置用户输入工具,例如
AskUserQuestion、request_user_input、clarify、ask_user或任何等效工具。 - 备用方案:如果不存在此类工具,则发送带编号的纯文本消息,并请用户针对每个问题回复所选编号或答案。
- 批量提问:如果工具支持每次调用提出多个问题,则将所有适用问题合并到一次调用中;如果一次只能提出一个问题,则按优先级逐个提问。
下方列出的 AskUserQuestion 用法仅为示例——在其他运行时中,请替换为本地等效工具。
图像生成工具
此技能需要渲染图像时,请按以下顺序确定后端:
- 当前请求指定的后端——如果用户在当前消息中指定了某个后端,请使用该后端。
- 已保存的偏好——如果
EXTEND.md将preferred_image_backend设为当前可用的后端,请使用该后端。 - 自动选择(偏好设为
auto、未设置,或指定的后端不可用时):- Codex(
imagegen)——首先检查可用技能或工具清单。如果其中列出了名为imagegen的技能,则说明你正在 Codex 中运行,必须使用该技能:通过Skill工具调用,并设置skill: "imagegen",传入已保存的提示词文件内容(以及 Codeximagegen自身参数中要求的输出路径和宽高比)。Codeximagegen是该运行时的官方栅格图像后端,其优先级高于任何非原生技能(例如baoyu-image-gen),除非用户已明确指定了其他preferred_image_backend。 - 通过
codex exec使用 Codex(codex-imagegen)——如果当前运行时未提供原生imagegen技能,但codexCLI 已在PATH中且已登录 Codex,则通过baoyu-image-gen --provider codex-cli调用(优先);如果baoyu-image-gen不可用,则直接调用捆绑的包装程序。详情、参数和运行时发现流程请参阅 references/codex-imagegen.md——仅在选择此分支时加载该文件。 - Cursor(
GenerateImage)——如果运行时提供原生GenerateImage工具,则说明你正在 Cursor 中运行,其优先级高于任何非原生技能,与 Codeximagegen相同。请注意两个限制:(a)该工具没有宽高比参数——请在传入description的提示词中明确说明目标宽高比或尺寸;(b)该工具不接受输出目录——它会将文件保存到工具管理的位置,因此生成后请将文件复制或移动到此技能要求的输出路径(例如outputs/.../NN-xxx.png)。参考图像请放入reference_image_paths。 - 其他运行时原生工具——如果运行时提供其他原生图像工具(例如 Hermes
image_generate),请以相同方式使用。 - 否则,如果恰好安装了一个非原生后端(例如
baoyu-image-gen),请使用该后端。 - 否则(安装了多个非原生后端,且没有运行时原生工具),请向用户询问一次——并与其他初始问题合并提问。
- Codex(
- 如果没有可用后端,请告知用户,并询问接下来如何处理。
⛔ 绝不要使用 SVG、HTML、canvas 或其他基于代码的渲染方式替代栅格图像生成。 Codex
imagegen自身的说明指出,当输出应为位图素材,而非仓库原生代码或矢量图时,应使用它。如果在步骤 3 中无法找到栅格图像后端,请转到步骤 4 并询问用户——不要悄悄输出 SVG、编写内联<svg>标记,或生成 HTML/CSS 艺术图作为替代。即使文章或章节看起来“像示意图”,也同样适用:调用此规则的使用方技能已确定它需要的是栅格图像。
⛔ 绝不要通过在生成的位图上涂抹来修复渲染出的文本。 不要使用 ImageMagick、Pillow、Canvas、SVG、HTML/CSS、OCR 脚本或任何其他编程叠加方式,去遮盖、改写、擦除、描边或替换已生成幻灯片图像中的标题、项目符号或任何其他文本。如果文本有误或不清晰,请使用修正后的提示词重新生成、简化幻灯片上的文字,或询问用户应保留哪个不完美的候选版本。
设置 preferred_image_backend: ask 会强制每次运行都显示步骤 3 的提示,无论是否有可用后端。用户可以通过下方的 ## Changing Preferences 部分更改固定的后端。
提示词文件要求(硬性):在调用任何后端之前,必须将每张图像的完整最终提示词写入 prompts/ 下的独立文件(命名格式:NN-slide-[slug].md)。该文件是可复现记录,也让你无需重新生成提示词即可切换后端。
上文提到的具体工具名称(imagegen、GenerateImage、image_generate、baoyu-image-gen)仅为示例——请在遵守同一规则的前提下替换为本地对应工具。
批量生成策略
当前生成组的所有提示词文件保存并验证完毕后,默认批量生成幻灯片图像。
优先级顺序:
- 如果所选后端提供原生批处理/多任务接口,请使用该接口。每项任务都必须保留各自的提示词文件、输出路径、纵横比、会话 ID 和直接引用图像。
- 如果没有原生批处理接口,但运行环境支持并行工具调用,则每次最多并行生成
generation_batch_size张幻灯片图像。默认值:4。当前消息中的明确请求(例如--batch-size 4或“并行4张一起生成”)优先于 EXTEND.md。 - 如果既不支持原生批处理,也不支持并行工具调用,则按顺序生成。
规则:
- 选定的所有幻灯片提示词文件都已存在于磁盘上之前,绝不要开始第一批生成。
- 失败项重试一次,不要重新生成成功项。
- 不要仅为并行渲染图像而使用子 Agent。子 Agent 仅用于单独的提示词迭代或创意探索。
- 所有选定的幻灯片图像生成完毕后,才能合并 PPTX/PDF。
确认策略
默认行为:生成前先确认。
- 将明确调用技能、文件路径、匹配的信号/预设和
EXTEND.md默认设置都视为建议输入。它们均不允许跳过确认。 - 用户完成步骤 2 之前,不要开始步骤 3 或之后的步骤。
- 只有当前请求明确要求跳过确认时,才可跳过,例如:“直接生成”“不用确认”“跳过确认”“按默认出幻灯片”或同义表达。
- 如果明确跳过确认,请在生成前的下一条面向用户的更新中说明假定的风格/受众/幻灯片数量/语言/后端。
语言
在问题、进度报告、错误消息和完成摘要中,使用用户所用的语言。技术词条(风格名称、文件路径、代码)保留英文。
脚本目录
{baseDir} = 此 SKILL.md 所在目录。解析 ${BUN_X}:优先使用 bun;否则使用 npx -y bun;若两者都不可用,则建议运行 brew install oven-sh/bun/bun。
| 脚本 | 用途 |
|---|---|
scripts/merge-to-pptx.ts | 将幻灯片合并为 PowerPoint |
scripts/merge-to-pdf.ts | 将幻灯片合并为 PDF |
选项
| 选项 | 描述 |
|---|---|
--style <name> | 预设(见下文的预设),custom 或自定义风格名称 |
--audience <type> | 初学者 / 中级用户 / 专家 / 高管 / 通用 |
--lang <code> | 输出语言(en、zh、ja 等) |
--slides <N> | 目标幻灯片数量(建议 8–25 页,最多 30 页) |
--ref <files...> | 按幻灯片应用参考图片(风格 / 配色 / 构图 / 主题) |
--batch-size <n> | 本次运行临时生成幻灯片图片的批次大小。默认值:EXTEND.md 中的 generation_batch_size,否则为 4。限制在 1–8 之间。 |
--outline-only | 完成大纲后停止 |
--prompts-only | 完成提示词后停止(跳过图片生成) |
--images-only | 跳转至步骤 7;需要已有 prompts/ |
--regenerate <N> | 重新生成指定幻灯片:3 或 2,5,8 |
风格系统
17 种预设,涵盖技术、教育、生活方式和编辑设计等用例。每种预设由四个维度组合而成(纹理 / 氛围 / 字体排版 / 信息密度)。如果用户在第 1 轮选择“自定义维度”,确认流程的第 2 轮会针对每个维度提问一个问题——选项和原文内容见 references/confirmation.md。
预设(17 种)
| 预设 | 维度 | 适用场景 |
|---|---|---|
blueprint(默认) | 网格 + 冷色调 + 技术风 + 均衡 | 架构、系统设计 |
chalkboard | 自然 + 暖色调 + 手写风 + 均衡 | 教育、教程 |
corporate | 简洁 + 专业 + 几何风 + 均衡 | 投资者演示文稿、提案 |
minimal | 简洁 + 中性色调 + 几何风 + 极简 | 高管简报 |
sketch-notes | 自然 + 暖色调 + 手写风 + 均衡 | 教育、教程 |
hand-drawn-edu | 自然 + 马卡龙色调 + 手写风 + 均衡 | 教育示意图、流程讲解 |
watercolor | 自然 + 暖色调 + 人文风 + 极简 | 生活方式、健康 |
dark-atmospheric | 简洁 + 深色调 + 编辑风 + 均衡 | 娱乐、游戏 |
notion | 简洁 + 中性色调 + 几何风 + 密集 | 产品演示、SaaS |
bold-editorial | 简洁 + 鲜艳 + 编辑风 + 均衡 | 产品发布、主题演讲 |
editorial-infographic | 简洁 + 冷色调 + 编辑风 + 密集 | 技术讲解、研究 |
fantasy-animation | 自然 + 鲜艳 + 手写风 + 极简 | 教育叙事 |
intuition-machine | 简洁 + 冷色调 + 技术风 + 密集 | 技术文档、学术内容 |
pixel-art | 像素风 + 鲜艳 + 技术风 + 均衡 | 游戏、开发者演讲 |
scientific | 简洁 + 冷色调 + 技术风 + 密集 | 生物、化学、医学 |
vector-illustration | 简洁 + 鲜艳 + 人文风 + 均衡 | 创意内容、儿童内容 |
vintage | 纸张质感 + 暖色调 + 编辑风 + 均衡 | 历史、传统文化 |
各预设的详细规格:references/styles/<preset>.md。预设到维度的映射:references/dimensions/presets.md。
维度(选择“自定义维度”时)
| 维度 | 选项 | 用途 |
|---|---|---|
| 纹理 | 简洁、网格、自然、像素、纸张 | 背景处理 |
| 氛围 | 专业、暖色调、冷色调、鲜艳、深色调、中性色调、马卡龙色调 | 色彩温度 |
| 字体排版 | 几何风、人文风、手写风、编辑风、技术风 | 标题 / 正文样式 |
| 信息密度 | 极简、均衡、密集 | 每张幻灯片的信息量 |
各维度的完整规格:references/dimensions/*.md。
自动选择
将内容信号与预设匹配。选择信号关键词出现在源内容中的第一行;如果没有匹配项,则使用 blueprint。
| 源内容中的信号 | 预设 |
|---|---|
| 教程、学习、教育、指南、初学者 | sketch-notes |
| 手绘、信息图、图表、流程、入门引导 | hand-drawn-edu |
| 课堂、教学、学校、黑板 | chalkboard |
| 架构、系统、数据、分析、技术 | blueprint |
| 创意、儿童、小孩、可爱 | vector-illustration |
| 简报、学术、研究、双语 | intuition-machine |
| 高管、极简、整洁、简单 | minimal |
| SaaS、产品、仪表盘、指标 | notion |
| 投资者、季度、商业、企业 | corporate |
| 发布、营销、主题演讲、杂志 | bold-editorial |
| 娱乐、音乐、游戏、氛围 | dark-atmospheric |
| 讲解、新闻、科学传播 | editorial-infographic |
| 故事、奇幻、动画、魔法 | fantasy-animation |
| 游戏、复古、像素、开发者 | pixel-art |
| 生物学、化学、医学、科学 | scientific |
| 历史、遗产、复古、探险 | vintage |
| 生活方式、健康、旅行、艺术 | watercolor |
幻灯片数量启发式规则
| 源内容长度 | 建议幻灯片数量 |
|---|---|
| < 1000 个词 | 5-10 |
| 1000-3000 个词 | 10-18 |
| 3000-5000 个词 | 15-25 |
| > 5000 个词 | 20-30(考虑拆分) |
参考图像
用户可以提供参考图像,以指导风格、配色、布局或主题。
接收方式:通过 --ref <files...> 接收,或在用户提供文件路径 / 在对话中粘贴图像时接收。
- 文件路径 → 复制到
{slide-deck-dir}/refs/NN-ref-{slug}.{ext} - 粘贴的图像没有路径 → 询问路径,或以文字形式口头提取风格特征作为替代方案
使用模式(每个参考图像):
| 用途 | 效果 |
|---|---|
direct | 将文件作为每张幻灯片的参考图像传递给后端 |
style | 提取风格特征(线条处理、纹理、氛围),并附加到每张幻灯片的提示词正文中 |
palette | 提取十六进制颜色,并附加到每张幻灯片的提示词正文中 |
在每张幻灯片的提示词 frontmatter 中记录参考图像:
references:
- ref_id: 01
filename: 01-ref-brand.png
usage: direct
生成时,确认文件存在。如果 usage: direct 且后端接受参考图像(例如 baoyu-image-gen --ref),则在每张幻灯片中传递该文件。否则,将提取的 style / palette 特征嵌入提示词文本中。
文件布局
slide-deck/{topic-slug}/
├── source-{slug}.{ext}
├── outline.md
├── prompts/NN-slide-{slug}.md
├── NN-slide-{slug}.png
├── {topic-slug}.pptx
└── {topic-slug}.pdf
Slug:2-4 个词,采用 kebab-case,从主题中提取。“Introduction to Machine Learning” → intro-machine-learning。
备份规则(适用于所有步骤):如果即将写入的文件已存在,则在写入新文件之前,将其重命名为 <name>-backup-YYYYMMDD-HHMMSS.<ext>。这可以保护用户编辑内容,并支持回滚。
工作流
复制此检查清单,并在完成各项后勾选:
- [ ] Step 1: Setup & analyze
- [ ] Step 2: Confirmation ⚠️ REQUIRED (Round 1; Round 2 only if "Custom dimensions")
- [ ] Step 3: Generate outline
- [ ] Step 4: Review outline (conditional)
- [ ] Step 5: Generate prompts
- [ ] Step 6: Review prompts (conditional)
- [ ] Step 7: Generate images
- [ ] Step 8: Merge to PPTX/PDF
- [ ] Step 9: Output summary
第 1 步:设置与分析
1.1 加载 EXTEND.md — 按以下顺序检查路径;以第一个匹配项为准:
| 路径 | 范围 |
|---|---|
.baoyu-skills/baoyu-slide-deck/EXTEND.md | 项目 |
${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-slide-deck/EXTEND.md | XDG |
$HOME/.baoyu-skills/baoyu-slide-deck/EXTEND.md | 用户主目录 |
如果找到,请读取、解析并打印摘要(风格 / 受众 / 语言 / 审核 / 生成批次大小)。如果未找到,则使用默认设置继续 — 首次设置不会阻止此技能运行。架构:references/config/preferences-schema.md。
1.2 分析内容 — 按照 references/analysis-framework.md 执行:对内容分类、检测语言、记录风格选择信号、根据篇幅估算幻灯片数量(参见上文风格系统中的幻灯片数量启发规则),生成主题 slug。将源内容保存为 source.md(如有备份规则,则遵循该规则)。
1.3 检查现有输出 ⚠️ 第 2 步前必须执行。如果 slide-deck/{topic-slug}/ 已存在,请询问如何继续 — 四个选项(重新生成大纲 / 重新生成图像 / 备份后重新生成 / 退出),具体措辞见 references/confirmation.md。
将分析结果保存到 analysis.md:主题、受众、信号、推荐风格和幻灯片数量、语言检测结果。
第 2 步:确认 ⚠️ 必须执行
硬性门槛:根据确认政策,此步骤为必需步骤 — 用户在此处确认(或在当前请求中明确选择不确认,使用“直接生成” / 等效措辞)之前,不得开始第 3 步及后续步骤。
第 1 轮(始终执行) — 在一次 AskUserQuestion 调用中集中询问五个问题:风格、受众、幻灯片数量、是否审核大纲、是否审核提示词。具体选项见 references/confirmation.md。
提问前显示摘要:
- 内容类型 + 主题
- 检测到的语言
- 推荐风格(根据信号得出)
- 推荐幻灯片数量(根据篇幅得出)
第 2 轮(仅在第 1 轮选择“自定义维度”时执行) — 集中询问四个问题:纹理、氛围、排版、信息密度。具体选项见 references/confirmation.md。这四个答案将替换预设。
确认后:使用最终选项更新 analysis.md,并存储 Q4/Q5 中的 skip_outline_review / skip_prompt_review 标记。
第 3 步:生成大纲
确定风格:预设 → references/styles/{preset}.md;自定义维度 → 组合 references/dimensions/ 中的文件。根据确定的风格构建 STYLE_INSTRUCTIONS,应用已确认的受众、语言和幻灯片数量,遵循 references/outline-template.md,并保存为 outline.md。
如果指定了 --outline-only,则在此处停止。如果设置了 skip_outline_review,则跳过第 4 步。
第 4 步:审核大纲(有条件执行)
显示逐张幻灯片的表格(# | Title | Type | Layout),并附上总数和确定的风格。询问:继续 / 先编辑大纲 / 重新生成 — 具体措辞见 references/confirmation.md。
选择“先编辑大纲”时,告知用户编辑 outline.md,并在准备好后再次询问。选择“重新生成大纲”时,返回第 3 步。
第 5 步:生成提示词
为大纲中的每张幻灯片:
- 读取
references/base-prompt.md - 从大纲中提取
STYLE_INSTRUCTIONS(不要重新读取风格文件) - 添加该幻灯片的内容
- 如果指定了
Layout:,则加入references/layouts.md中的指导 - 保存到
prompts/NN-slide-{slug}.md(遵循备份规则)
如果指定了 --prompts-only,则在此处停止。如果设置了 skip_prompt_review,则跳过第 6 步。
第 6 步:审核提示词(有条件执行)
显示提示词索引(# | Filename | Slide Title),并询问:继续 / 先编辑提示词 / 重新生成 — 具体措辞见 references/confirmation.md。各选项的处理方式与第 4 步相同。
第 7 步:生成图像
- 根据顶部的 Image Generation Tools 规则确定图像后端——如果安装了多个后端,只询问一次。
codex-imagegen调用方式:如果规则确定使用codex-imagegen,请参阅 references/codex-imagegen.md,了解调用约定(首选baoyu-image-gen --provider codex-cli路径、运行时包装器发现、参数说明、标准输出架构、批处理语义——每次调用 n=1,因此幻灯片批次必须为每张幻灯片分别调用一次包装器)。
- 确认每个
prompts/NN-slide-{slug}.md文件都存在(硬性要求;无论使用哪种后端,提示词文件都是可复现记录)。 - 会话 ID:
slides-{topic-slug}-{timestamp}——仅在后端支持会话时传递。 - 为选定的幻灯片创建任务列表,包含每张幻灯片的提示词文件、输出 PNG 路径、纵横比、会话 ID 和已验证的直接引用。
- 按照
## Batch Generation Policy分批生成幻灯片图像:优先使用后端原生批处理,其次使用运行时并行工具调用,最后才按顺序处理。分发前对 PNG 文件应用备份规则。报告进度时使用Generated X/N。仅对失败的项目重试一次,然后报告错误。
--regenerate N 会直接跳转到此步骤,仅处理指定的幻灯片。--images-only 会从此处开始,并使用现有提示词。
第 8 步:合并
${BUN_X} {baseDir}/scripts/merge-to-pptx.ts <slide-deck-dir>
${BUN_X} {baseDir}/scripts/merge-to-pdf.ts <slide-deck-dir>
第 9 步:总结
Slide Deck Complete!
Topic: [topic]
Style: [preset or "custom: texture+mood+typography+density"]
Location: [directory]
Slides: N
- 01-slide-cover.png
- ...
- NN-slide-back-cover.png
Outline: outline.md
PPTX: {topic-slug}.pptx
PDF: {topic-slug}.pdf
幻灯片修改
| 操作 | 方法 |
|---|---|
| 编辑 | 先更新 prompts/NN-slide-{slug}.md,然后运行 --regenerate N |
| 添加 | 在相应位置创建新的提示词,生成图像,将后续的 NN 重新编号(slug 保持不变),更新 outline.md,重新合并 |
| 删除 | 删除 PNG 和提示词,将后续内容重新编号,更新 outline.md,重新合并 |
重新生成图像前,务必先更新提示词文件——这样可确保 prompts 目录是唯一事实来源,并使更改可复现。重新编号时只更改 NN;slug 保持稳定,以确保引用仍然有效。
文本修正政策:
- 如果幻灯片的标题、项目符号或任何其他渲染文本存在拼写错误、乱码、难以阅读或视觉效果不佳等问题,请勿使用代码修补位图。
- 对于文本修正的重新生成,请编写新的提示词文件并指定新的输出路径,以便保留有缺陷的候选图像供对比。
- 后期处理仅限于裁剪、调整大小、压缩或格式转换,不得更改文本或主要构图。
完整详情请参阅 references/modification-guide.md。
参考资料
| 文件 | 内容 |
|---|---|
references/confirmation.md | 每项确认所用的 AskUserQuestion 选项原文 |
references/analysis-framework.md | 内容分析框架 |
references/outline-template.md | 大纲结构 |
references/base-prompt.md | 图像生成的基础提示词正文 |
references/layouts.md | 布局选项 |
references/design-guidelines.md | 受众、排版、颜色选择 |
references/content-rules.md | 内容指南 |
references/modification-guide.md | 编辑、添加和删除工作流 |
references/styles/<preset>.md | 各预设的规范 |
references/dimensions/*.md | 各维度的规范 |
references/config/preferences-schema.md | EXTEND.md 架构 |
注意事项
- 每张幻灯片的图像生成耗时约为 10-30 秒;请在处理过程中报告进度。
- 对于敏感的公众人物,优先使用风格化的替代方案,以避免肖像相似性问题。
- 如果后端支持会话,请通过会话 ID 保持视觉风格一致。
更改偏好设置
EXTEND.md 位于步骤 1.1 中列出的第一个匹配路径。有两种更改方式:
- 直接编辑 — 打开 EXTEND.md 并更改字段。完整架构:
references/config/preferences-schema.md。 - 常见单行修改:
preferred_image_backend: auto— 默认值;优先使用运行时原生工具,若只有一个已安装的后端,则回退使用该后端;仅当存在多个非原生后端时才会询问。preferred_image_backend: codex-imagegen— 固定使用 Codex 内置功能。preferred_image_backend: baoyu-image-gen— 固定使用 baoyu-image-gen 技能。preferred_image_backend: ask— 每次运行时确认后端。generation_batch_size: 4— 默认并发渲染的幻灯片图片数量,前提是后端/运行时支持批量或并行生成。preferred_style: blueprint、preferred_audience: experts、language: zh。