关于 mbb-decks
MBB Decks 是一项技能,可将 JSON 规范转换为咨询风格的 PowerPoint 演示文稿。它先引导用户确认逐页标题构成的故事线,再扩展内容,并按规定结构和视觉规范生成 .pptx。
主要功能
- 01根据 JSON 生成 .pptx 演示文稿
- 02先确定逐页标题故事线
- 03采用六部分演示文稿结构
- 04遵循 MECE 要点与引用规范
- 05提供图表和视觉系统指引
- 06使用 Python 脚本渲染演示文稿
适用场景
- 01制作面向高管的战略演示文稿
- 02将分析内容转成咨询风格演示文稿
- 03准备董事会预读材料或建议方案
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ floflo11/ mbb-decks --skill mbb-decks安装后在 Claude Code 中输入/mbb-decks确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreREADME.mdLICENSE.claude-plugin/marketplace.jsonexamples/data-center-landscape/README.mdbuild_vanilla.pyinput.jsonexamples/market-entry/README.mdinput.jsonscripts/build_deck.pydownload_logos.py详细介绍
MBB 演示文稿
根据 JSON 规范生成咨询级 .pptx 演示文稿。采用 MBB 的标准风格规则:行动式标题叙事、六部分结构、MECE 要点、引用规范,以及海军蓝与白色的编辑式视觉系统。
适用场景
- 用户需要 MBB 演示文稿、麦肯锡风格演示文稿、咨询演示文稿、董事会预读材料、高管汇报、市场进入演示文稿、尽职调查演示文稿、建议书或战略演示文稿。
- 用户提供了需要整理成面向非技术高管受众的幻灯片的分析内容。
- 用户需要真正的
.pptx文件,而不是 Markdown 大纲。
工作流:先制作幽灵版,再扩展内容
请勿跳过幽灵版步骤。这是影响质量的最关键环节。
- 验证渲染器依赖项(仅首次运行)。 生成任何演示文稿前,请先运行以下命令,确认已安装 Python 3.9+ 和
python-pptx:
如果命令输出版本号,请跳至步骤 1。如果出现python3 -c "import pptx; print(f'python-pptx {pptx.__version__} on Python {__import__(\"sys\").version.split()[0]}')"ModuleNotFoundError: No module named 'pptx'错误,请告知用户:渲染器需要
python-pptx。请在终端运行pip install python-pptx,然后回复“准备好了”,我就会继续。 等待用户确认后再继续。如果跳过此检查,构建脚本也会妥善处理,并显示相同的安装提示;但提前检查能带来更顺畅的体验。 - 幽灵版。 仅为每张幻灯片编写行动式标题(封面、执行摘要标题、议程项目、每张内容幻灯片的行动式标题、建议标题)。从头到尾将这些标题作为一段文字阅读。它们必须构成连贯的论证:情境 → 矛盾 → 解决方案,或主张 → 证据 → 建议。
- 请用户确认。 展示幽灵版,并询问:“这个叙事逻辑是否清晰?在扩展内容前,有什么需要添加、删减或调整顺序的吗?”等待用户确认。
- 扩展内容。 补充要点、图表、脚注和来源。每张幻灯片的内容都要围绕其行动式标题,并符合 MECE 原则。
- 渲染。 将 JSON 规范写入磁盘,并调用
scripts/build_deck.py。
演示文稿结构(六个部分)
严格限制:第 1 至 5 部分最多 15 张幻灯片。附录不受限制。
| # | 部分 | 说明 |
|---|---|---|
| 1 | 封面 | 标题、副标题、作者、组织。空白主题。 |
| 2 | 执行摘要 | 用一个标题回答“所以呢?”。包含 3 至 5 条符合 MECE 原则的要点。 |
| 3 | 议程 | 包含 2 至 4 个部分。部分标题须与分隔页一致。 |
| 4 | 各部分内容 | 每个部分以分隔页开篇(编号 + 标题)。每个部分包含 2 至 4 张内容幻灯片。 |
| 5 | 建议 | 标题 + 行动表格(负责人 / 行动 / 结果)。必须包含行动表格。 |
| 6 | 附录 | 可选。补充细节和支持性分析。采用与内容幻灯片相同的格式。 |
行动式标题规则
除封面、分隔页和附录分隔页外,每张幻灯片都必须有行动式标题。行动式标题传达含义,正文提供论据。
- 完整的一句话,10 至 15 个词。包含主语 + 动词 + 主张。
- 具体明确。 “越南中产阶层消费到 2030 年以 7% 的年复合增长率增长”优于“市场很有吸引力”。
- 独立成意。 读者只看行动式标题,也必须能理解论证。
- 尽可能体现因果关系。 “X 推动 Y”优于“X 和 Y”。
- 不要提问,也不要使用标签。 “市场规模测算”只是标签,不是行动式标题。请改为陈述发现。
撰写正文前,请按顺序阅读所有行动式标题。如果这些标题不能构成连贯的故事,请先理顺叙事逻辑,再扩展内容。
符合 MECE 原则的要点
每张幻灯片最多包含 3 至 5 条要点。要点必须:
- 相互独立。 不得重叠。
- 完全穷尽。 不遗漏行动式标题下显而易见的内容。
- 结构平行。 同一张幻灯片上的要点采用相同的语法结构。
- 具体明确。 包含数字、日期和专有名称。“已筛选 3 家本地合作伙伴”优于“考虑了几家合作伙伴”。
视觉系统
默认设置在 scripts/build_deck.py 中定义。除非用户明确要求,否则不要覆盖。
| 元素 | 规格 |
|---|---|
| 背景 | 白色 #FFFFFF |
| 标题 | Georgia,深海军蓝 #051C2C |
| 正文 | Calibri,近黑色 #1A1A1A |
| 强调色 | 电光蓝 #2251FF,仅少量用于分隔线和章节编号 |
| 网格线、分隔线 | 浅灰色 #E5E7EB |
| 脚注、来源、页码 | Calibri 8pt,中灰色 #949BA8 |
| 幻灯片尺寸 | 16:9,13.333" × 7.5" |
| 页边距 | 左右各 0.5" |
| 页码 | 右下角,格式为 Page X / Y |
| 页脚日期 | 不显示 |
| 图标 | 不显示,除非用户明确要求 |
图表类型
选择与行动标题中的主张相匹配的图表。
| 行动标题动词 | 图表类型 |
|---|---|
| “增长”“下降”“呈趋势变化” | 柱形图或折线图 |
| “由……构成”“占比” | 100% 堆积柱形图或饼图(谨慎使用饼图) |
| “高于”“排名第一” | 按数值排序的横向条形图 |
| “驱动”“解释” | 瀑布图或堆积条形图 |
| “与……相关” | 散点图 |
| “从 X 增长到 Y” | 瀑布图 |
目前,脚本可以整洁地渲染簇状柱形图。对于其他图表类型,请改用项目符号并以文字描述数据,然后在 PowerPoint 中手动添加图表,或扩展脚本。
引用格式
- 正文中的行内标记:当具体数字或主张需要注明出处时,使用
[1]、[2]等。 - 幻灯片底部的来源行:
Source: [text](url); [text](url)。使用 Markdown 风格的[text](url)语法,以便每个来源都能在.pptx中呈现为可点击的超链接。多个来源以分号分隔。对于没有公开 URL 的来源,也可以使用不带(url)的纯文本。 - 脚注行:放在来源行上方,用于说明某个数字(例如,“不包括新加坡”)。脚注与来源不同。
- 如果幻灯片没有提出具体的数据主张,则不添加来源行。
数据来源规则(重要)
这项技能的可信度取决于数据质量。这些规则适用于每张图表、每个项目符号以及所有包含数字的主张。
始终使用当前年份
运行环境上下文中提供了今天的日期。请使用该日期。
- 对于历史数据:引用最新可用的发布版本。如果已有 2026 年的数据集,就不要引用 2023 年的版本。
- 对于前瞻性预测:预测标签应从当前年份开始。如果今天是 2026 年,未来年份应标为
2026E、2027E、2028E。绝不要把过去的年份标为E(预测)。 - 对于脚注中的“截至”表述:写作“截至当前年份第 [当前季度] 季度”,不要使用过时日期。
仅使用权威、可信的来源
以下是按领域列出的简短非穷尽来源清单,Claude 应优先查阅:
| 领域 | 权威来源 |
|---|---|
| 宏观经济与贸易 | World Bank、IMF、OECD、BIS、UN ComTrade、WTO |
| 云和 AI 基础设施 | Synergy Research Group、IDC、Dell'Oro Group、Gartner、JLL Data Center Outlook、Structure Research |
| 能源与气候 | IEA、BloombergNEF、EIA、Lazard LCOE、NREL ATB、Wood Mackenzie |
| 金融市场 | Bloomberg、S&P Global、Refinitiv (LSEG)、FactSet、Capital IQ、PitchBook、Preqin |
| 咨询/战略报告 | McKinsey Global Institute、BCG、Bain(公开引用)、Oliver Wyman |
| 消费者 | Euromonitor、Nielsen、Kantar、eMarketer、Statista |
| 上市公司 | 公司 10-K、10-Q、S-1、业绩电话会文字稿(SEC EDGAR) |
| 监管与政策 | Federal Reserve、BLS、BEA、ECB、EU Commission、监管机构申报文件 |
不要使用:随意的博客文章、AI 生成的摘要、无法核实引用来源的付费内容,或将“Statista projections”作为数字主张的唯一来源。
每个来源都应包含可点击的 URL(如果有)
格式:Source: [BloombergNEF Energy Transition Investment Trends, 2025](https://about.bnef.com/energy-transition-investment/); [IEA World Energy Outlook, 2024](https://www.iea.org/reports/world-energy-outlook-2024)
构建脚本会自动:
- 将每个
[text](url)片段渲染为.pptx中的超链接。 - 在渲染时向每个 URL 发送 HEAD 请求。如果 URL 返回 4xx 错误,链接会被静默移除,只渲染纯文本。读者不会看到失效的链接。
- 对于非 4xx 结果(网络超时、DNS 错误、HEAD 请求被拦截),保留链接,因为我们无法确切判断链接是否失效。
如果找不到特定报告的公开 URL,请将来源保留为纯文本。不要编造 URL。
将图表与解读配对
切勿只放一张图表就交付图表幻灯片。每张图表幻灯片都应在同一页上附带解读面板,让读者一目了然地看到图表和要点。如果描述图表的项目符号最终出现在下一张幻灯片上,请将它们合并。
两种布局:
commentary_position: "right"(默认)。图表占左侧 62%,右侧为包含三到四条项目符号的“KEY TAKEAWAYS”面板。适用于大多数图表幻灯片。commentary_position: "below"。图表在顶部横跨整页(高度约 2.8"),解读内容放在下方的两列中。当图表需要更多横向空间(包含 5 个以上类别且有多个系列)或要点有 4 条以上时使用。
将徽标用作项目符号标记
如果解读内容或两列项目符号聚焦于某个具名实体(公司、监管机构、主权基金),请使用该实体的徽标作为项目符号标记,而不是抽象图标或普通圆点。此技能会从 logo.dev 自动下载徽标(技能附带一个公开令牌;如需使用私有配额,可通过 LOGODEV_TOKEN 覆盖),并将其缓存在 assets/logos/ 中。如果 logo.dev 尚无该域名的品牌标识,则会返回 HTTP 202,此时项目符号将使用普通的 • 标记,而不是占位符。
项目符号条目可以是:
- 纯字符串 → 使用
•标记渲染。 { "icon": "→", "text": "..." }→ 使用海军蓝色的字形作为标记渲染。{ "logo": "microsoft.com", "text": "..." }→ 使用公司徽标作为标记渲染。首次渲染时自动下载并缓存。{ "logo": "...", "icon": "...", "text": "..." }→ 优先使用徽标。
如果项目符号描述的是概念而非实体(例如地区、原则),请使用 icon,而不是 logo。如果提到了多家公司,请拆分该项目符号,使每个项目各有一个核心实体。
JSON 规范
脚本会读取符合以下结构的 JSON 文件。完整示例请参见 examples/market-entry/input.json 和 examples/data-center-landscape/input.json。
{
"meta": { "title": "...", "subtitle": "...", "author": "...", "organization": "..." },
"executive_summary": {
"headline": "Full-sentence claim, 15 to 25 words",
"bullets": ["...", "...", "..."]
},
"agenda": [
{ "title": "Section title", "subtitle": "Optional subtitle" }
],
"sections": [
{
"title": "Matches an agenda title",
"slides": [
{
"action_title": "Full sentence, 10 to 15 words",
"content_type": "bullets", // or "bar_chart" or "two_column"
// for content_type "bullets"
"bullets": [
"Plain bullet text",
{ "icon": "$", "text": "Bullet with abstract icon marker" },
{ "logo": "microsoft.com", "text": "Bullet with company logo marker" }
],
// for content_type "bar_chart"
"chart": {
"categories": ["A", "B", "C"],
"series": [{ "name": "...", "values": [1.0, 2.0, 3.0] }],
"unit": "USD millions"
},
"commentary": [ // optional; pairs with chart
{ "logo": "aws.amazon.com", "text": "AWS-specific takeaway" },
{ "logo": "microsoft.com", "text": "Azure-specific takeaway" },
{ "icon": "◆", "text": "General takeaway not tied to one company" }
],
"commentary_position": "right", // or "below"; default "right"
// for content_type "two_column"
"left_header": "...",
"left": [ "plain", { "icon": "$", "text": "..." }, { "logo": "...", "text": "..." } ],
"right_header": "...",
"right": [ /* same shape as left */ ],
"footnote": "Optional. Auto-prefixed with '*'. Body or chart label should carry a matching '*' marker.",
"source": "Optional. Format: '[Org], [Publication], [Year]; [Org 2], [Year]'"
}
]
}
],
"recommendations": {
"headline": "Approve / proceed / invest claim",
"actions": [
{ "owner": "CFO", "action": "Specific action by date", "outcome": "What it produces" }
]
},
"appendix": [
// Same shape as section slides
]
}
调用构建脚本
python scripts/build_deck.py <input.json> <output.pptx>
脚本会验证幻灯片数量;如果主演示文稿超过 15 张幻灯片,则会打印警告。
常见错误
| 错误 | 修正方法 |
|---|---|
| 行动标题只是一个标签(“市场规模评估”) | 改写为带有动词和结论的句子 |
| 行动标题之间无法串联成一个故事 | 重新排序或改写。把它们连起来当作一段话,大声读一遍。 |
| 每张幻灯片超过五个要点 | 精简到三个,或拆分幻灯片 |
| 要点重复行动标题 | 要点必须补充证据,而非重述结论 |
| 图表幻灯片没有说明文字 | 在同一张幻灯片上添加 commentary 面板;切勿将描述图表的要点放到下一张幻灯片 |
| 图表只是装饰,没有支撑作用 | 换成能够证明行动标题的图表 |
| 数据幻灯片没有来源 | 添加来源。每项数值结论都需要注明出处。 |
| 正文中零散点缀装饰性图标 | 删除。图标或徽标只能用作要点标记,不能用作页面装饰 |
| 要点提到一家公司,却使用抽象图标 | 换成 {"logo": "<domain>", "text": "..."};徽标会成为标记 |
| 在同一面板中混用徽标标记和深蓝圆形图标 | 去掉图标字形的圆形背景(脚本会自动处理) |
| 使用长破折号 | 换成句号或逗号。风格指南规定不使用长破折号。 |
| 页脚中有日期 | 删除。风格指南规定省略日期。 |
| 主演示文稿超过 15 张幻灯片 | 将详细内容移至附录。 |
遇到以下危险信号时,停止并重新开始
- “我先写幻灯片,之后再构思故事。”停止。先制作 Ghost deck。
- “行动标题太长了,我要缩短它。”确认它仍然是完整的结论。如果缩短后变成了标签,这种取舍就不合适。
- “三个要点不够,我还有更多内容要说。”拆成两张幻灯片,或将详细内容移至附录。
- “我会把图表放在一张幻灯片上,再把描述图表的要点放在下一张。”停止。合并它们,并在同一张幻灯片上添加
commentary面板。 - “我会加几个图标,让页面更直观。”提到公司的要点使用徽标。概念类要点才使用抽象图标。切勿零散点缀装饰性图标。