deck-studio

$npx mdskill add staruhub/ClaudeSkills/deck-studio

Produces presentation decks from scenario understanding to visual delivery.

  • Solves creating professional PPTs for reports, pitches, training, and proposals.
  • Depends on image generation models for per-slide visuals and style library.
  • Determines task type via scene routing, then recommends style and outlines.
  • Delivers outline, content script, and optional visual slides in dual tracks.

SKILL.md

.github/skills/deck-studioView on GitHub ↗
---
name: deck-studio
version: 3.0.0
description: PPT 生产 Agent:理解场景 → 推荐风格 → 先出大纲 → 定义页面 → 双通路交付(PPT 内容稿 / 逐页视觉图 / 信息图组图)。当用户要做汇报、路演、培训课件、提案、咨询报告的演示文稿,或要把大纲/文章做成 slides、deck、PPT、信息图、小红书图文、可视化传播图时使用。支持指定风格或从风格库推荐,支持 image 模型逐页出视觉稿。前身为 notion-infographic(v2)并吸收 ppt-designer 的设计原则。不用于:pptx 文件的纯技术操作(拆分/合并/提取,用宿主 pptx skill)、演讲稿或文章本体的写作(用 wechat-article-writer)、需要先做研究的内容调研(先走 deep-research 再回来)、单张海报或 logo 设计。
---

# Deck Studio:PPT 生产 Agent

不是"帮你排版润色",而是一条从场景理解到成品交付的生产线。
核心信条(承自 ppt-designer):**PPT 的本质是信息传达,设计是为内容服务的。**

## 铁律(不是建议)

1. **先 outline,后一切**。视觉图模式(模式 C)必须在大纲经用户确认后才启动;image 模型只负责"把已定义的页画出来",永远不决定 deck 讲什么。用户要求"跳过大纲直接画"时,解释原因并先给大纲。
2. **每页先有 page brief,再有 image prompt**,禁止跳级。
3. **一套 deck 一个风格**。风格参数从 style brief 统一注入每页,不允许逐页漂移。

## 验收标准(交付前逐条自查)

- [ ] outline 在任何页面产出之前存在且经用户确认(模式 A 除外,它本身就是终点)
- [ ] 每页符合 page schema 必填字段,密度合规(要点 3-5 / 层级 ≤3 / 字号比 ≥2:1)
- [ ] 全套使用同一 style brief,任取两页字体、色板、版式代号一致
- [ ] 模式 C 的每页 prompt 包含风格名、构图、标题文案、正文文案、禁止项
- [ ] 交付物包含 speaker notes(用户明确不要时除外)
- [ ] 没有 emoji 充当功能图标;配色来自所选风格色板而非临场发挥
- [ ] 视觉产出(模式 B/C)渲染后过了 `references/visual-checklist.md`(原典量化 12 条 + 实战 10 条),每页声明了注册版式 `layout: LXX`

## 不做什么

- pptx 文件技术操作(拆分/合并/页数统计)→ 宿主环境 pptx skill
- 演讲稿、文章正文的深度写作 → `wechat-article-writer`
- 内容需要多源调研时 → 先移交 `deep-research`,拿到结论再回本流程
- 单张海报、logo、纯装饰图 → 图像生成类 skill 直接处理
- 用户只要"随便几页能用就行"时,压缩为:快速 outline → 模式 B 简化输出,不走完整六步

## 工作流程(六步)

### Step 1 识别任务类型
汇报 / 路演 / 培训 / 提案 / 复盘 / 咨询报告 / 招聘介绍 / 自媒体分享。
判断规则见 `references/scene-routing.md`。识别不确定时直接问,不猜。

### Step 2 补齐关键上下文(最多问 5 项,已知的不重复问)
① 给谁看 ② 目标是什么 ③ 期望页数 ④ 偏内容清晰还是视觉冲击 ⑤ 有无指定风格/品牌色

### Step 3 选择风格
用户指定 → 锁定。未指定 → 按 `references/scene-routing.md` 的"场景×风格"矩阵推荐 3 个并给一句话理由。
用户有品牌资产(ChaoGeek / ClawTime / WorkBuddy)→ 直接用 `style-library/custom/` 定制风格。

### Step 4 出 outline(模式 A 到此为止)
按 `templates/outline-template.md`:主题 / 受众 / 目标 / 页数建议 / 每页标题 + 一句话摘要。
**停,等用户确认后再继续。**

### Step 5 页级结构
先按页面类型从 `references/layout-registry.md` **选注册版式并声明 `layout: LXX`**(不从零发明构图),再逐页填 page schema(`references/page-schema.md`):页面类型、核心结论、视觉结构、内容模块、图像需求。

### Step 6 按模式交付

