🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install jimliu/baoyu-skills/baoyu-slide-deck
💡 提示:需要 Node.js 和 NPM
幻灯片生成器
将内容转换为专业的幻灯片图像。
使用方法
/baoyu-slide-deck path/to/content.md
/baoyu-slide-deck path/to/content.md --style sketch-notes
/baoyu-slide-deck path/to/content.md --audience executives
/baoyu-slide-deck path/to/content.md --lang zh
/baoyu-slide-deck path/to/content.md --slides 10
/baoyu-slide-deck path/to/content.md --outline-only
/baoyu-slide-deck # 然后粘贴内容
脚本目录
代理执行说明:
- 确定此 SKILL.md 文件的目录路径为
{baseDir} - 脚本路径 =
{baseDir}/scripts/<脚本名称>.ts - 解析
${BUN_X}运行时:如果已安装bun→ 使用bun;如果npx可用 → 使用npx -y bun;否则建议安装 bun
| 脚本 | 用途 |
|---|---|
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 |
干净 + 中性 + 几何感 + 密集 | 产品演示、软件即服务 |
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 |
| 软件即服务、产品、仪表盘、指标 | 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/{主题标识符}/
├── source-{标识符}.{扩展名}
├── outline.md
├── prompts/
│ └── 01-slide-cover.md, 02-slide-{标识符}.md, ...
├── 01-slide-cover.png, 02-slide-{标识符}.png, ...
├── {主题标识符}.pptx
└── {主题标识符}.pdf
标识符:从内容中提取主题(2-4 个词,短横线连接)。示例:”Introduction to Machine Learning” → intro-machine-learning
冲突处理:参见步骤 1.3 了解检测到已存在内容时的处理和用户选项。
语言处理
检测优先级:
--lang标志(显式指定)- EXTEND.md 中的
language设置 - 用户的对话语言(输入语言)
- 源内容语言
规则:所有响应使用用户偏好的语言:
- 提问和确认
- 进度报告
- 错误信息
- 完成摘要
技术术语(样式名称、文件路径、代码)保持为英文。
工作流程
复制此清单并在完成时勾选项目:
幻灯片进度:
- [ ] 步骤 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)
检查 EXTEND.md 是否存在(优先级顺序):
# macOS, Linux, WSL, Git Bash
test -f .baoyu-skills/baoyu-slide-deck/EXTEND.md && echo "project"
test -f "${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-slide-deck/EXTEND.md" && echo "xdg"
test -f "$HOME/.baoyu-skills/baoyu-slide-deck/EXTEND.md" && echo "user"
# PowerShell (Windows)
if (Test-Path .baoyu-skills/baoyu-slide-deck/EXTEND.md) { "project" }
$xdg = if ($env:XDG_CONFIG_HOME) { $env:XDG_CONFIG_HOME } else { "$HOME/.config" }
if (Test-Path "$xdg/baoyu-skills/baoyu-slide-deck/EXTEND.md") { "xdg" }
if (Test-Path "$HOME/.baoyu-skills/baoyu-slide-deck/EXTEND.md") { "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 分析内容
- 保存源内容(如果粘贴,保存为
source.md)- 备份规则:如果
source.md已存在,重命名为source-backup-YYYYMMDD-HHMMSS.md
- 备份规则:如果
- 遵循
references/analysis-framework.md进行内容分析 - 分析内容信号以提供样式建议
- 检测源语言
- 确定推荐的幻灯片数量
- 从内容生成主题标识符
1.3 检查现有内容 ⚠️ 必需步骤
在进入步骤 2 之前必须执行。
使用 Bash 检查输出目录是否存在:
test -d "slide-deck/{主题标识符}" && echo "exists"
如果目录存在,使用 AskUserQuestion:
标题:"现有内容"
问题:"发现现有内容。如何处理?"
选项:
- 标签:"重新生成大纲"
描述:"保留图像,仅重新生成大纲"
- 标签:"重新生成图像"
描述:"保留大纲,仅重新生成图像"
- 标签:"备份并重新生成"
描述:"备份到 {标识符}-backup-{时间戳},然后重新生成所有内容"
- 标签:"退出"
描述:"取消,保持现有内容不变"
保存到 analysis.md,包含:
- 主题、受众、内容信号
- 推荐样式(基于自动样式选择)
- 推荐的幻灯片数量
- 语言检测结果
步骤 2:确认 ⚠️ 必需步骤
两轮确认:始终执行第 1 轮,仅当选择了”自定义维度”时才执行第 2 轮。
语言:使用用户的输入语言或保存的语言偏好。
显示摘要:
- 识别出的内容类型 + 主题
- 语言:[来自 EXTEND.md 或检测到的语言]
- 推荐样式:[预设名称](基于内容信号)
- 推荐幻灯片数量:[N](基于内容长度)
第 1 轮(始终执行)
使用 AskUserQuestion 提出全部 5 个问题:
问题 1:样式
标题:"样式"
问题:"此幻灯片使用哪种视觉样式?"
选项:
- 标签:"{推荐的预设}(推荐)"
描述:"基于内容分析的最佳匹配"
- 标签:"{备选预设}"
描述:"[备选样式描述]"
- 标签:"自定义维度"
描述:"分别选择纹理、情绪、字体、密度"
问题 2:受众
标题:"受众"
问题:"谁是主要读者?"
选项:
- 标签:"大众读者(推荐)"
描述:"广泛吸引力,内容易懂"
- 标签:"初学者/学习者"
描述:"教育重点,清晰解释"
- 标签:"专家/专业人士"
描述:"技术深度,领域知识"
- 标签:"高管"
描述:"高层见解,细节最少"
问题 3:幻灯片数量
标题:"幻灯片数量"
问题:"想要多少张幻灯片?"
选项:
- 标签:"{N} 张(推荐)"
描述:"基于内容长度"
- 标签:"更少({N-3} 张)"
描述:"更紧凑,细节较少"
- 标签:"更多({N+3} 张)"
描述:"更详细的分解"
问题 4:审核大纲
标题:"大纲"
问题:"生成提示词前是否审核大纲?"
选项:
- 标签:"是,审核大纲(推荐)"
描述:"审核幻灯片标题和结构"
- 标签:"否,跳过大纲审核"
描述:"直接进入提示词生成"
问题 5:审核提示词
标题:"提示词"
问题:"生成图像前是否审核提示词?"
选项:
- 标签:"是,审核提示词(推荐)"
描述:"审核图像生成提示词"
- 标签:"否,跳过提示词审核"
描述:"直接进入图像生成"
第 2 轮(仅当选择了”自定义维度”时执行)
使用 AskUserQuestion 提出全部 4 个维度问题:
问题 1:纹理
标题:"纹理"
问题:"选择哪种视觉纹理?"
选项:
- 标签:"干净"
描述:"纯色背景,无纹理"
- 标签:"网格"
描述:"细微的网格覆盖,技术感"
- 标签:"有机"
描述:"柔和的纹理,手绘感"
- 标签:"像素"
描述:"粗像素,8位美学"
(注:”纸张”可通过”其他”选项提供)
问题 2:情绪
标题:"情绪"
问题:"选择哪种色彩情绪?"
选项:
- 标签:"专业"
描述:"冷静中性,海军蓝/金色"
- 标签:"温暖"
描述:"大地色系,友好"
- 标签:"冷静"
描述:"蓝色、灰色,分析感"
- 标签:"鲜艳"
描述:"高饱和度,大胆"
(注:”暗色”、”中性”可通过”其他”选项提供)
问题 3:字体
标题:"字体"
问题:"选择哪种字体风格?"
选项:
- 标签:"几何感"
描述:"现代无衬线,干净"
- 标签:"人文感"
描述:"友好,易读"
- 标签:"手写感"
描述:"马克笔/画笔,有机"
- 标签:"编辑感"
描述:"杂志风格,戏剧性"
(注:”技术感”可通过”其他”选项提供)
问题 4:密度
标题:"密度"
问题:"信息密度如何?"
选项:
- 标签:"均衡(推荐)"
描述:"每张幻灯片 2-3 个关键点"
- 标签:"极简"
描述:"一个焦点,最大留白"
- 标签:"密集"
描述:"多个数据点,紧凑"
第 2 轮之后:将自定义维度存储为样式配置。
确认之后:
- 使用确认的偏好设置更新
analysis.md - 从问题 4 存储
skip_outline_review标志 - 从问题 5 存储
skip_prompt_review标志 - → 步骤 3
步骤 3:生成大纲
使用步骤 2 中确认的样式创建大纲。
样式解析:
- 如果选择了预设 → 读取
references/styles/{预设名称}.md - 如果选择了自定义维度 → 从
references/dimensions/读取维度文件并进行组合
生成:
- 遵循
references/outline-template.md的结构 - 从样式或维度构建 STYLE_INSTRUCTIONS
- 应用确认的受众、语言、幻灯片数量
- 保存为
outline.md
生成后:
- 如果是
--outline-only,在此停止 - 如果
skip_outline_review为 true → 跳过步骤 4,进入步骤 5 - 如果
skip_outline_review为 false → 继续到步骤 4
步骤 4:审核大纲(条件性)
如果用户在步骤 2 中选择了”否,跳过大纲审核”,则跳过此步骤。
目的:在生成提示词前审核大纲结构。
语言:使用用户的输入语言或保存的语言偏好。
显示:
- 幻灯片总数:N
- 样式:[预设名称 或 “自定义:纹理+情绪+字体+密度”]
- 逐张幻灯片摘要表格:
| # | 标题 | 类型 | 布局 |
|---|------|------|--------|
| 1 | [标题] | 封面 | title-hero |
| 2 | [标题] | 内容 | [布局] |
| 3 | [标题] | 内容 | [布局] |
| ... | ... | ... | ... |
使用 AskUserQuestion:
标题:"确认"
问题:"准备生成提示词了吗?"
选项:
- 标签:"是,继续(推荐)"
描述:"生成图像提示词"
- 标签:"先编辑大纲"
描述:"我将在继续前修改 outline.md"
- 标签:"重新生成大纲"
描述:"使用不同的方法创建新大纲"
收到回复后:
- 如果是”先编辑大纲” → 通知用户编辑
outline.md,准备就绪后再次询问 - 如果是”重新生成大纲” → 返回步骤 3
- 如果是”是,继续” → 继续到步骤 5
步骤 5:生成提示词
- 读取
references/base-prompt.md - 对于大纲中的每张幻灯片:
- 从大纲中提取 STYLE_INSTRUCTIONS(不再从样式文件中读取)
- 添加幻灯片特定的内容
- 如果指定了
布局:,则包含来自references/layouts.md的布局指南
- 保存到
prompts/目录- 备份规则:如果提示词文件已存在,重命名为
prompts/NN-slide-{标识符}-backup-YYYYMMDD-HHMMSS.md
- 备份规则:如果提示词文件已存在,重命名为
生成后:
- 如果是
--prompts-only,在此停止并输出提示词摘要 - 如果
skip_prompt_review为 true → 跳过步骤 6,进入步骤 7 - 如果
skip_prompt_review为 false → 继续到步骤 6
步骤 6:审核提示词(条件性)
如果用户在步骤 2 中选择了”否,跳过提示词审核”,则跳过此步骤。
目的:在图像生成前审核提示词。
语言:使用用户的输入语言或保存的语言偏好。
显示:
- 提示词总数:N
- 样式:[预设名称 或 自定义维度]
- 提示词列表:
| # | 文件名 | 幻灯片标题 |
|---|----------|-------------|
| 1 | 01-slide-cover.md | [标题] |
| 2 | 02-slide-xxx.md | [标题] |
| ... | ... | ... |
- 提示词目录路径:
prompts/
使用 AskUserQuestion:
标题:"确认"
问题:"准备生成幻灯片图像了吗?"
选项:
- 标签:"是,继续(推荐)"
描述:"生成所有幻灯片图像"
- 标签:"先编辑提示词"
描述:"我将在继续前修改提示词"
- 标签:"重新生成提示词"
描述:"使用不同的方法创建新提示词"
收到回复后:
- 如果是”先编辑提示词” → 通知用户编辑提示词,准备就绪后再次询问
- 如果是”重新生成提示词” → 返回步骤 5
- 如果是”是,继续” → 继续到步骤 7
步骤 7:生成图像
对于 --images-only:从现有提示词开始此步骤。
对于 --regenerate N:仅重新生成指定的幻灯片。
标准流程:
- 选择可用的图像生成技能
- 生成会话 ID:
slides-{主题标识符}-{时间戳} - 对于每张幻灯片:
- 备份规则:如果图像文件已存在,重命名为
NN-slide-{标识符}-backup-YYYYMMDD-HHMMSS.png - 使用相同的会话 ID 按顺序生成图像
- 备份规则:如果图像文件已存在,重命名为
- 报告进度:”已生成 X/N”(使用用户的语言)
- 失败时自动重试一次,然后再报告错误
步骤 8:合并为 PPTX 和 PDF
${BUN_X} {baseDir}/scripts/merge-to-pptx.ts <slide-deck-dir>
${BUN_X} {baseDir}/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:{主题标识符}.pptx
PDF:{主题标识符}.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
流程:
- 读取指定幻灯片的现有提示词
- 仅重新生成这些幻灯片的图像
- 重新生成 PPTX/PDF
幻灯片修改
快速参考
| 操作 | 命令 | 手动步骤 |
|---|---|---|
| 编辑 | --regenerate N |
先更新提示词文件 → 重新生成图像 → 重新生成 PDF |
| 添加 | 手动 | 创建提示词 → 生成图像 → 对后续文件重新编号 → 更新大纲 → 重新生成 PDF |
| 删除 | 手动 | 移除文件 → 对后续文件重新编号 → 更新大纲 → 重新生成 PDF |
编辑单张幻灯片
- 先更新提示词文件
prompts/NN-slide-{标识符}.md - 运行:
/baoyu-slide-deck <目录> --regenerate N - 或手动重新生成图像 + PDF
重要:更新幻灯片时,务必先更新提示词文件 (prompts/NN-slide-{标识符}.md),然后再重新生成。这可确保更改被记录且可重现。
添加新幻灯片
- 在指定位置创建提示词:
prompts/NN-slide-{新标识符}.md - 使用相同的会话 ID 生成图像
- 重新编号:后续文件 NN+1(标识符保持不变)
- 更新
outline.md - 重新生成 PPTX/PDF
删除幻灯片
- 移除
NN-slide-{标识符}.png和prompts/NN-slide-{标识符}.md - 重新编号:后续文件 NN-1(标识符保持不变)
- 更新
outline.md - 重新生成 PPTX/PDF
文件命名
格式:NN-slide-[标识符].png
NN:两位数字序列(01, 02, …)标识符:从内容生成的短横线连接词(2-5 个词,唯一)
重新编号规则:仅 NN 更改,标识符保持不变。
完整详情参见 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/<样式名称>.md |
完整样式规范(旧版) |
references/config/preferences-schema.md |
EXTEND.md 结构 |
备注
- 图像生成:每张幻灯片 10-30 秒
- 生成失败时自动重试一次
- 对于敏感的公众人物,使用风格化的替代方案
- 通过会话 ID 保持样式一致性
- 步骤 2 确认是必需步骤 – 请勿跳过(样式、受众、幻灯片数量、大纲审核、提示词审核)
- 步骤 4 是条件性步骤 – 仅当用户在步骤 2 中请求大纲审核时才执行
- 步骤 6 是条件性步骤 – 仅当用户在步骤 2 中请求提示词审核时才执行
扩展支持
通过 EXTEND.md 进行自定义配置。参见步骤 1.1了解路径和支持的选项。
📄 原始文档
完整文档(英文):
https://skills.sh/jimliu/baoyu-skills/baoyu-slide-deck
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

评论(0)