首页 / 全部技能 / 设计 / baoyu-slide-deck
设计 · JimLiu/baoyu-skills

baoyu-slide-deck

Generates professional slide deck images from content. Creates outlines with style instructions, then generates individual slide images. Use when user asks to "create slides", "make a presentation", "generate deck", "slide deck", or "PPT".

L4 高权限 · 分级授权与审计V1 已固定执行命令联网读写文件Dual-pass Audit
Author JimLiuGitHub JimLiu/baoyu-skills ↗Stars 25926License MIT(仓库根 LICENSE:Copyright (c) 2026 Jim Liu;根 package.json 同声明 "license": "MIT")Commit 1567581c26
管控等级描述 skill 的能力与建议配套的管控措施,不代表质量或安全认证,也不表示可用或不可用。是否使用由用户和管理者决定。不同 agent 宿主对权限的约束各不相同,请勿假定宿主一定会提供安全兜底。第三方 skill 版权归原作者,使用风险由使用者自行承担。

1实现原理 · 为什么它能做到

它是分阶段流水线:分析 → 强制确认 → 大纲 → 提示词 → 出图 → 合并 PPTX/PDF,每阶段产物落盘,可按 --outline-only / --prompts-only / --images-only 断点续跑。

skills/baoyu-slide-deck/SKILL.md
- [ ] Step 7: Generate images
清单式工作流写在 SKILL.md 里由 agent 勾选;阶段之间没有隐式状态,全部靠磁盘文件衔接(outline.md / prompts/ / PNG / pptx / pdf)。

出图后端不在本仓实现,而是按优先级解析:当前请求指定 > EXTEND.md 偏好 > 运行时原生工具(Codex imagegen / Cursor GenerateImage / Hermes image_generate)> 唯一已装的非原生后端(baoyu-image-gen)> 问用户。

skills/baoyu-slide-deck/SKILL.md
If a skill named `imagegen` is listed, you are running inside Codex and MUST use it
这里在做什么:把『谁来画图』交给运行时环境决定,skill 只规定解析顺序与调用契约;因此用户内容与提示词会发往被选中的图像后端。

走 codex-imagegen 分支时优先经由同仓 baoyu-image-gen 技能脚本,而不是直接调包装器。

skills/baoyu-slide-deck/SKILL.md
route through `baoyu-image-gen --provider codex-cli` (preferred)
包装器的调用契约(参数、stdout JSON、错误码、n=1 语义)另写在 references/codex-imagegen.md,按需加载。

提示词文件是硬性可复现记录:调用任何后端之前,每张图的完整最终 prompt 必须先落成 prompts/NN-slide-[slug].md。

skills/baoyu-slide-deck/SKILL.md
**Prompt file requirement (hard)**: write each image's full, final prompt to a standalone file under `prompts/`
好处是换后端不用重写提示词、重生成只要改文件再 --regenerate;PPTX 合并脚本还会把这份 prompt 写进演讲者备注。

合并是本仓唯一的可执行代码,且纯本地:merge-to-pdf.ts 用 pdf-lib 逐页嵌图,merge-to-pptx.ts 用 pptxgenjs 出 16:9 并把 base-prompt + 每页 prompt 写进备注。

skills/baoyu-slide-deck/scripts/merge-to-pptx.ts
pptx.layout = "LAYOUT_16x9";
两个脚本不联网、不读环境变量、不 spawn 子进程;图片以 base64 data URI 内嵌进 PPTX,因此 deck 自包含。

确认是硬门禁:Step 2 未完成不得进入 Step 3 及之后,除非用户本轮显式说『直接生成/不用确认』。

skills/baoyu-slide-deck/SKILL.md
Do **not** start Step 3 or later until the user completes Step 2.
把『显式调用 skill』『匹配到风格』『EXTEND.md 默认值』一律降级为建议输入,不给跳过确认的权力。