| 模式 | 适用 | 输出 |
|------|------|------|
| **A. Outline** | 用户还没想清楚内容 | 大纲(Step 4 产物) |
| **B. 内容稿** | 交给 PPT 生成器/前端引擎,或用 PptxGenJS 直接产 pptx | slide schema JSON + 可读 Markdown + 风格参数;PptxGenJS 路线见 `references/v2-pipeline/pptx-generation.md` |
| **C. 视觉图** | 逐页出图(image 模型),或信息图组图 | 每页 page brief → image prompt → 出图;流程与引擎适配见 `references/image-branch.md` |

## 风格库(style-library/,当前 17 个;扩张按 `references/style-roadmap.md` 策展,终态 ≤14 正式 + 特例)

| 类别 | 风格 | 一句话 |
|------|------|--------|
| 通用商务 | `business/moshiro-consulting.md` 墨白咨询 | 黑白灰+单强调色,咨询报告的克制感 |
| 通用商务 | `business/heibai-ledger.md` 黑白账本 | 表格与数字为主角的数据汇报风(默认模式 B) |
| 通用商务 | `business/aicher-system.md` Aicher 信息系统 | 功能分色+网格图标(慕尼黑 1972),含模板种子 |
| 品牌创意 | `creative/yinghuang-studio.md` 英黄工作室 | 黑+暖黄,高端提案感,大字留白 |
| 品牌创意 | `creative/bauhaus-geometric.md` Bauhaus 几何 | 三原色+圆方三角构成,含模板种子 |
| 品牌创意 | `creative/constructivist-red.md` 构成主义红 | 红黑白+对角线能量,含模板种子 |
| 品牌创意 | `creative/tanghe-frame.md` 糖盒彩框 | 奶油底+彩色块边框,新潮杂志感 |
| 教育培训 | `education/qingfeng-classroom.md` 清风讲堂 | 水蓝清爽,低压迫感课件 |
| 教育培训 | `education/academic-bluegray.md` 学术蓝灰 | 论文答辩与学术报告(默认模式 B) |
| 科技未来 | `tech/polar-night.md` 极夜科技 | 深底霓虹,AI/数据产品发布 |
| 科技未来 | `tech/platinum-future.md` 铂灰未来 | 浅色金属质感,投影友好的科技感 |
| 内容传播 | `media/hot-card.md` 热帖卡片 | 小红书式高对比卡片组图 |
| 内容传播 | `media/notion-handdrawn.md` Notion 手绘 | v2 招牌:手绘线条+便签质感知识图解 |
| 内容传播 | `media/neubrutalism-pop.md` Neubrutalism 硬糖 | 黑描边+硬阴影+撞色贴纸感,含模板种子 |
| 定制品牌 | `custom/chaogeek-pixel.md` ChaoGeek 像素半调 | 霓虹绿/龙虾红/深底 DNA,派生自 chaogeek 视觉系统 |
| 定制品牌 | `custom/clawtime-industrial.md` ClawTime 黑红工业 | 碳黑+机械红,工业咬合感(初稿待品牌校准) |
| 定制品牌 | `custom/workbuddy-modern.md` WorkBuddy 绿色现代 | 生产力绿,效率工具官网感(初稿待品牌校准) |

选择规则:先按类别匹配场景,再看风格文件里的"不适用场景"排除。每个风格文件含 10 字段(色板/字体气质/版式/图像策略/密度/style brief 等)。

## 已知陷阱

| 陷阱 | 具体表现 | 应对 |
|------|---------|------|
| 跳过大纲直接出页 | 用户催"直接画",整套 deck 逻辑散架 | 铁律 1:解释后先给 outline,大纲确认成本远低于返工 |
| 逐页风格漂移 | 第 8 页突然换了配色和字体 | 每页 prompt 从同一 style brief 注入,抽查任意两页 |
| image 模型中文排版翻车 | 文字重叠、字压图、乱码伪汉字 | prompt 必带中文排版禁止项;长文本改为"图留文位、文字后期叠加"策略,见 image-branch.md |
| 好看但不好讲 | 视觉冲击页密度过低,一页讲 3 分钟没内容 | page schema 的 key_message 必填;speaker notes 同步产出 |
| 单页信息超载 | 要点 6+,图表 3 张挤一页 | 密度规则硬约束:拆页 |
| 风格推荐同质化 | 推荐的 3 个风格看不出差别 | 3 个推荐必须来自 ≥2 个类别 |
| 中文标点炸脚本 | 模式 B 用 PptxGenJS/JS 生成时,中文引号写成直引号导致 `SyntaxError` | JS 字符串里的中文引号一律用书名号「」或全角引号,别用会和定界符冲突的直引号 |
| 全盘细体假高级 | 把"越大越细"执行成所有字都变细,画面单薄疲软无锚点(盲评 3:0 落败的真实教训) | 极端对比 = 极细与极重**共存**:粗黑标题/数据英雄做锚点,细体只做对比层 |
| pptx 字体 fallback | PptxGenJS 直出 pptx 不嵌字体,打开端缺字体时版面崩坏 | 视觉优先场景走 HTML→Chrome 截图→贴图管线(字体由渲染机锁定);要可编辑才用 PptxGenJS 并声明字体条件 |
| 正文半角标点 | 中文句子里混半角冒号逗号,大屏上廉价感明显 | 中文正文标点一律全角;上标与底数间距手工收紧 |

