---
name: zsyggg/paper-deck
source: https://app.decimal.ai/s/zsyggg-paper-deck@1/SKILL.md
source_sha256: d781e9e72fcc
---

# Paper Deck — Visual Slide Director

把论文/知识内容做成**看起来真的被设计过**的幻灯片。

核心路线不是用 PPT 对象硬摆版式，而是：

1. 先理解内容，做出 deck brief 和逐页叙事。
2. 为每一页写清楚“这页要让观众看到什么、感到什么、记住什么”。
3. 用生图模型生成 16:9 slide image。
4. 合成 PPTX/PDF，并保留 prompts 作为可返修的源文件。

## 不可绕过的生图要求

Paper Deck 的 V1 是 **raster-first AIGC slide image** 工作流。除非用户明确要求“不要生图”“用代码画图”“只要可编辑 PPT”或“使用 HTML/SVG/Canvas 生成”，否则必须调用真实的 raster image generation backend 为每一页生成图片。

严格禁止把以下产物冒充为本 skill 的“生图页”：

- 用 Python/Pillow、SVG、HTML/CSS、Canvas、Mermaid、matplotlib、PPT shapes 或任何本地绘图代码直接画出的整页图片
- 用模板、纯排版脚本、截图、占位图或手工组合元素替代生图后端输出
- 先本地画整页，再仅做轻微滤镜/后处理后当作 AIGC slide image

允许的本地处理仅限：

- 移动、复制、重命名生图后端输出文件
- 必要的格式转换、压缩、尺寸校验、PPTX/PDF 合成
- 用户明确选择混合方案时，在生图背景上叠加少量可编辑文字层；此时必须在 `deck-brief.md` 和交付说明中明确记录“混合文字层”，不能声称整页文字都由生图模型完成

如果当前环境没有可用的 raster image generation backend，必须停止并说明缺少生图后端；不要退化成本地绘图替代方案。

## 何时使用

适合：
- 论文组会、答辩、reading group、技术分享
- 需要“一眼不像模板 PPT”的视觉汇报
- 用户愿意接受每页是高质感图片，优先追求整体观感和传播效果
- 需要逐页返修：重做第 N 页、换风格、加真实感、减少 AI 味

不适合：
- 需要多人在 PowerPoint 里精细编辑每个文本框
- 大量表格、财务报表、合规材料
- 需要准确复制已有企业 PPT 母版

如果用户需要完全可编辑的 PPT，说明本 skill 的 V1 是 raster-first；可改用常规 PPTX 工具，或生成“图片背景 + 可编辑文字层”的混合方案。

## 工作流

### Step 1: 输入分析

接受：
- arXiv / DOI / 网页链接
- PDF 路径
- Markdown / 文本 / 文章
- 已有大纲
- 参考图片或参考 PPT 截图

如果是论文，优先复用 `paper-analyzer` 的阅读方式：读摘要、方法、实验、图表、结论；必要时搜索代码仓库。目标不是写长文，而是提取适合做 slide 的核心叙事。

输出并保存 `analysis.md`：
- 主题、受众、汇报场景
- 论文/内容的 1 句话主张
- 3-5 个必须讲清楚的核心点
- 推荐页数、推荐风格、语言
- 需要生成的图像类型：封面、机制图、流程图、数据页、结论页等
- 可直接使用的真实素材：论文 Figure/Table、PDF 截图、用户提供的截图、代码截图、实验曲线

### Step 2: 生成前确认

默认必须确认，不要直接生成图片。除非用户明确说“直接生成/不用确认/按默认来”。

询问时控制在 3 个问题以内：

1. 页数和用途：组会 / 答辩 / 公开分享 / 商业汇报，需要几页？
2. 风格：见 `references/style-system.md`。
3. 是否插入真实素材：是否允许从 PDF/论文图表中截图，或由用户提供截图/图片？如果允许，说明预计第几页使用哪些真实素材。

推荐话术：

```text
我建议做 12 页，风格用 journal-minimal：像 Nature/IEEE 论文图 + 正式学术汇报，清晰、克制、不花哨。
也可以换成 business-research 做商业研究分享，warm-notes 做手记风，或 liquid-glass 做 Apple 式玻璃质感。
这篇论文我建议在第 4 页插入原论文方法图局部截图，第 8 页插入实验曲线/表格截图，再基于这些真实素材做设计化排版。
确认后我会先生成 outline.md 和每页 prompt，再逐页出图并合成 PPTX/PDF。
```

### Step 3: Deck Brief

保存 `deck-brief.md`。必须包含：

- `style_preset`
- `audience`
- `slide_count`
- `language`
- `visual_rules`
- `do_not_use`
- `reference_images`（如有）
- `source_visual_plan`：哪些页使用真实图表/截图，来源和处理方式

风格细节按需读取 `references/style-system.md`。
真实素材策略按需读取 `references/source-visuals.md`。

### Step 4: Outline

保存 `outline.md`。每页用固定结构：

```markdown
## 01. Slide Title
- Role: cover / context / method / mechanism / evidence / result / takeaway
- Message: 这一页唯一要讲清楚的观点
- Visual: 画面主视觉和构图
- Text: 页面上允许出现的短文字
- Evidence: 引用的论文图表/公式/实验数据/代码位置
- Source visual: 是否使用真实截图/论文图表；来源、裁剪范围和落位
- Repair handle: 后续返修时可引用的定位描述
```

