全部技能 / 设计 / 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".

风险提醒:橙色 · 评估后使用AI 侦查报告
作者 JimLiuGitHub JimLiu/baoyu-skills ↗Stars 25926许可 MIT(仓库根 LICENSE:Copyright (c) 2026 Jim Liu;根 package.json 同声明 "license": "MIT")commit 1567581c26
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 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外部依赖

类型依赖
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风险提醒 风险提醒:橙色 · 评估后使用

风险提醒:橙色 · 评估后使用
  • 素材与参考图出网(判橙主因) — 每页提示词、封面/内容图描述以及 --ref 直传的参考图都会交给被选中的图像后端;对含敏感信息的文章或未公开素材,先确认后端与额度策略。
  • $BAOYU_CODEX_IMAGEGEN_BIN 可被指向任意可执行文件 — 该 env 指定的 .ts/.sh/二进制会被 bun 或直接 spawn;被植入的同名文件等同任意代码执行(宿主侧风险,本 skill 自身不读凭证)。
  • prompt 通道混入模型指令 — base-prompt.md 结尾写死针对模型的生成指令且带『不要拒绝生成』措辞;用户文章文本与指令同处一个提示词,属间接注入面。
  • 成本与失败模式 — 每页一次生成(后端多为 n=1),20-30 页的 deck 意味着同等次数的外部调用;生成失败需按提示词重试,且文字错误只能整页重生成(禁止贴字修补)。
  • PPTX 体积与提示词回灌 — 合并脚本把 base-prompt 全文写进每一页备注,deck 体积增长且提示词随文件外传,分享前需留意。
风险提醒:橙色,评估后使用。按批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(这里是图片页,文字不可改);不适合期望『精确排版/精确文字』的正式商务演示(模型出图文字会出错,且策略禁止事后贴字修补);也不适合没有可用图像后端的环境(会停在询问用户那一步)。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-15
    方式 A · 人下载镜像包下载 baoyu-slide-deck.tar.gz
    sha256: 9867805610b81b26…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit 1567581c26;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库JimLiu / JimLiu/baoyu-skills
    Stars25926
    最近推送2026-09-10
    本 skill commit1567581c26
    许可MIT(仓库根 LICENSE:Copyright (c) 2026 Jim Liu;根 package.json 同声明 "license": "MIT")
    本站信息
    收录日期2026-09-06
    分类设计
    侦查报告AI 侦查 · 2 遍 · 2026-09-06
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。
    同分类邻近