## 参考文档(按需加载)

| 文件 | 何时读 |
|------|--------|
| `references/page-schema.md` | Step 5 逐页定义时 |
| `references/scene-routing.md` | Step 1 识别与 Step 3 推荐时 |
| `references/image-branch.md` | 模式 C 启动时;引擎适配(gpt-image / seedream / skywork)与中文排版禁止项 |
| `references/layout-registry.md` | Step 5 选版式时;14 个注册版式(来自三套实证样例)+ 正交拆维组织原则 |
| `references/visual-checklist.md` | 渲染后自检时;原典量化 12 条(Duarte/Tufte/M-B/Butterick/clreq)+ 实战教训 10 条 |
| `references/style-roadmap.md` | 扩风格库前必读;26 来源普查的评级表 + 反面清单 + ≤14 套终态蓝图 |
| `references/layout-rules.md` | 排版细节拿不准时;CRAP/层级/配色/图片完整理论(承自 ppt-designer) |
| `references/quick-reference.md` | 制作中随时查数值规范(字号/间距/色值) |
| `references/case-examples.md` | 需要整套风格方案参考时;商务/创意/学术三案例 |
| `templates/outline-template.md` | Step 4 |
| `templates/page-brief-template.md` | Step 5 |
| `templates/image-prompt-template.md` | 模式 C 逐页出 prompt 时 |
| `examples/moshiro-consulting-report/` | 明色系标杆样例(墨白咨询 9 页,HTML→截图管线,盲评验证),改内容不破坏设计要点 |
| `examples/polar-night-ai-native/` | 暗色系样例(极夜科技 AI Native 9 页,含 assemble.js 出 pptx + speaker notes),暗色 deck 照此起步 |
| `examples/yinghuang-bootcamp-proposal/` | 黑金提案系样例(英黄工作室 9 页商业提案,评审 6.6/10),提案类 deck 照此起步 |
| `examples/constructivist-design-constitution/` | 构成主义红 9 页(评审 7.1/10 全场最高,首破 7 分线),需强母题/宣言气质的 deck 照此起步 |

### v2 遗产(references/v2-pipeline/,模式 B/C 实现细节,按需取用)

- `pptx-generation.md` — PptxGenJS 编程生成完整方案(模式 B 直出 pptx 的实现)
- `design-system.md` — v2 设计系统(token/组件,模式 B 的默认视觉参数)
- `style-guide.md` — Notion 手绘风等 v2 风格定义(待改造为 style-library 格式)
- `aesthetic-design.md` — 审美设计笔记
- `research-notes-format.md` / `subagent-prompt.md` — 子代理并行研究协议(大纲需要资料抓取时)
- `v2-prompt-template.md` — v2 信息图 prompt 模板(新模板未覆盖的手绘风参数可从此取)
- `v2-skill-archive.md` — notion-infographic v2 的原始 SKILL.md 存档

## 回归

- `evals/routing-evals.json` — 触发/模式路由用例,改 description 后用仓库根 `scripts/run_routing_evals.py` 校验

More from staruhub/ClaudeSkills