规则：
- 每页只承载一个主观点。
- 页面文字尽量少；复杂解释放 speaker script 或备注里。
- 机制页优先画“输入 → 处理 → 输出”，不要画抽象灵感。
- 数据页只放最有说服力的 1-3 个数字。
- 真实论文图/截图通常比凭空生成更可信；能用真实素材时优先规划真实素材落位。
- 不要过度留白。主视觉、图表或证据区域通常应占画面 60%-80%，除非是封面或章节页。
- 8 页以上必须有节奏变化：封面、问题、方法、机制、证据、结论交替。

### Step 5: Prompt Files

每页必须先写 prompt 文件，再调用任何生图工具。

路径：

```text
paper-deck/{topic-slug}/
├── analysis.md
├── deck-brief.md
├── outline.md
├── prompts/
│   ├── 01-slide-cover.md
│   ├── 02-slide-context.md
│   └── ...
├── images/
│   ├── 01-slide-cover.png
│   ├── 02-slide-context.png
│   └── ...
├── {topic-slug}.pptx
└── {topic-slug}.pdf
```

Prompt 写法读取 `references/prompt-template.md`。

硬规则：
- prompt 必须明确 16:9。
- prompt 里要写清楚风格、构图、文字语言、文字数量限制。
- 不要让模型生成页码、logo、水印、PPT 外壳。
- 如果需要精准文字，尽量减少图片内文字；可以后续做混合文字层。
- 如果本页使用真实素材，prompt 必须说明素材如何作为画面的一部分：嵌入、裁切、玻璃面板承载、旁注、放大框，而不是让模型凭空重画事实。

### Step 6: 生成图片

图片后端选择：

1. Codex 环境优先用内置 `imagegen`。
2. 如果用户指定 `baoyu-imagine`、Gemini、OpenAI、Seedream 等后端，按用户指定。
3. 如果没有可用生图后端，停止并告诉用户需要一个 raster image backend。

生图门禁：
- 在调用任何生图工具之前，必须已经写好对应页的 `prompts/NN-*.md`。
- 每一页最终进入 `images/` 的主图必须来自真实 raster image generation backend。
- 不允许用 Python/Pillow、SVG、HTML/CSS、Canvas、Mermaid、matplotlib、PPT shapes 或本地绘图脚本生成整页主图来替代生图。
- 不允许因为担心中文文字错误，就绕过生图后端改成本地绘制整页。正确做法是减少图片内文字、改 prompt 重生成，或在用户同意的情况下使用“生图背景 + 可编辑文字层”的混合方案。
- 如果使用混合文字层，`images/` 中仍必须保留每页的生图背景或生图整页来源，并在 `deck-brief.md` 记录哪些文字是后叠加的。
- 生成后要在 `generation-log.md` 记录每页使用的后端、prompt 文件、输出文件、生成时间；没有生成记录的图片不能作为最终交付页。

生成策略：
- 先生成第 1 页作为风格锚点。
- 后续页如果后端支持 reference image，就用第 1 页作为风格参考，降低漂移。
- 每 3-4 页检查一次缩略图，发现风格漂移就修 prompt 再继续。
- 保存失败页，不要覆盖成功页。

### Step 7: 合成 PPTX/PDF

生成完图片后运行：

```bash
python3 <SKILL_ROOT>/scripts/merge_deck.py paper-deck/{topic-slug}
```

脚本会读取 `images/NN-*.png|jpg|webp`，输出同名 `.pptx` 和 `.pdf`。每张图片铺满一页 16:9。

### Step 8: 质量检查

交付前按 `references/quality-gate.md` 检查：

- 是否一眼像真实设计作品，而不是模板堆砌
- 每页是否只有一个主观点
- 是否有过多无意义留白；关键内容是否占据足够画面
- 真实素材页是否明确记录来源、页码/图号和落位
- 风格是否一致
- 图片文字是否清晰、无错别字、无伪字
- 是否存在 AI 常见问题：假 UI、假 logo、乱码标签、过度赛博、塑料 3D、无意义装饰
- `generation-log.md` 是否存在，且每一页都记录了真实 raster image generation backend、prompt 文件和输出文件
- 是否存在本地绘图/模板/截图冒充生图页；如有，必须重做或明确改成用户确认过的非 paper-deck 路线
- PPTX/PDF 是否能打开，页数是否正确

### Step 9: 返修

返修时永远先改源文件：

| 用户说 | 操作 |
|---|---|
| “第 5 页更学术一点” | 改 `prompts/05-*.md`，保留旧图，生成新图 |
| “统一成第 1 页的质感” | 把第 1 页风格锚点追加到相关 prompts |
| “第 7 页文字太多” | 修改 outline 的 Text，再改 prompt |
| “只重做背景，不动内容” | 在 prompt 中保留 Message/Text，重写 Visual |
| “新增一页机制细节” | 更新 outline，新增 prompt，生成图片，重跑合成脚本 |

不要用程序在生成图上涂改文字。文字错了就改 prompt 重生成，或切换到混合文字层方案。

## 参考文件

- `references/style-system.md`：风格预设和选择规则
- `references/layouts.md`：常用页面角色与构图
- `references/source-visuals.md`：PDF 截图、论文图表、用户图片的使用策略
- `references/prompt-template.md`：逐页生图 prompt 模板
- `references/quality-gate.md`：交付前检查和返修标准