性能优化
把用户提供的 PPT 模板转成可复用技能(而非直接做演示文稿…
当用户想把自己的 PowerPoint 模板变成一个能反复生成演示文稿的可复用技能时,用此流程分析模板并生成自包含的 SKILL.md。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
把用户提供的 PPT 模板转成可复用技能通用
解决思路
- 确认用户目标是创建可复用技能而非直接生成演示文稿;若只是要做演示文稿,改用 pptx 技能。
- 让用户提供模板文件(.pptx 或 .potx)。
- 用 python-pptx 分析模板:打印幻灯片尺寸(prs.slide_width/914400 与 prs.slide_height/914400,单位英寸)和布局数量(len(prs.slide_layouts))。
- 遍历每个布局及其占位符,提取 idx、type,以及精确位置 left/top/width/height(各自除以 914400 转为英寸)并记录。
- 记录关键测量值:标题位置、副标题/描述位置、页脚/来源占位符位置;副标题与页脚之间的空间即内容区。
- 确定真正的内容起始位置:不要假设内容紧接副标题之后,查找 OBJECT 类型(type == 7)占位符的 y 值作为内容实际起点,副标题与 OBJECT 之间的间隙通常留给边框/线条,不要在此放置内容。
- 用 skill-creator 技能初始化技能结构。
- 把 .pptx 复制到 assets/template.pptx。
- 编写自包含的 SKILL.md(不引用本元技能),包含:模板路径与尺寸、布局数量、创建演示文稿的代码(先删除所有已有幻灯片:循环 drop_rel(rId) 并 del prs.slides._sldIdLst[0],再用 prs.slides.add_slide(prs.slide_layouts[LAYOUT_IDX]) 添加)、关键布局表(索引/名称/用途)、按 idx 的占位符映射表(含精确 x、y 坐标)、内容区边界(左边界、顶部、宽度、高度;四象限布局给出左右列与上下行的 x/y/width/height)、填充内容代码、封面页与内容页示例。
- 在生成的 SKILL.md 中说明:不要手动添加项目符号字符,由幻灯片母版处理格式;用 paragraph.level 表达层级(level 0 = 标题,level 1 = 项目符号)。
- 填充内容时按占位符类型/idx 定位:TITLE 用 placeholder_format.type == 1,正文用 idx 匹配,先 para.clear() 再逐段设置 text 与 level。
- 生成一个示例演示文稿以验证技能可用,并与技能一起保存。
- 用 skill-creator 技能打包成 .skill 文件。
- 在生成的技能中遵循 PPT 专用规则:模板放入 assets/、SKILL.md 自包含、不手动加项目符号、先删除已有幻灯片、按 idx 记录占位符。
适用边界 · 注意事项
- 用户只是想直接创建一份演示文稿时(应改用 pptx 技能)。
- 用户没有提供可用的 .pptx 或 .potx 模板文件时。
- 需要通用技能构建最佳实践时,应参考 skill-creator 技能,本技能只聚焦 PPT 特有模式。