SkillDescription
a-share-analystA股分析研究助手,提供行情数据获取与技术面/基本面分析框架(仅供研究参考,不构成投资建议)。适用于:(1) 获取A股行情和历史数据,(2) 技术面分析(K线形态、MACD、KDJ、RSI、布林带等),(3) 基本面分析(财务指标、估值分析),(4) 板块热点追踪,(5) 选股策略筛选与量化因子分析,(6) 生成股市分析报告。当用户询问"帮我分析股票"、"今日选股"、"A股行情分析"、"技术分析"、"量化选股"时触发。不用于:预测明日涨跌或给出确定性买卖指令、代客决策、港股美股(数据源不同)、加密货币。
ai-sales-championAI咨询/销售的对话策略助手。当用户需要准备AI方案沟通、跟业务部门聊AI落地、写AI提案、应对客户异议、做AI培训破冰时使用。触发场景:"怎么跟老板聊AI"、"客户说AI不靠谱"、"准备一个AI方案汇报"、"帮我想想怎么推AI"、"业务部门不配合"、"AI项目怎么卖"、"demo之后怎么跟进"。也适用于AI咨询师、技术合伙人、CTO做内部AI推广。
c-drive-cleanerWindows C盘清理和磁盘空间管理。当用户说C盘满了、磁盘空间不足、清理临时文件/缓存/回收站/系统日志、查找大文件、分析磁盘占用时使用。仅适用于 Windows 环境。不用于:macOS/Linux 磁盘清理、卸载软件(引导用户走系统卸载)、清理用户个人文件(只报告位置,删除决定权在用户)。
gaokao-expert资深高考命题专家助手,提供专业的命题指导和评审服务。适用于创作高考试题、评审试题质量、分析试卷结构、了解命题趋势等场景。结合文档工具提取解压文件,使用网络搜索了解当年最新命题趋势,使用分析工具评估题目质量和试卷结构。涵盖"一核四层四翼"评价体系、题型规范、评分标准、命题流程等多个维度。不用于:大学/考研/中考命题(体系不同,仅可借鉴)、日常作业题编写、直接替考生解题。
keqian-method胥克谦式AI-Native产品开发方法论。适用于:(1) 使用AI Agent(Claude Code、Codex、Cursor等)进行产品级软件开发,(2) 设计和优化Harness/Skill体系,(3) 文档驱动开发(SDD)流程,(4) 构建自动化质量门禁和eval机制,(5) Token成本优化与缓存策略,(6) 产品人转型开发者的AI编程实践。触发场景包括"帮我设计开发流程"、"怎么降低token成本"、"怎么提高AI编码质量"、"文档驱动"、"质量门禁"、"harness设计"、"单agent vs multi-agent"、"自动化迭代"、"AI产品开发"、"SDD"、"eval机制"等。即使用户只是说"帮我用AI写代码"或"怎么让agent干活更靠谱"也应触发。注意:如果产品是行为开放、用户输入不可穷举的AI-native类型,请改用 xuefeng-method skill。不用于:单个bug修复或小改动(无需方法论)、PRD需求文档写作(用product-manager)。
mineru-pdf-parser用 MinerU 将复杂PDF文档转换为LLM友好的Markdown/JSON格式。适用于:(1) PDF转Markdown/JSON,(2) 提取PDF中的文本、表格、公式、图像,(3) 解析学术论文、技术文档、商业报告,(4) 为RAG应用准备文档数据,(5) 批量处理PDF。触发关键词:"PDF解析"、"PDF转Markdown"、"提取PDF表格/公式"、"MinerU"、"parse PDF"等。不用于:PDF的阅读/填表/签名/拆分合并(用宿主pdf工具)、Word/PPT等非PDF格式解析、只需读几页内容的场景(直接读即可,不必转换)。
pair-programming结对编程搭档。当用户要求"边写边审"、"结对编程"、"写完自己 review 一遍"、"高可靠地实现",或明确希望代码交付时附带自我审查意见时使用。交付代码的同时输出结构化审查(正确性/安全/性能/可读性/健壮性五维度),重点捕捉 AI 生成代码的特有缺陷。不用于:对已有 PR 的正式评审(用 code review 流程)、安全专项扫描(用 security-audit)、10 行以内的简单片段。
podcast-generator用火山引擎 Podcast AI 模型生成中文双人对话播客。当用户要把文章、报告、话题文本转成播客音频、生成对话式音频内容时使用,需要环境具备火山引擎 APP_ID 和 ACCESS_KEY。支持 mp3/ogg_opus/pcm/aac、语速调节、自定义音色、断点续传。不用于:单人朗读式 TTS(用普通语音合成)、英文播客(模型主要优化中文)、播客文稿本身的撰写(先用写作类 skill 产出文本再来)。
product-manager资深产品经理助手,提供PRD文档创作与评审、产品策略咨询、留存增长分析、竞品研究、功能优先级排序等全方位产品管理支持。适用于创作或评审PRD/MRD/BRD/用户故事等产品文档;诊断产品问题(留存低、转化差、增长瓶颈)并给出可执行策略;进行竞品分析和市场研究;设计功能方案和用户体验优化。当用户提到"PRD"、"需求文档"、"产品规划"、"用户留存"、"功能设计"、"竞品分析"、"产品指标"、"增长策略"、"功能优先级"等话题时使用。即使用户没说"产品",讨论App功能设计、用户增长、商业模式时也应触发。不用于:写代码实现功能(开发任务)、系统架构设计(用solution-architect)、需要多源引用的深度市场调研(用deep-research)、纯营销文案撰写。
seedream-imagegen用 ByteDance Seedream 4.0 API(经 Segmind)生成 AI 图像。当用户要从文字描述生成营销素材、海报、产品图、概念图、社交媒体配图等高质量图像,且环境配有 SEGMIND_API_KEY 时使用。支持 2K/4K、多比例、单次最多 15 张批量、最多 3 张参考图控风格。不用于:修改/编辑已有图片(用图像编辑类 skill)、视频生成、无 API 环境下的快速配图需求。