# Ccstyle Ppt

> Claude 暖纸风格 PPT 生成器。仅通过斜杠命令 /ccstyle-ppt 显式触发(不自动触发)。生成可在 PowerPoint/WPS 二次编辑的 .pptx,含场景采访、26 个幻灯片块、强调系统、富媒体与温和淡入动画。

- **Type:** Skill
- **Install:** `agentstack add skill-m1234567654321-web-claude-style-skills-claude-style-ppt`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [M1234567654321-web](https://agentstack.voostack.com/s/m1234567654321-web)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [M1234567654321-web](https://github.com/M1234567654321-web)
- **Source:** https://github.com/M1234567654321-web/claude-style-skills/tree/main/claude-style-ppt

## Install

```sh
agentstack add skill-m1234567654321-web-claude-style-skills-claude-style-ppt
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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 以获得最佳调性；缺失会回退，调性有损但能生成。

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [M1234567654321-web](https://github.com/M1234567654321-web)
- **Source:** [M1234567654321-web/claude-style-skills](https://github.com/M1234567654321-web/claude-style-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-m1234567654321-web-claude-style-skills-claude-style-ppt
- Seller: https://agentstack.voostack.com/s/m1234567654321-web
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
