Community编程与开发github.com

pomelo-digital/pomelo-deck

构建或重新设计 Pomelo Digital 内部风格的 PowerPoint 幻灯片(.pptx)——白色画布、Georgia 标题、Calibri 正文、珊瑚色+薄荷色强调系统、角落弧线装饰以及 pómelo 标志。适用于任何 Pomelo 客户报告、绩效报告、提案或推介材料,以及在被告知“以 Pomelo 风格构建/重做/重新设计幻灯片”时使用。提供一个可复用的 PptxGenJS 辅助模块(pomelo.js)、标志资产以及一个可运行的入门示例。

pomelo-deck 是什么?

Pomelo Deck Template 是一个为 Pomelo Digital 品牌定制的 PowerPoint 幻灯片生成模板,基于 PptxGenJS 构建,确保设计系统的一致性与可复用性。该技能的核心价值在于:当收到“以 Pomelo 风格构建/重做/重新设计幻灯片”的任务时,开发者或 AI 代理无需从头推导设计规范,直接调用内置的 pomelo.js 模块即可快速生成符合品牌要求的 .pptx 文件。它支持在 Claude Code、Cursor 或 Codex 等 AI 编码代理环境中运行,通过 npm 安装 pptxgenjs 并执行 Node.js 脚本。技能涵盖了完整的品牌元素,包括:白色 16:9 画布、指定的字体组合(Georgia 和 Calibri)、珊瑚色与薄荷色为主的配色系统、独特的角落弧形装饰以及 pómelo 标志。除了覆盖、分隔、内容、结束等标准幻灯片构建器外,还提供了统计网格、指标行、表格等组件,并内置了处理数字换行、表格溢出等常见问题的规避策略。该模板特别强调在重新设计现有幻灯片时,必须原样保留客户数据,不得擅自修改。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/pomelo-digital/skills/tree/main/plugins/pomelo-deck/skills/pomelo-deck

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Pomelo 幻灯片模板

用于使用 PptxGenJS 构建 Pomelo 品牌的 .pptx 幻灯片的可复用模板,确保设计系统无需重复推导。

使用时机

任何任务描述为“以 Pomelo 风格构建 / 重做 / 重新设计幻灯片”时——客户绩效报告、推介材料、提案。如果用户上传现有幻灯片进行重新设计,请完全保留其所有数据,仅将布局更改为本系统。

设置(每次会话)

  1. 确保工作目录中存在以下文件:pomelo.js、pomelo_logo.png(以及供参考的 example.js)。
  2. 如有需要,安装引擎:npm install -g pptxgenjs,并使用 NODE_PATH=$(npm root -g) node build.js 运行脚本。
  3. 首先阅读 example.js——它演示了从端到端的每一个幻灯片构建器。复制它作为你的起点。

设计系统(已编码在 pomelo.js 中——请勿手动创建)

  • 画布: 10" × 5.625"(16:9),白色背景。
  • 字体: Georgia = 标题/数字;Calibri = 正文、标签、表格。
  • 颜色: ink 1F2A2E(标题)、body 3D4A4E、muted 8A9498(说明/页码)、coral EB6B4F(主要强调色 / 眉毛 / 数字 / 弧线 / 标志)、mint 76BBA8 + green 4F8B7B(次要强调色)、sand E8E5DD / light sand F7F6F3(面板和合计行)、hairline D9D7D0。
  • 眉毛标签: 9pt Calibri,珊瑚色,大写,charSpacing:3。
  • 幻灯片标题: Georgia 约 24pt(封面部分 28pt,分隔页 40pt,封面 50pt)。
  • 装饰: 嵌套圆环(外部颜色 + 白色内部)从角落溢出。arcsTR/arcsBL = 大号(封面/结束页);smallArcTR = 小号(内容页)。
  • 页脚: pómelo 标志位于右下角;页码 NN / TOTAL 位于左下角,使用 muted 灰色。

API(const { PomeloDeck, TOKENS } = require('./pomelo'))

创建:const d = new PomeloDeck({ total: N, title, logo:'pomelo_logo.png' })——total 控制页码。

幻灯片构建器(每个构建器返回幻灯片对象,以便你可以添加自定义内容):

  • d.cover({ kicker, title, subtitle, sub2, stats:[[num,label,sub]], footer })——统计信息以 5 列带状形式呈现;长值自动缩小。
  • d.divider({ kicker, title, sub, accent })——章节分隔页。accent = TOKENS.CORAL(默认)或 TOKENS.MINT。
  • d.content({ kicker, title, note, size, arc, page })——标准内容幻灯片,包含眉毛标签 + 标题 + 页脚。返回幻灯片对象;正文部分请自行组合。
  • d.closing({ kicker, title, subtitle, footer })。

组件(在幻灯片上调用):

  • d.statGrid(s, [[num,label,sub,color]], { x,y,w,cols,gh,gapx,gapy,numSize })——KPI 卡片。
  • d.statCell(s,x,y,w,num,label,sub,color,numSize)——单个 KPI。
  • d.metricRows(s,x,y,w,[[label,val]])——标签/值的行,带分割线(适合放在创意图片旁边)。
  • d.table(s, head, rows, { x,y,w,colW,fs,hfs,rowH,totalLast,boldFirst,margin })——Pomelo 表格(深色表头,斑马纹行,沙色合计行)。
  • d.eyebrow / d.title / d.note / d.line——基本元素。

保存:await d.save('out.pptx')。

注意事项(从实践经验中总结——请务必遵守)

  • 长数字会换行。 在约 1.74" 的统计单元格中,超过 6 个字符(例如 ₹1,27,629、2,652,386)的值在默认 30pt 下会换行。请传递 numSize:20(statGrid)——封面会自动处理此问题。
  • 宽/长表格会溢出底部。 全宽表格在 rowH:0.235 下大约可容纳 13 行数据行。如果表格较长或位于统计网格下方,请将其拆分为两个并排的表格(每个约 4.4" 宽,colW 为 5 列),而不是将行缩小到难以辨认。请参考 n-SHIELD 幻灯片第 20 页的模式。
  • 不要过度装饰封面。 当全宽内容(例如统计条带)与左下角圆环冲突时,仅使用 arcsTR(跳过 arcsBL)。
  • 重新设计时请原样保留客户数据——包括看起来数学上错误的数字。请单独向用户标记它们;切勿擅自“修正”。

工作流程

  1. 阅读 example.js;复制为 build.js。
  2. 使用上述构建器构建幻灯片;以原始宽高比复用任何客户创意图片。
  3. 每次渲染为图片进行质量检查:soffice --convert-to pdf 然后 pdftoppm -jpeg,或使用 thumbnail.py。在交付前务必目视检查——检查是否有换行的数字和溢出的表格。
  4. 将最终的 .pptx 复制到 outputs 目录并呈现。

相关技能