Install
npx skills add https://skillhub.nuwaos.com/bitmanalan/skills/alanpptAlan 的专业咨询风 PPT skill — 单一视觉身份(McKinsey/BCG 调色板 + 无衬线 + 结论先行 + 网格至上),三种输出格式:① 单文件 HTML 横向翻页 deck(template-consulting.html + 10 个 layout 骨架,适合内部分享/发链接预览/Demo...
npx skills add https://skillhub.nuwaos.com/bitmanalan/skills/alanppt📌 署名:本 skill 由 Alan Lee (BitmanAlan) 原创,以 CC BY-SA 4.0 开源。欢迎使用 / fork / 二次开发,但须署名原作者、保留
NOTICE、衍生版同样 CC BY-SA 4.0 开源,不得冒充原创(详见LICENSE、NOTICE)。
重要:本 skill 覆盖四种顶级视觉身份,按客户场景选用——不是一种风格打天下,也不是随意混搭。每种身份是一套自洽、互不污染的设计系统(咨询风的克制绝不掺玻璃渐变,发布会风的留白绝不塞咨询密度)。生成物里不要写入 "alanppt" 或任何品牌名。
本 skill 不预设风格——先读场景,再选身份。四种身份各对应一类客户需求,详细配方见 references/design-identities.md。
| 身份 | 适用场景 | 一句话气质 | 灵感源 |
|---|---|---|---|
| A 咨询风 | 客户咨询汇报 / 尽调 / 董事会 / IPO 路演材料 | 克制、无装饰、结论先行、网格至上 | McKinsey / BCG / Bain |
| B Keynote 发布会风 | 产品发布 / Demo Day / 路演 / 大会主题演讲 | 深色、超大字、macro 留白、柔光 | Apple Keynote / Soft Structuralism |
| C Editorial 杂志风 | 品牌故事 / 观点内容 / 行业报告 / 内容营销 | 衬线大标、暖调、颗粒、编辑式排版 | Editorial Luxury / 杂志跨页 |
| D Dark-tech 玻璃风 | AI / 科技产品介绍 / 技术发布 | OLED 黑、网格渐变、玻璃质感、几何 Grotesk | Ethereal Glass / Linear / Vercel |
借鉴 design-taste 的"先读懂再生成":任何 deck 开工前,先用一行声明"这份该是什么身份",避免无脑套默认风。
选定身份后,用三个旋钮微调,而不是另起炉灶:
references/visual-qa.md):四种身份交付前都要渲染+换眼挑刺,重点查呼吸。references/field-notes.md 追加一条带日期的踩坑记录(症状/根因/修法/适用身份)。严重的坑上升为配方或检查项——让 skill 像老师傅一样累积里程,同样的坑只踩一次。⚠️ 身份不混搭:一份 deck 只走一种身份。咨询风(A)继续遵守它原有的全部克制规则——渐变/阴影/玻璃/圆角>4px/衬线 在 A 里依旧是错的;这些只在 B/C/D 对应身份里按配方使用。
由"最终落位 + 后续编辑需求"决定走哪条:
| 路径 | 输出格式 | 何时用 | 资源位置 |
|---|---|---|---|
| HTML · 网页 deck | 单文件 HTML(横向翻页) | 内部分享 / 发链接给客户预览 / Demo Day / 演讲 | assets/template-consulting.html + references/layouts-consulting.md |
| PPTX · 可编辑 | .pptx | 客户咨询交付 / 高管展示 / 对方要在 PowerPoint 里继续改 | assets/mckinsey-pptx/ + references/mckinsey-pptx.md + references/checklist-mckinsey.md |
| COVER · 多平台封面 | 单张图片(21:9 / 1:1 / 3:4 / 16:9 / 9:16) | 公众号头图 / 朋友圈分享卡 / 小红书封面 / 视频号封面 / 短视频竖封 | references/cover-specs.md |
| 用户的说法 | 走哪条 |
|---|---|
| "做个分享 PPT" / "做个 demo deck" / "做个演讲" | HTML(默认) |
| "要 .pptx 文件" / "客户要 PowerPoint 改" / "高管汇报 deck" | PPTX |
| "发链接就能看" / "网页版" / "一打开就能用" | HTML |
| "做个封面" / "做张头图" / "公众号头图" / "21:9 封面" | COVER |
| "分享卡" / "朋友圈缩略图" / "1:1 封面" | COVER |
| "小红书封面" / "3:4 封面" / "笔记封面" | COVER |
| "视频号封面" / "B 站封面" / "YouTube 缩略图" | COVER |
| "抖音封面" / "短视频封面" / "9:16 竖封" | COVER |
| 没说清楚 | 先问输出形式:网页 HTML / 可编辑 pptx / 单张封面图? |
~/Desktop/<项目名>/<格式>/:
~/Desktop/<项目名>/deck/index.html,images/ 同级~/Desktop/<项目名>/pptx/,含 png_assets/ / page_visual_previews/~/Desktop/<项目名>/covers/,命名 cover-{平台}-{比例}.jpg(例如 cover-gzh-21x9.jpg)项目记录.md 或 大纲-v1.md,便于后续迭代。cover-specs.md 重新构图。如果用户已经给了完整大纲 + 图片要求,可以跳过直接进 Step 2。
如果用户只给了主题或模糊想法,用下面 6 个问题逐项对齐:
| # | 问题 | 为什么要问 |
|---|---|---|
| 1 | 受众是谁?汇报场景?(内部分享 / 客户汇报 / Demo Day / 高管展示) | 决定语言风格和深度 |
| 2 | 分享时长? | 15 分钟 ≈ 10 页,30 分钟 ≈ 15 页,45 分钟 ≈ 20-25 页 |
| 3 | 有没有原始素材?(数据 / 旧 deck / 文章 / 调研结果) | 有素材就基于素材,没有就帮他搭 |
| 4 | 核心结论是什么?(一句话能说清吗?) | 整份 deck 的第 1 页标题就是这一句 |
| 5 | 有没有图片或截图?怎么处理? | 决定图文版式和落位比例 |
| 6 | 有没有硬约束?(必须包含 XX 数据 / 不能出现 YY) | 避免返工 |
先按 Design Read 选定的身份,拷对应模板(四选一):
mkdir -p "项目/XXX/deck/images"
# A 咨询风(默认)
cp "<SKILL_ROOT>/assets/template-consulting.html" "项目/XXX/deck/index.html"
# B Keynote 发布会风
cp "<SKILL_ROOT>/assets/template-keynote.html" "项目/XXX/deck/index.html"
# C Editorial 杂志风
cp "<SKILL_ROOT>/assets/template-editorial.html" "项目/XXX/deck/index.html"
# D Dark-tech 玻璃风
cp "<SKILL_ROOT>/assets/template-darktech.html" "项目/XXX/deck/index.html"
四个模板都是完整可运行的——CSS、字体、翻页 JS、ESC 索引、动效全已预设好,共用同一套翻页/键盘骨架,只是视觉系统不同。每个模板顶部注释写明它的身份与配方(详见 references/design-identities.md)。
| 位置 | 原始 | 需改为 |
|---|---|---|
<title> | [必填] 替换为 Deck 标题 | 实际 deck 标题 |
封面 .deck-meta | [替换:客户名 / 项目名] | 客户名或项目名 |
| 封面汇报对象 | [替换:CEO / 董事会] | 实际汇报对象 |
| 封面汇报人 | [替换:Alan Lee] | 实际汇报人 |
每次拷贝完第一件事:grep 一下"[替换" 和 "[必填"确认全部替换完。
写 slide 前先 Read assets/template-consulting.html 的 <style> 块,确认你要用的每个 class 都在。layouts-consulting.md 顶部有 Pre-flight 类名清单,对照着检查。
在挑布局之前,必须先列出每一页的 light / dark:
打开 references/layouts-consulting.md,里面有 10 种现成 layout 骨架:
| Layout | 用途 |
|---|---|
| 1. Cover | 开场封面(结论先行大标题) |
| 2. Section Divider | 章节幕封(dark 页) |
| 3. Executive Summary | 3 KPI tiles + 决策含义 + 诊断链路 |
| 4. 2x2 Matrix | 市场象限 / 战略矩阵 + benchmark bars |
| 5. Roadmap Swimlanes | 3 工作流 × 4 时间段 + scorecard |
| 6. Value Waterfall | 价值瀑布 / EBITDA 桥 |
| 7. Process / Diagnostic | 横向 N 节点流程 |
| 8. Option Comparison | 3 套方案对比 |
| 9. Big Statement | 大引述 / manifesto(dark 页 + h-statement) |
| 10. Closing / Next Steps | 收尾页 + 3 条 next + 时间窗 |
选对应 layout,粘过去,改文案。务必先完成 3.0 预检。
如果 deck 里要插图,图片放 项目/XXX/deck/images/,命名 {页号}-{语义}.{ext}(如 03-matrix.png)。
按下面 5 项过一遍:
serif 应该为空open "项目/XXX/deck/index.html"
不需要本地服务器。键盘 ← → 翻页 / ESC 索引 / B 低功耗 / F 全屏 / 1-9 直跳。
自查(Step 4)是同一个 agent 看自己,有预期盲区,发现不了"挤"。交付前必须按 references/visual-qa.md 跑一遍:渲染每页成图 → 派一个全新子agent用挑刺视角找问题(重点查呼吸/留白:疏密不均、贴边、顶到页脚、负空间不足)→ 修 → 重验。没跑完至少一轮"修复+重验",不算完成。
90% 的调整是改 inline style(字号 font-size:Xvw / 高度 height:Yvh / 间距 gap:Zvh)。
入口文档:references/mckinsey-pptx.md(走 PPTX 前必读)
简要流程:
assets/mckinsey-pptx/image2-prompt-template.md 的 Shared Visual System + 单页 Prompt 模板生成assets/mckinsey-pptx/decompose-prompt.md 的 Prompt 把每页拆成透明 PNG 素材assets/mckinsey-pptx/ 整个目录拷到项目根,改 make-deck.js 顶部的 PROJECT 常量和 addSlideN 函数,跑 npm install && node make-deck.jsreferences/checklist-mckinsey.md 的 P0/P1/P2/P3 清单逐项核对,在 PowerPoint 里打开验证文字可编辑references/visual-qa.md 把 pptx 渲染成图(soffice→pdf→pdftoppm)→ 派全新子agent挑刺(重点查呼吸/留白、溢出、重叠)→ 修 → 重验,零新问题才交付与 HTML 路径的差异:
视觉系统完全一致:同样 McKinsey 调色板、同样 Inter 字体(pptx 用 Arial 兼容性更好但视觉等价)、同样结论先行原则。
入口文档:references/cover-specs.md(走 COVER 前必读)
COVER 路径不生成 deck,只生成单张封面图。覆盖五种平台尺寸:
| 平台 | 比例 | 安全区注意 |
|---|---|---|
| 公众号头图 | 21:9 | 避开右下水印 |
| 公众号分享卡 / 朋友圈缩略 | 1:1 | 中央 60% |
| 小红书封面 / 轮播 | 3:4 | 避开底部用户名 + 标签条 |
| 视频号 / B 站 / YouTube | 16:9 | 避开右下时长水印 |
| 抖音 / 小红书视频竖封 | 9:16 | 避开底部进度条 |
工作流:
cover-specs.md 的 Prompt 模板生成~/Desktop/<项目名>/covers/,命名 cover-{平台}-{比例}.jpg绝不要直接截 deck 的某一页当封面——deck 横向版式信息密度低,缩到 1:1 或 3:4 会留白过多、字号失衡。封面必须按 cover-specs.md 重新构图。
alanppt/
├── SKILL.md ← 你正在读
├── README.md / README.en.md ← 速查
├── LICENSE ← MIT
├── CONTRIBUTING.md ← 维护说明
├── assets/
│ ├── template-consulting.html ← ★ 身份 A · 咨询风模板(10 layout)
│ ├── template-keynote.html ← ★ 身份 B · Keynote 发布会风模板
│ ├── template-editorial.html ← ★ 身份 C · Editorial 杂志风模板
│ ├── template-darktech.html ← ★ 身份 D · Dark-tech 玻璃风模板
│ └── mckinsey-pptx/ ← ★ PPTX 路径 self-contained 工作目录
│ ├── image2-prompt-template.md ← Image-2 整页视觉 Prompt 模板
│ ├── decompose-prompt.md ← 拆透明 PNG 的 Prompt
│ ├── rebuild-prompt.md ← 兜底:让模型直出 pptx 的 Prompt
│ ├── make-deck.js ← pptxgenjs 脚本(含咨询图表原语库)
│ └── package.json ← pptxgenjs + sharp 依赖声明
└── references/
├── design-identities.md ← ★ 四种视觉身份配方手册(A/B/C/D 各自宪法,先读)
├── layouts-consulting.md ← ★ 身份 A · 10 种 layout 骨架(可粘贴)
├── mckinsey-pptx.md ← ★ PPTX · 完整工作流主文档
├── cover-specs.md ← ★ COVER · 多平台封面规格 + Prompt 模板
├── checklist-mckinsey.md ← ★ PPTX · 自检清单(P0/P1/P2/P3 + 呼吸 P2-5)
├── visual-qa.md ← ★ 通用 · 渲染+换眼子agent视觉QA回环(HTML/PPTX 交付前必跑)
└── field-notes.md ← ★ 实战踩坑日志(每做完真实 deck 追加一条,累积里程)
加载顺序建议:
SKILL.md(这个文件)了解整体layouts-consulting.md(顶部有 Pre-flight 类名清单),动手前先 Read assets/template-consulting.html 的 <style> 块mckinsey-pptx.md,按需读 assets/mckinsey-pptx/ 里的对应 prompt 模板 / 脚本,交付前过 checklist-mckinsey.mdcover-specs.md → 按 Prompt 模板生成下列 10 条是身份 A(咨询风)的宪法——无衬线/直角/单一红 accent/hairline 等只对 A 成立。B/C/D 各有自己的配方(见
references/design-identities.md),不要把 A 的克制规则套到 B/C/D,也不要把 B/C/D 的玻璃渐变带进 A。跨四身份恒定的只有:结论先行 · 呼吸优先(#11) · 换眼 QA(#12) · 反默认审美。 对 A 而言:违反其中任何一条,画面瞬间从咨询风掉到 PowerPoint。
references/visual-qa.md),修完重验,零新问题才算完成