Claude 暖纸风格 PPT 生成器。仅通过斜杠命令 /ccstyle-ppt 显式触发(不自动触发)。生成可在 PowerPoint/WPS 二次编辑的 .pptx,含场景采访、26 个幻灯片块、强调系统、富媒体与温和淡入动画。
Scanned 6/5/2026
Install via CLI
openskills install M1234567654321-web/claude-style-skills---
name: ccstyle-ppt
description: Claude 暖纸风格 PPT 生成器。仅通过斜杠命令 /ccstyle-ppt 显式触发(不自动触发)。生成可在 PowerPoint/WPS 二次编辑的 .pptx,含场景采访、26 个幻灯片块、强调系统、富媒体与温和淡入动画。
disable-model-invocation: true
---
# Claude 风格 PPT 工作流
把一句话主题、一份大纲、或一整篇文档,转成视觉上忠实于 Claude.ai 调性的**可编辑 .pptx**。
Claude 负责动脑(识别输入、生成大纲、写正文、起配图 prompt、选块),Python 负责动手(校验 + 用 python-pptx 渲染)。
唯一中间产物是 `deck.json`,它是 Claude 与 Python 之间的契约。
## 第一性原则:三条试金石
生成的每一页都必须同时满足,否则不是 Claude 风:
1. **纸感**:背景温润米色 `#F4EEE1`,强调色陶土橘 `#D97757`,正文暖墨黑 `#2C2826`。**绝不出现任何冷色**(蓝/绿/紫/冷灰)。
2. **节奏**:全衬线(中文思源宋体、西文 Source Serif Pro),行高 1.6,单行 28-38 字,字号梯度收窄。让人"读"而非"扫"。
3. **克制**:无阴影、无渐变、圆角≤4px、无图标、无第二强调色、边框≤0.5pt。装饰只允许引用竖条/波浪线/章节编号三种。
这些已固化在母版与块代码里,你只需保证**文案与选块**符合这个气质(少而精、留白、衬线长句优于碎片要点)。
## 工作流(状态机)
### 0. SCENE — 场景采访(触发时先做)
**用户触发本 skill 时,若未说明用途,先问一句确定场景**——场景决定叙事结构、版式密度、选块倾向,不要跳过:
> 这份 PPT 用于什么场景?(商业汇报 / 融资路演 / 产品营销 / 教育培训 / 学术答辩 / 方案咨询 / 会议复盘,或直接描述)
确定后按下表套用**针对性策略**:
| 场景 | 叙事结构(关键) | 密度 | 首选块 |
|---|---|---|---|
| **商业汇报** | 结论先行(金字塔):每页标题即结论,先论点后论据 | medium | `stat_cards` / `chart_bar`·`chart_line` / `table_simple` / `text_bullets`(行动建议) |
| **融资路演** | 故事弧线:痛点→市场→产品→壁垒→团队→财务→融资需求 | low | `cover_quote` / `stat_cards`(市场) / `image_bg_overlay` / `timeline` / `team_profiles` |
| **产品营销** | 少字多画面强氛围:卖点、场景、对比、情绪 | low | `image_bg_overlay` / `cards_grid` / `icon_points` / `before_after` |
| **教育培训** | 易理解有节奏:目标→拆解→案例→练习→总结 | medium | `icon_points` / `mindmap`·`flow_steps` / `image_left` / `dividers/*` / `closings/qa` |
| **学术答辩** | 严谨规范:背景→问题→方法→数据→结论→文献 | high | `text_paragraph` / `flow_steps` / `chart_*`·`table_simple` / `text_quote_block` / 文献★ |
| **方案咨询** | 逻辑闭环:现状→诊断→方案→实施→收益→报价 | medium | `two_column`·`before_after` / `cards_grid` / `timeline` / `stat_cards`(收益) / 报价★ |
| **会议复盘** | 简洁实用便讨论:议程、要点、进度、问题、下一步 | medium | `text_bullets` / `progress_list` / `table_simple` / `icon_points` |
★ = 仍规划中:报价(暂用 `table_simple`)、文献(暂用 `text_bullets`)。
**各场景核心要素**(用户没提自己的框架时,**直接用对应清单作大纲骨架**,逐条映射成页面):
- **商业汇报**:结论先行(金字塔) · 数据图表 · 关键指标 · 行动建议 · 简洁版式 — 让领导快速抓重点
- **融资路演**:痛点+市场规模 · 产品方案 · 商业模式 · 竞争壁垒 · 团队背景 · 财务预测 · 融资需求 — 冲击力·讲故事·强视觉
- **产品营销**:产品卖点 · 使用场景 · 对比优势 · 视觉大图 · 品牌调性 · 情绪渲染 — 少文字·多画面·强氛围
- **教育培训**:学习目标 · 知识结构化拆解 · 案例 · 配图/示意图 · 练习互动 · 总结回顾 — 易理解·有节奏
- **学术答辩**:研究背景 · 问题与假设 · 方法 · 数据与结果 · 结论 · 参考文献 — 严谨·规范·信息密度高
- **方案咨询**:现状分析 · 问题诊断 · 解决方案 · 实施计划 · 预期收益 · 报价 — 逻辑闭环·说服力强
- **会议复盘**:议程 · 要点 · 进度 · 问题清单 · 下一步安排 — 简洁实用·便于讨论
**跨场景通用要素**(每份都要守):清晰主线逻辑 · 统一视觉风格(配色/字体/版式) · 一页一核心观点 · 图文配比合理 · 信息密度适中(按场景动态调整,既不过载也不过空)。
**复用原则**:确定场景后,**若用户没提自己的框架想法,直接复用上面对应场景的核心要素作大纲骨架**;用户有自己的结构则尊重用户的。
**多用矢量图标点缀**:画面偏单调时优先选带图标的块(`icon_points`/`cards_grid`/`team_profiles`),或在要点/卖点/章节处加图标。图标走亚麻灰(沉稳),克制不堆砌。可用:focus/time/growth/star/idea/book/balance/connect/person。
**场景驱动 overrides**:营销/路演→`density: low`;学术/复盘→`density: high`。
**场景驱动叙事**:商汇"结论先行"(标题写结论);路演/营销"故事弧线"(情绪起伏);学术"规范顺序"。
### 1. INTAKE — 识别输入类型
| 输入特征 | 类型 | 处理 |
|---|---|---|
| 一两句话"做个关于X的PPT" | topic | 你来生成大纲与全部正文 |
| 多行短句/带编号的列表 | outline | 你按大纲填充每页正文 |
| 长段落文档(>500字) | document | 你切页+提炼,尽量保留原意 |
歧义时(中等长度带标题)直接问一句"这是大纲还是已写好的内容?"。
### 2. PLAN — 生成大纲与选块
先产出大纲(每页:block_id + 一句话意图),估算页数 N。
**信息清单(初步大纲框架定下后必做)**:把"只有用户知道、生成时要填进去的具体信息"**一次性罗列成清单**问用户,**不要逐页追问**。常见项:
- 数据:关键指标数值、图表数据、增长/财务数字
- 主体:团队成员(姓名/职位/简介)、公司·产品名、联系方式
- 商业:报价/套餐、融资金额、里程碑时间点
- 内容:要引用的金句/案例、参考文献
在展示大纲时**同时**给这份清单,用户填完再进入正文生成;用户暂缺的项用占位并标注、最后提醒补。
**结构硬规则**(不可违反):
- 第 1 页必须 `covers/*`,末页必须 `closings/*`
- 每 3-5 页内容后插一个 `dividers/divider_numbered`
- 连续相同 block_id 不超过 2 次
**意图 → 块 匹配表**:
| 内容意图 | 优先块 |
|---|---|
| 概念定义/长段说理 | `text/text_paragraph` |
| 多个并列要点 | `text/text_bullets` |
| 名言/原文摘抄/金句 | `text/text_quote_block` |
| 一个核心数字/结论 | `data/stat_big_number` |
| 两两对比/并列概念 | `comparison/two_column` |
| 故事/案例(图文) | `text_image/image_left` 或 `image_right`(交替) |
| 情绪/氛围/视觉冲击 | `text_image/image_bg_overlay` |
| 章节切换 | `dividers/divider_numbered` |
| 开场 | `covers/cover_quote`(有金句)或 `covers/cover_typography` |
| 结尾 | `closings/thanks` |
| 重点强调/关键词标红 | `text/text_rich`(正文用 `**加粗**` 与 `==陶土橘强调==`) |
| 配图标的并列要点 | `layout/icon_points` |
| 并列概念分组 | `layout/cards_grid` |
| 结构化数据/对照表 | `data/table_simple` |
| 趋势/数据随时间变化 | `data/chart_line` |
| 步骤/流程 | `diagram/flow_steps` |
| 中心发散/概念关系 | `diagram/mindmap` |
**节奏软规则**:每 5 页至少 1 页带图或富媒体(图表/导图/卡片)、至少 1 页大留白(quote_block/stat);开篇低密度→中段可高→结尾回低。**富媒体克制使用**:表格/图表/流程/导图每份 deck 各用 0-2 次即可,过多反而破坏高级感;纯文字页与富媒体页交替更显呼吸。
**参考组合**:用户主题贴近某场景时,可先复用 `examples/` 里的块序列作起点再调整:
- `examples/deck_book_share.json` — 读书分享
- `examples/deck_product_intro.json` — 产品介绍
- `examples/deck_essay_share.json` — 随笔/观点分享
可用块清单与字段:运行 `python scripts/inspect_blocks.py`(或读下方"块字段速查")。
### 3. CONFIRM — 智能切换确认
- **N ≤ 8**:直接进入生成,不打断(完成后回显大纲供用户决定是否重做)。
- **N > 8**:先把大纲以表格展示给用户(| 页 | 块 | 意图 |),等用户认可或修改后再生成。
- 用户说"直接出"→跳过确认;说"先看大纲"→强制确认(优先级最高)。
### 4. POPULATE — 写正文
逐页写 content 字段。注意各块 `max_len`(见速查),超长会被截断。文案遵循三条试金石:宁可一句衬线长句,不要堆碎片。
### 5. IMAGE — 起配图 prompt
对 `text_image/*` 块的 `image` 字段:
- `prompt`:英文,描述画面主体,1-2 句。**不要**写风格词(暖纸/插画等由系统统一追加),但可写氛围。
- `fallback_keywords`:1-3 个英文名词(Unsplash 兜底用)。
- `alt`:中文简短描述(占位/无障碍用)。
配图数量受 `options.max_ai_images` 限制(默认 8)。无密钥时自动用占位图,不阻塞。
### 6. ASSEMBLE — 写 deck.json 并构建
把 deck.json 写到工作目录(如 `_temp/deck.json`),然后:
```bash
python scripts/build_ppt.py _temp/deck.json --output "<用户指定或桌面>.pptx" -v
```
- 想先快速预览不出图:加 `--skip-images`
- 只校验不生成:加 `--validate`
### 7. DELIVER — 交付
读 stdout 的摘要 JSON,用自然语言告诉用户:生成到哪、几页、用了哪些块、配图来源(AI/占位)。若有 warnings 或占位图,提示用户。
## deck.json 结构(契约)
```jsonc
{
"version": "1.0",
"meta": { "title": "必填", "subtitle": "", "author": "", "date": "YYYY-MM-DD",
"language": "zh-CN", "aspect_ratio": "16:9" },
"overrides": { "accent_color": "#C8826B", "density": "low|medium|high",
"font_size_scale": 1.0 }, // 全部可选;只在用户要求微调时加
"options": { "page_numbers": true, "show_attribution": false,
"max_ai_images": 8, "fail_on_missing_image": false,
"animations": false }, // true=每页元素点击后温和依次淡入(纯 fade,克制)
"slides": [
{ "index": 1, "block_id": "covers/cover_quote",
"content": { /* 见块字段速查 */ },
"notes": "可选演讲备注" }
]
}
```
校验失败时 Python 在 stderr 输出结构化 JSON(path/expected/actual/message),按它修正后重交。
## 块字段速查
- `covers/cover_typography` — 必填 `title`;可选 `subtitle`,`author`
- `covers/cover_quote` — 必填 `quote`;可选 `attribution`,`title`,`subtitle`
- `dividers/divider_numbered` — 必填 `number`(如"01"),`title`;可选 `subtitle`
- `text/text_paragraph` — 必填 `title`,`body`(≤450);可选 `highlight_terms`(list)
- `text/text_bullets` — 必填 `title`,`items`(list);可选 `intro`
- `text/text_quote_block` — 必填 `quote`(≤160);可选 `attribution`,`context`
- `text_image/image_left` — 必填 `title`,`body`(≤320),`image`;可选 `caption`
- `text_image/image_right` — 必填 `title`,`body`(≤320),`image`;可选 `caption`
- `text_image/image_bg_overlay` — 必填 `title`,`image`;可选 `subtitle`
- `comparison/two_column` — 必填 `left_title`,`left_body`(≤220),`right_title`,`right_body`(≤220);可选 `title`
- `data/stat_big_number` — 必填 `number`,`label`;可选 `description`
- `closings/thanks` — 必填 `title`;可选 `subtitle`
**v2 富媒体块**:
- `text/text_rich` — 必填 `title`,`body`(≤450);`body` 内用 `~~波浪~~`(赭红波浪线)/`**加粗**`/`==赭红强调==` 三层标记重点。**只有这个块**的正文解析强调标记。
- `layout/icon_points` — 必填 `title`,`items`(list of `{icon, heading, text}`,≤5);`icon` ∈ `focus/time/growth/star/idea/book/balance/connect`;可选 `intro`
- `layout/cards_grid` — 必填 `cards`(2-4 个 `{icon?, heading, body}`,icon 同上);可选 `title`
- `data/table_simple` — 必填 `headers`(list),`rows`(list of list);可选 `title`,`note`
- `data/chart_line` — 必填 `categories`(list),`series`(1-3 个 `{name, values}`);可选 `title`,`x_label`,`y_label`
- `diagram/flow_steps` — 必填 `steps`(3-5 个 `{label, desc}`);可选 `title`
- `diagram/mindmap` — 必填 `center`(str),`branches`(3-6 个 `{label, detail?}`)
`image` 对象 = `{ "prompt": "...", "fallback_keywords": ["..."], "alt": "..." }`
**强调语法(`text/text_rich` 的 body)**——三层,由轻到重,**优先用轻的**:
- `~~文字~~` = 墨色文字 + 赭红波浪下划线(最克制,首选,最 Claude)
- `**文字**` = 加粗,不改色(靠字重突出)
- `==文字==` = 赭红加粗(最重,即"标红",用 Claude 赭红 `#A6645A`)
**原则**:赭红是稀缺高光,**每页 `==变色==` 最多 2-3 处**,优先用波浪线/加粗,把变色留给最关键的词。橘红/赭红用多了会视觉疲劳,反而失去重点。图标默认走亚麻灰(沉稳),装饰性色块用中性 `#E5E4E1` 平衡暖意。
## 错误处理协议
Python 退出码:0 成功 / 1 校验失败(改 deck.json) / 2 资源错误(母版/字体) / 3 图片全失败 / 4 未知。
错误信息一律走 stderr 的 JSON,你解析后用人话转达用户,不要把 traceback 直接丢给用户。
## 首次使用
若 `python scripts/build_ppt.py ...` 提示无生图密钥:配图会用占位图,PPT 仍正常生成。
要 AI 配图,引导用户配置(见 README):设环境变量 `GEMINI_API_KEY`,或编辑 `%APPDATA%\claude-style-ppt\providers.yaml`。
字体:需系统安装思源宋体(Source Han Serif SC)与 Source Serif Pro 以获得最佳调性;缺失会回退,调性有损但能生成。
No comments yet. Be the first to comment!