Install
$ agentstack add skill-m1234567654321-web-claude-style-skills-claude-style-ppt ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Claude 风格 PPT 工作流
把一句话主题、一份大纲、或一整篇文档,转成视觉上忠实于 Claude.ai 调性的可编辑 .pptx。 Claude 负责动脑(识别输入、生成大纲、写正文、起配图 prompt、选块),Python 负责动手(校验 + 用 python-pptx 渲染)。
唯一中间产物是 deck.json,它是 Claude 与 Python 之间的契约。
第一性原则:三条试金石
生成的每一页都必须同时满足,否则不是 Claude 风:
- 纸感:背景温润米色
#F4EEE1,强调色陶土橘#D97757,正文暖墨黑#2C2826。绝不出现任何冷色(蓝/绿/紫/冷灰)。 - 节奏:全衬线(中文思源宋体、西文 Source Serif Pro),行高 1.6,单行 28-38 字,字号梯度收窄。让人"读"而非"扫"。
- 克制:无阴影、无渐变、圆角≤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),然后:
python scripts/build_ppt.py _temp/deck.json --output ".pptx" -v
- 想先快速预览不出图:加
--skip-images - 只校验不生成:加
--validate
7. DELIVER — 交付
读 stdout 的摘要 JSON,用自然语言告诉用户:生成到哪、几页、用了哪些块、配图来源(AI/占位)。若有 warnings 或占位图,提示用户。
deck.json 结构(契约)
{
"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,authorcovers/cover_quote— 必填quote;可选attribution,title,subtitledividers/divider_numbered— 必填number(如"01"),title;可选subtitletext/text_paragraph— 必填title,body(≤450);可选highlight_terms(list)text/text_bullets— 必填title,items(list);可选introtext/text_quote_block— 必填quote(≤160);可选attribution,contexttext_image/image_left— 必填title,body(≤320),image;可选captiontext_image/image_right— 必填title,body(≤320),image;可选captiontext_image/image_bg_overlay— 必填title,image;可选subtitlecomparison/two_column— 必填left_title,left_body(≤220),right_title,right_body(≤220);可选titledata/stat_big_number— 必填number,label;可选descriptionclosings/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;可选introlayout/cards_grid— 必填cards(2-4 个{icon?, heading, body},icon 同上);可选titledata/table_simple— 必填headers(list),rows(list of list);可选title,notedata/chart_line— 必填categories(list),series(1-3 个{name, values});可选title,x_label,y_labeldiagram/flow_steps— 必填steps(3-5 个{label, desc});可选titlediagram/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
- Source: M1234567654321-web/claude-style-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.