From b80c6bdf96dc9477f8c84eec8a4d69749ff3d874 Mon Sep 17 00:00:00 2001 From: wehub-skill-sync Date: Mon, 13 Jul 2026 21:35:31 +0800 Subject: [PATCH] chore: import zh skill ppt-orchestra-skill --- README.wehub.md | 9 +++ SKILL.md | 155 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 README.wehub.md create mode 100644 SKILL.md diff --git a/README.wehub.md b/README.wehub.md new file mode 100644 index 0000000..cf81ff4 --- /dev/null +++ b/README.wehub.md @@ -0,0 +1,9 @@ +# WeHub 来源说明 + +- Skill 名称:`ppt-orchestra-skill` +- 中文类目:PPTX 多页编排与单页实现 +- 上游仓库:`minimax-ai__skills` +- 上游路径:`plugins/pptx-plugin/skills/ppt-orchestra-skill/SKILL.md` +- 上游链接:https://github.com/minimax-ai/skills/blob/HEAD/plugins/pptx-plugin/skills/ppt-orchestra-skill/SKILL.md +- 本仓库为 WeHub 中文 Skill 汉化包,基于 skill 市场筛选 Top200 清单整理 +- 原作者、版权和许可证信息以上游仓库为准 diff --git a/SKILL.md b/SKILL.md new file mode 100644 index 0000000..df6684d --- /dev/null +++ b/SKILL.md @@ -0,0 +1,155 @@ +--- +name: ppt-orchestra-skill +description: "从头规划并编排多页 PowerPoint 的创建。在使用子代理生成完整幻灯片组之前调用:对每张幻灯片的类型进行分类、强制视觉多样性、设置排版与间距规则,并运行基于文本的质量检查以捕获内容问题。" +license: Proprietary。完整条款见 LICENSE.txt +--- + +# 幻灯片页面类型(标准) + +在逐张生成幻灯片时(每张幻灯片一个 JS 文件),将**每一张**幻灯片**严格归类**为以下 5 种页面类型之一。这样做能保持结构一致,防止出现"随机布局漂移"。 + +1. **封面页** + - **用途**:开场 + 定调 + - **内容**:大标题、副标题/演讲者、日期/场合、强背景/主题图案 +2. **目录页** + - **用途**:导航 + 设定期望(3–5 个章节) + - **内容**:章节列表(可带图标/页码) +3. **章节分隔页** + - **用途**:主要部分之间的清晰过渡 + - **内容**:章节编号 + 标题(可加 1–2 行简介) +4. **内容页**(选择一个子类型) + - **文本型**:项目符号/引用/短段落(仍需添加图标/形状) + - **混合媒体型**:两列 / 半出血图 + 文字叠加 + - **数据可视化型**:图表 + 1–3 条关键结论 + **数据来源** + - **对比型**:并排两列/卡片(A vs B,优点/缺点) + - **时间线/流程型**:带箭头的步骤、路线图、阶段 + - **图片展示型**:主视觉图、画廊或视觉优先布局 +5. **总结/结束页** + - **用途**:收尾 + 行动号召 + - **内容**:关键要点、CTA/后续步骤、联系方式/二维码、致谢 + +**布局选项:** +- 两列(左侧文字,右侧插图) +- 图标 + 文字行(图标置于彩色圆圈中,粗体标题,下方描述) +- 2x2 或 2x3 网格(一侧为图片,另一侧为内容块网格) +- 半出血图(占据左侧或右侧整列)+ 内容叠加 + +**数据展示:** +- 大号数字标注(60–72pt 大号数字,下方配小标签) +- 对比列(前后对比、优点/缺点、并排选项) +- 时间线或流程(带编号的步骤、箭头) + +**视觉润色:** +- 章节标题旁的小彩色圆圈内放置图标 +- 关键统计数据或标语使用斜体强调文字 + +### 排版 + +**选择一套有趣的字体搭配**——不要默认使用 Arial。选择一款有个性的标题字体,并搭配一套清爽的正文字体。 + +| 标题字体 | 正文字体 | +|-------------|-----------| +| Georgia | Calibri | +| Arial Black | Arial | +| Calibri | Calibri Light | +| Cambria | Calibri | +| Trebuchet MS | Calibri | +| Impact | Arial | +| Palatino | Garamond | +| Consolas | Calibri | + +| 元素 | 字号 | +|---------|------| +| 幻灯片标题 | 36–44pt 粗体 | +| 章节标题 | 20–24pt 粗体 | +| 正文 | 14–16pt | +| 说明文字 | 10–12pt 弱化 | + +### 间距 + +- 最小页边距 0.5 英寸 +- 内容块之间 0.3–0.5 英寸 +- 留出呼吸空间——不要填满每一寸 + +### 避免(常见错误) + +- **不要重复使用相同布局**——在幻灯片之间交替使用列、卡片和大号数字标注 +- **不要居中显示正文**——段落和列表左对齐;仅标题可居中 +- **不要吝啬字号对比**——标题需要 36pt 以上才能从 14–16pt 的正文中凸显出来 +- **不要默认使用蓝色**——选择能反映具体主题的颜色 +- **不要随意混合间距**——选择 0.3 英寸或 0.5 英寸的间隙并保持一致使用 +- **不要只给一张幻灯片设置样式而其余保持朴素**——要么全部投入,要么全程保持简洁 +- **不要制作纯文字幻灯片**——添加图片、图标、图表或视觉元素;避免标题加项目符号的纯文字版式 +- **不要忘记文本框内边距**——当将线条或形状与文字边缘对齐时,请在文本框上设置 `margin: 0`,或偏移形状以补偿内边距 +- **不要使用低对比度元素**——图标和文字都需要与背景形成强对比;避免浅色文字配浅色背景或深色文字配深色背景 +- **绝对不要在标题下方使用强调线**——这是 AI 生成幻灯片的标志性特征;请改用空白或背景色 + +## 编译幻灯片 + +在所有幻灯片 JS 文件生成到 `slides/` 目录后,创建 `slides/compile.js` 将其编译为单个 PPTX 文件: + +```javascript +// slides/compile.js +const pptxgen = require('pptxgenjs'); +const pres = new pptxgen(); +pres.layout = 'LAYOUT_16x9'; + +const theme = { + primary: "22223b", // 背景/文字的深色 + secondary: "4a4e69", // 次要强调色 + accent: "9a8c98", // 高亮色 + light: "c9ada7", // 浅色强调 + bg: "f2e9e4" // 背景色 +}; + +for (let i = 1; i <= 12; i++) { // 根据需要调整数量 + const num = String(i).padStart(2, '0'); + const slideModule = require(`./slide-${num}.js`); + slideModule.createSlide(pres, theme); +} + +pres.writeFile({ fileName: './output/presentation.pptx' }); +``` + +运行:`cd slides && node compile.js` + +--- + +## 质量检查(必需) + +**请假设一定存在问题。你的任务是找出它们。** + +你的第一次渲染几乎永远不正确。请以 Bug 排查而非确认通过的心态进行质量检查。如果在第一次检查时发现零问题,说明你检查得还不够仔细。 + +### 内容质量检查 + +```bash +python -m markitdown output.pptx +``` + +检查缺失内容、拼写错误、顺序错误。 + +**使用模板时,请检查是否残留了占位文本:** + +```bash +python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout" +``` + +如果 grep 返回了结果,在宣布成功之前请先修复它们。 + +### 验证循环 + +1. 生成幻灯片 → 使用 `python -m markitdown output.pptx` 提取文本 → 检查内容 +2. **列出发现的问题**(如果未发现问题,请以更批判的眼光再次检查) +3. 修复问题 +4. **重新验证受影响的幻灯片**——一次修复常常会引发另一个问题 +5. 重复以上步骤,直到完整一轮检查未发现新问题为止 + +**在完成至少一轮修复-验证循环之前,请不要宣布成功。** + +--- + +## 依赖项 + +- `pip install "markitdown[pptx]"`——文本提取 +- `npm install -g pptxgenjs`——从头创建