chore: import zh skill ppt-orchestra-skill

This commit is contained in:
wehub-skill-sync
2026-07-13 21:35:31 +08:00
commit b80c6bdf96
2 changed files with 164 additions and 0 deletions
+9
View File
@@ -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 清单整理
- 原作者、版权和许可证信息以上游仓库为准
+155
View File
@@ -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 |
| 元素 | 字号 |
|---------|------|
| 幻灯片标题 | 3644pt 粗体 |
| 章节标题 | 2024pt 粗体 |
| 正文 | 1416pt |
| 说明文字 | 1012pt 弱化 |
### 间距
- 最小页边距 0.5 英寸
- 内容块之间 0.30.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`——从头创建