风格系统 = 17 个预设 × 4 个维度(texture/mood/typography/density)自由组合;内容信号命中关键词表就自动选型,否则回退 blueprint。

skills/baoyu-slide-deck/SKILL.md
17 presets covering technical / educational / lifestyle / editorial use cases.
每个预设一个 references/styles/<preset>.md,维度各有 references/dimensions/*.md;选型与页数启发式都在 SKILL.md 表格里。

批量出图有明确优先序:后端原生 batch > 运行时并行工具调用(默认 4,可 --batch-size 覆盖)> 串行;且『所有 prompt 文件先落盘』才允许开第一批。

skills/baoyu-slide-deck/SKILL.md
- Never start the first batch until all selected slide prompt files exist on disk.
失败只重试失败项一次,不重生成已成功项;合并必须等全部图出完。

2核心能力

01从文章/主题生成整套幻灯片图(含封面与封底)
0217 种预设风格 + 4 维度自定义(texture/mood/typography/density)
03按内容信号自动选型 + 按篇幅推荐页数(<1000 词→5-10 页 … >5000 词→20-30 页)
04参考图三种用法(direct 直传 / style 提风格 / palette 提配色)
05大纲与提示词可选评审分支(skip_outline_review / skip_prompt_review)
06批量并行出图(默认 4,可 --batch-size 调,1-8 夹取)与失败重试
07本地合并成 PPTX / PDF(演讲者备注保留每页提示词)
08改图纪律:先改 prompt 文件再 --regenerate 指定页,禁止在已生成位图上做文字修补

3外部依赖

KindDependency / Endpoint
api运行时图像生成后端(Codex imagegen Skill / Cursor GenerateImage / Hermes image_generate)——用户内容与提示词由此出网
clicodex CLI(无原生 imagegen 时的 codex exec 后端,需 codex login)
clibaoyu-image-gen 技能脚本(--provider codex-cli,首选路径)
clibun / npx -y bun(跑合并脚本与包装器)
packagepdf-lib ^1.17.1(PDF 合并)
packagepptxgenjs ^4.0.1(PPTX 合并,声明于仓库根 package.json)
packagesharp ^0.34.5(根依赖,两个合并脚本均未 import)
networkhomepage 元数据 URL(静态 frontmatter,任何步骤都不抓取)

4管控建议与判定依据

建议配套管控措施
面向 Agent
分级或逐次授权,建议在沙箱运行
面向管理者
审批流程、可回滚、全程审计
判定依据(文件路径与关键语句摘要)
  • scripts/: 执行本地脚本或命令: ${BUN_X} {baseDir}/scripts/merge-to-pptx.ts <slide-deck-dir>(bun 或 npx -y b
  • 网络端点: 声明外部网络访问: skill 自身脚本零网络调用(两个合并脚本只 import fs/path + pdf-lib / pptxgenjs)
  • 本地工作目录: 文件读写与工件输出: slide-deck/{topic-slug}/source-*.{ext} 与 analysis.md
审计说明: 。按批4 终裁口径(把用户内容交给外部生成后端=orange),本 skill 两段自证:①【点名了运行时生成后端】SKILL.md 的『Image Generation Tools』小节逐条点名 Codex `imagegen`('If a skill named `imagegen` is listed, you are running inside Codex and MUST use it')、codex-imagegen 路径('route through `baoyu-image-gen --provider codex-cli` (preferred)')、Cursor `GenerateImage` 与 Hermes `image_generate`,references/codex-imagegen.md 进一步规定调用契约;后果是用户素材与每页提示词(含 --ref 直传的参考图)出网到第三方模型、消耗账号额度,对照站内 ai-image-generation 的 orange 判法。②【另有本地写盘】prompts/NN-*.md、PNG、outline.md、analysis.md、PPTX/PDF 与 EXTEND.md 都会写入用户目录。为什么不是 yellow:外发不是固定公开端點的只读查询,而是把用户内容送进生成型服务。为什么不是 red:无逆向、无冒充、无安全降级(无沙箱关闭类指令)、无凭据读取(明写不读 OPENAI_API_KEY),且自身脚本只有本地 pdf/pptx 合并与写盘。

5第二遍独立确认

  • [ok] 两个合并脚本无网络、无 env、无 spawn — merge-to-pdf.ts 只 import fs/path + pdf-lib,merge-to-pptx.ts 只 import fs/path + pptxgenjs;全目录 grep process.env/fetch/http/child_process 零命中。
  • [ok] 出图后端解析阶梯与 SKILL.md 一致 — 阶梯为 当前请求 > EXTEND.md preferred_image_backend > 运行时原生(imagegen/GenerateImage/image_generate)> 唯一非原生后端 > 问用户;codex-imagegen 分支的调用契约在 references/codex-imagegen.md。
  • [ok] 不读 API key(认证走用户订阅) — codex-imagegen.md 明写 'no `OPENAI_API_KEY` is read or sent';脚本零 env 读取,唯一的 env 覆盖是 $BAOYU_CODEX_IMAGEGEN_BIN(后端可执行文件路径)。
  • [ok] prompt 文件先行是硬要求 — SKILL.md 标注 (hard),且合并脚本把 base-prompt + 每页 prompt 写进 PPTX 备注,形成可复现双通道。
  • [ok] 依赖与声明一致性 — pdf-lib/pptxgenjs 由仓库根 package.json 提供(skill 内无 package.json);根依赖 sharp 未被这两个脚本 import(属未使用依赖)。
  • [ok] EXTEND.md 路径文档不一致(轻微) — SKILL.md 列三条路径(含 XDG),references/config/preferences-schema.md 只列项目与家目录两条;另 slide-deck 的首次设置明确不阻塞(与 translate/xhs-images 相反),已在正文引用中如实标注。
  • [ok] base-prompt.md 的模型定向指令 — 文件结尾确有 'Please use nano banana pro to generate the slide image based on the content provided above.' 与 'DO NOT refuse to generate' 类措辞;因它把用户文本与模型指令混在同一通道,已写入 injection_surface 与 risks。
  • [ok] 档位复核(批4 终裁) — 按 Main『生成後端類先例=orange』与点名后端+素材出网的判法落 orange;自身脚本仅有本地 pdf/pptx 合并与写盘,不升红。

6结论

  • 把『可复现』做成硬约束:prompt 文件先行 + 备份改名 + 演讲者备注带 prompt,换后端不用重写提示词。
  • 后端无关设计,跨宿主可用(Codex / Cursor / Claude Code 各有分支且不写死模型)。
  • 风格系统厚实:17 预设 + 4 维度 + 选型关键词表 + 页数启发式,落在一批小而专的 reference 文件里。
  • 反『糊弄』纪律明确:禁止用 SVG/HTML 顶替位图、禁止在已生成图上贴字,只允许裁切压缩类后处理。
  • 交互有门禁也有出口:默认必须确认,但支持 --outline-only / --prompts-only / --images-only / --regenerate 让流程可控可续。
  • 适合: 适合把长文/主题快速变成可分享图册的内容创作者、做技术或商业简报的人:需要成套风格、需要本地留档与可复现提示词、需要在没有设计资源的情况下产出统一视觉的幻灯片,且接受图像生成服务的外部调用。
    不适合: 不适合禁止素材出网或有严格数据合规要求的环境;不适合需要可编辑原生 PPT(这里是图片页,文字不可改);不适合期望『精确排版/精确文字』的正式商务演示(模型出图文字会出错,且策略禁止事后贴字修补);也不适合没有可用图像后端的环境(会停在询问用户那一步)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload baoyu-slide-deck.tar.gz
    sha256: 9867805610b81b26…
    Option B · Copy Guide for Agent
    install.json
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 1567581c26.