Skip to content

About

把任意公司 .pptx 模板提炼成可复用的公司专属 AI Skill——视觉永远照模板(配色/LOGO/字体/版式/品牌元素),内容每次换新。两层架构元技能:第1层生成器可分享,第2层产物自带执行代码,支持 WorkBuddy 及任意 SKILL.md Agent。自动提取设计令牌→模板分类决策→样例比对收敛→自进化事例库。基于 Python + python-pptx。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

PPT模板提取术(第1层·元技能)

把任意公司 .pptx 模板,提炼成一个可复用的公司专属 Skill——以后所有按该模板出的 PPT 视觉永远一致(配色/LOGO/字体/版式/品牌元素),内容每次换新。

这是一个两层架构的元技能:

  • 第1层(本技能)= 生成器:模板 → Skill 的提炼引擎,可分享给任何人
  • 第2层(产物)= 公司专属 Skill:如「电网公司PPT模板制作助手1」,用来批量出 PPT
🌐 English summary(点击展开)

PPT Template Extractor turns any company .pptx template into a reusable, company-specific AI Skill. The AI then generates PPTs that always mirror the template's visual identity (color scheme / LOGO / fonts / layouts / brand elements), while you supply fresh content each time.

It is a two-layer meta-skill:

  • Layer 1 (this repo) = the generator — a shareable engine that distills a template into a Skill.
  • Layer 2 (the output) = a company-specific Skill — e.g. "电网公司PPT模板制作助手1", used to mass-produce on-brand PPTs.

Highlights: accurate design-token extraction (page ratio / theme colors / fonts / auto-detected LOGO), a template-type decision tree (page-library / master-clone / hybrid), automated sample generation with visual-diff convergence, and a self-evolving case library. Runs on Python + python-pptx and works with WorkBuddy and any Agent that supports the SKILL.md convention (Claude Code / Cline, etc.).


🧭 这是什么 / 给谁用

项 说明
主要平台 WorkBuddy(放入 ~/.workbuddy/skills/PPT模板提取术/ 即可被识别调用)
其他 Agent 兼容。SKILL.md 是标准 Agent Skill 格式,Claude Code / Cline 等支持 SKILL.md 约定的 Agent 均可加载使用;核心脚本(extract/gen/verify)用 Python + python-pptx 编写,跨平台(macOS/Linux 用 python3,Windows 用 python,脚本本身跨平台)
给谁用 任何"反复按同一公司模板出 PPT"的人(内部汇报 / 课件 / 项目交付)
输入 一份公司模板 .pptx(+ 可选补充说明,如"必须 16:9"、"清除某水印")
产物 一个公司专属 Skill(命名规范:〈公司名〉PPT模板制作助手〈序号〉,如「电网公司PPT模板制作助手1」)
不是 不是 PowerPoint 插件、不是云端服务、不是一个 PPT 模板包

一句话定位:把"这份模板的设计"沉淀成"AI 能自动遵守的规则",让 AI 出 PPT 时视觉永远照着模板,内容按你的大纲来。


✨ 功能特性

  • 两层架构:第1层元技能(生成器)可分享;第2层产物(专属 Skill)自带全部执行代码,自包含
  • 强路优先:模板文件落库为 assets/company-template.pptx 作生成底座——生成时打开它、复用它,不是从空白新建(弱路 = 凭文字重画,fidelity 靠运气)
  • 自动提取设计令牌:extract_template.py 代码精确读 XML(非肉眼意会)——页面比例(EMU→比值)、主题色(Office clrScheme 12 色 hex)、字体(扫描 slide/版式/母版 run.font.name)、版式列表、自动判 LOGO(排除铺满>60%的背景图,取离四角最近者,母版>版式>slide 优先级)
  • 模板类型分类决策树:只看两个数字(slide 数与版式数)→ 判「页面库型 / 母版克隆型 / 混合型」→ 选最稳的生成策略
  • 自动样例生成 + 视觉比对收敛:gen_sample.py 生成样例 → verify_sample.py 自动比对(比例✓/页数=期望✓/页面实色⊆模板✓/LOGO原图二进制✓/字体✓/版式同源✓/可编辑✓/残留占位符=0✓)→ 最多 3 轮收敛循环
  • 自进化事例库:每次成功提炼往 examples/ 追加一条案例(类型/策略/关键事实/踩坑/可复用经验)——事例越多,分类越准、生成越接近原版
  • 硬规则 11 条:原样保留在产物 SKILL.md 中(尤其第 11 条:清除第三方水印)
  • 批量家族模板支持:182 个第一PPT 家族模板实测——批量抽令牌 → 自动分类聚类 → 每类型写 1 条案例 + 1 份全量清单兜底,不撑爆事例库

🎯 触发词

把模板做成可复用Skill / 用这个模板风格批量生成PPT / 提炼模板 / 模板提取 / PPT模板提取术

在 WorkBuddy / 其他 Agent 中说:

「用 PPT模板提取术 把这份模板做成专属 Skill:你的模板路径.pptx,公司名 XX」


🔄 完整工作流(7 步详解)

Step 0 · 输入

  • 本 SKILL.md + README.md(给接收者看的门面)+ references/ 脚本 + examples/ 事例库
  • 用户的公司模板 .pptx(与本技能同目录或用户指定路径)
  • 可选:用户补充说明(如"必须 16:9""清除某水印")

⚠️ 模板是二进制,无法塞进 SKILL.md,必须作为单独文件随任务提供。

Step 1 · 阶段判定(自动)

  • 检测目标 Skill 目录(~/.workbuddy/skills/<公司名>PPT模板制作助手<序号>)是否已存在:
    • 已存在 → 走「校验增强」:重跑提取、比对差异、补事例、更新 SKILL.md
    • 不存在 → 走「完整创建」
  • 能力自检(自动降级兜底):
    • 有 python + python-pptx → 自动提取(代码精确读 XML)
    • 无 python-pptx → 先 pip install python-pptx 补齐;仍装不上才降级
    • 无 python → 降级为「分析 + 产出待办清单」,明确告知需补环境

Step 2 · 提取设计令牌(自动)

运行 references/extract_template.py <模板.pptx> <输出目录>:

  • 页面比例(EMU → 比值)
  • 主题色(Office clrScheme 12 色 hex)
  • 字体(扫描 slide/版式/母版 run.font.name)
  • 版式列表(slide_layouts 名称)
  • 全部图片不落盘(随 company-template.pptx 底座继承即可);仅自动判 LOGO:
    • 排除铺满 >60% 页面的背景图(is_bg)
    • 在剩余图中取"离页面四角最近"者,优先级 母版 > 版式 > slide
    • 真 LOGO 存为 assets/logo.<ext>
  • 产出 assets/tokens.md(机器可读令牌)

记录关键事实:版式数量与 slide 数量的比值——这是分类的核心依据(Step 3)。

Step 3 · 模板类型分类 + 选生成策略(核心,决定成败)

读 references/classification.md 决策树,结合 assets/tokens.md 判定类型:

类型 判据 生成策略(写进 Layer2 SKILL.md)
页面库型 slide 多(≥10)且版式极少(≤3) 复制模板页 + 替换文字(保留全部页作库,挑页删余)
母版克隆型 版式丰富(≥5)且 slide 少 克隆母版 + 用版式新增页
混合型 介于两者之间 母版克隆为主,缺页时从现有 slide 复制补

⚠️ 这一步决定成败:分类错(如对页面库型误用母版克隆)会丢失大量既有设计,fidelity 暴跌。 电网模板实测:slide=35、版式=2 → 页面库型;曾误用母版克隆 → 33 种设计全丢,收敛失败。修正为页面库法后 2 轮收敛全 ✓。 事例库(examples/)是分类的经验来源——抽前先扫一眼同类案例(大批量同家族模板先查 examples/全量清单.md)。

Step 4 · 落库底座 + 写 Layer2 SKILL.md

  1. 复制模板为 assets/company-template.pptx(生成底座,强路核心)
  2. 复制生成器进 Layer2(自包含,关键):把本技能 references/gen_sample.py 与 references/verify_sample.py 复制到 Layer2 的 references/ 目录——Layer2 自带"打开底座→挑页→替换文字→删余页"的执行代码与比对器,任何 Agent 用 Layer2 时直接调用,不必重新推导代码(避免弱路漂移)
  3. 用 Layer2 SKILL.md 模板填空:替换 <公司/模板描述>、<触发场景>、<比例>、<主题色>、<LOGO 路径>、<字体>、<可用页面类型>、<生成策略段落>;硬规则 11 条原样保留,不得删改;把 examples/ 中同类案例的"坑"同步进硬规则或备注

Step 5 · 自检 + 自测收敛(自动)

  1. 逐项自检 Layer2 SKILL.md:比例/LOGO原图/色值/中间页版式/内容真实/真克隆或真复制底座/可编辑/禁重绘 LOGO/清第三方水印 — 缺项补齐
  2. 生成 3 页样例:用 references/gen_sample.py(按 Step 3 策略)产出 样例-<主题>.pptx
  3. 自动比对 references/verify_sample.py(判据:比例✓/页数=期望值✓/页面实色⊆模板✓/LOGO原图二进制✓/字体✓/版式同源✓/可编辑✓/残留占位符=0✓)
    • ⚠️ 必须带 --expect <生成页数>,否则"删页失效却保留全页"会蒙混 ALL_PASS
  4. 收敛循环(最多 3 轮):任一 ✗ → 定位根因 → 修正(换页/修替换逻辑/升级比对项)→ 重生成重比对;连续 2 轮零 ✗ 提前停

Step 6 · 输出报告 + 自进化(关键)

  1. 向用户输出提炼报告:Skill 路径 / 模板类型 / 策略 / 收敛轮数 / 判据全 ✓ / 遗留风险(字体缺失、页面库未覆盖类型、矢量LOGO等)
  2. 自进化(必做):把本次提炼写成一条案例,追加到 examples/<模板名>-<类型>.md,格式:
## <模板名>(<日期>)
- 类型: 页面库型 / 母版克隆型 / 混合型
- 策略: <用了哪套>
- 关键事实: slide=N 版式=M 比例= 字体=
- 踩坑: <真实翻车点 + 怎么修>
- 结果: 收敛轮数 / 判据 / 遗留风险
- 可复用经验: <下次同类模板直接用的结论>

大批量同家族模板(如 182 个第一PPT 模板):不要逐个建案例文件。做法:① 跑 extract_template.py 批量抽令牌 → ② 按决策树自动分类聚类 → ③ 每类型挑代表验证收敛 → ④ 每类型写 1 条结构化案例 + 1 份 examples/全量清单.md(逐文件索引兜底)。


🛡️ 硬纪律(给执行 Agent)

  • 模板文件必须落库为 assets/company-template.pptx,否则退化为弱路(凭文字重画,fidelity 靠运气)
  • LOGO / 图片只许文件引用,严禁文字/形状重绘(二进制无法被文字复现)
  • 模板为底座,不是参考——生成时打开它、复用它,不是从空白 Presentation 新建一套
  • 不自欺:遗留风险如实列,不宣称"零问题"

📋 产物 Layer2 的硬规则 11 条(原样保留,不得删改)

1. 保留原模板页面比例
2. 视觉以"复制模板页+替换文字/克隆母版"实现,不重新绘制风格
3. LOGO 只许母版继承或插入 assets/logo.<ext>,严禁用形状/文字重绘
4. 保留模板固定品牌元素(背景图/页脚/装饰)
5. 优先复用原页面版式,不新造
6. 每页只表达一个核心观点
7. 不编造资料中不存在的数据/案例/机构
8. 所有元素必须可继续编辑
9. 生成前先给建议页数与页面大纲(标明每页用模板第几页)
10. 完成后说明每页核心内容、所用模板页、需人工复核页
11. 【清除第三方水印】若模板带任何来源/广告水印,生成的公司 PPT 不得保留;复制的页带此类字样必须清除。

📂 产品结构

第1层:本技能(可分享的元技能)

PPT模板提取术/
├── README.md                           ← 给"人"看的使用说明
├── SKILL.md                            ← 给"Agent"看的执行编排(7 步流程)
├── references/
│   ├── extract_template.py             ← 提取模板令牌(比例/色/字体/LOGO)
│   ├── gen_sample.py                   ← 样例生成器(两种策略)
│   ├── verify_sample.py                ← 自动比对(比例/实色/LOGO二进制/字体/版式/可编辑)
│   └── classification.md               ← 模板类型分类决策树(+ 第一PPT 家族实测统计)
└── examples/                           ← 事例库(自进化引擎)
    ├── 第一PPT家族-通用特征.md         ← 跨模板通用规律(182 个实测)
    ├── 国家电网-页面库型.md            ← 页面库型代表案例(含 6 条踩坑)
    ├── 混合型-第一PPT.md
    ├── 母版克隆型-第一PPT.md
    └── 全量清单.md                     ← 182 行逐文件索引(覆盖第一PPT 家族全部模板)

第2层:提炼出的公司专属 Skill(产物)

~/.workbuddy/skills/<公司名>PPT模板制作助手<序号>/
├── SKILL.md                            ← 专属 Skill 的"使用说明书"(给 Agent)
├── references/
│   ├── gen_sample.py                   ← 自带生成器(直接调用,不重造)
│   └── verify_sample.py                ← 自带比对器
└── assets/
    ├── company-template.pptx           ← 模板底座(强路核心)
    ├── logo.png                        ← 真 LOGO 原件
    └── tokens.md                       ← 设计令牌(比例/色/字体/LOGO)

🚀 安装与使用

WorkBuddy(主要平台)

# 1. 安装(一次性):把整个目录复制到
cp -r PPT模板提取术 ~/.workbuddy/skills/

# 2. 装依赖(一次性):Python 3.8+ 和 python-pptx
pip3 install python-pptx   # macOS / Linux
pip install python-pptx    # Windows

# 验证装好了
python -c "import pptx; print(pptx.__version__)"

# 3. 开始用:准备好公司 .pptx 模板,打开 WorkBuddy 说
# 「用 PPT模板提取术 把这份模板做成专属 Skill: 你的模板路径.pptx, 公司名 XX」

Agent 会自动完成:提取设计令牌 → 判断模板类型选策略 → 落库底座 + 写专属 Skill → 生成样例 + 比对收敛 → 输出提炼报告 + 沉淀案例。

其他 Agent(Claude Code / Cline 等)

标准 SKILL.md 格式 + 纯 Python 脚本,任何支持 SKILL.md 约定的 Agent 均可加载使用:

  • 放入你的 Agent 的 skills 目录(如 .claude/skills/)
  • 依赖 python-pptx(pip 安装即可,跨平台脚本)
  • 按 SKILL.md 的 7 步流程执行:判定 → 提取令牌 → 分类选策略 → 落库写 Layer2 → 自检收敛 → 输出报告 + 自进化

之后怎么用专属 Skill 出 PPT

新任务中直接说:

「用 XX公司PPT模板制作助手1 做一份《XXX》PPT,大纲:封面 → 背景 → 三点成效 → 总结」

Agent 会按模板视觉出 PPT,内容由你给。

多份模板:同一公司多份模板 → XX公司PPT模板制作助手2 / 3 / ...;其他公司 → YY公司PPT模板制作助手1 / 2 / ...。


⚠️ 边界(诚实交代,非缺陷)

✅ 这能做到的

  • 视觉永远=模板的样式(配色/LOGO/字体/版式/品牌元素)
  • 内容每次换新(你给大纲,它填文字图)
  • 多份同类模板 → 多份专属 Skill,各自互不干扰
  • 沉淀案例越用越准(每次提炼都往 examples/ 加一条)

⚠️ 边界

  • 不承诺 100% 像素级一致:特殊字体(方正/书法类)在目标环境缺失时回退系统字体,视觉微调
  • 页面库型:模板有的页型都支持;模板没有的需在母版上新建,fidelity 微跌
  • 第三方模板(免费下载类):几乎都带来源水印,提炼时会自动清理,但仍属"清理后近似"

❌ 这做不到的

  • 不能把"非模板的 PPT"反过来做模板(只吃 .pptx 模板)
  • 不能编辑已生成 PPT 的视觉(若想换模板,用新模板的专属 Skill 重出)
  • 不能跨平台(Win/Mac)字体差异自动适配(目标环境缺字体就回退,不会远程下载)

❓ 常见问题

Q: 这和直接把模板复制一份有什么区别? A: 复制 .pptx 只是同一份文件;你还得手动改文字/图。这个 Skill 是让 AI "按这份模板的样式自动填你要的内容"——你给大纲,出 PPT,不用再手动排版。

Q: 一定要装 python-pptx 吗? A: 是。这是 Skill 的执行依赖,不装脚本就跑不了。安装命令见上方。

Q: 提炼出来效果不好怎么办? A: 看提炼报告的"遗留风险"段(字体/版式/水印);若页面库型模板的某页型没有,改用模板里相近的页;若字体缺失,把缺失字体文件放入系统字体目录再重提炼。

Q: 多份同类模板(如同公司不同部门模板)怎么办? A: 一份一份提炼,各得一个专属 Skill,序号递增:电网公司PPT模板制作助手1 / 2 / ...。互相独立,互不影响。

Q: 案例库会不会越用越膨胀? A: 不会。Skill 设计成"聚类沉淀":同家族批量模板会先批量抽令牌 → 按类型聚类 → 每类型写 1 条案例 + 1 份全量清单兜底,不逐个建案例文件。

Q: 这能赚钱吗 / 能商用吗? A: 元技能本身是公开方法论(模板→Skill 的提炼流程);生成的 Layer2 专属 Skill 是你的内部资产,自己用没问题,但生成的 PPT 仍受原模板的版权约束(免费模板请遵守模板来源协议)。


🎯 实战案例(国家电网 · 页面库型)

关键事实:slide=35、版式=2 → 页面库型;比例 1.778(16:9);母版有 2 图(401KB 全页背景图 + 40KB 右上角真 LOGO)。

踩坑 6 条(真实):

  1. LOGO 误判背景图:原"离角最近"逻辑把铺满全页的背景大图当 LOGO → 加 is_bg() 排除 >60% 页面尺寸图
  2. 母版克隆法失效:版式仅 2 个,用"克隆母版"会丢 33 种设计 → 改页面库法
  3. 主题色假性 ✗:python-pptx 保存时 accent1/accent5 互换 → 升级为"页面实色比对"
  4. 第三方水印:第 33 页带"行业PPT模板 http://www.1ppt.c"广告水印 → 硬规则第 11 条强制清除
  5. 删除 slide 关系 bug:sld.get(R+"id") 拼成双重 id → 用 qn('r:id') 正确取值
  6. 页面库删页失效:用 prs.slides 的 Slide 对象比对 sldIdLst 元素定位删除页(非同一 XML 节点,比对恒 False)→ 用 sldIdLst 元素迭代删除 + verify 加 --expect <页数> 断言

可复用经验:凡 slide≥10 且版式≤3 → 直接判页面库型,别试母版克隆;LOGO 判定永远先排背景图;免费/第一PPT 类模板先扫来源水印写进硬规则;比对判据用"页面实色"而非"theme 色板"。


📊 第一PPT 家族实测统计(2026-08-18,182 个模板)

  • 类型分布:页面库型 133 / 混合型 45 / 母版克隆型 4
  • 比例:169/182 为 16:9(1.778 系);仅 2 个为 1.6 系 → 默认 16:9 底座
  • LOGO:182/182 全部带 LOGO(提取时必存在,is_bg 排除背景图后取角最近即可)
  • 水印:182/182 全部带第三方水印(181 含 http/www,85 含"ppt模板"字样)→ 家族级硬规则:第一PPT 模板提炼 Layer2 时必须清除来源水印

📝 版本

版本 说明
当前版 双层架构(生成器 + 产物)· 事例库自进化 · 批量家族模板聚类沉淀 · 硬规则 11 条

👤 作者与许可

作者:松幽(SongYouAI)

  • 📱 公众号:松幽舒苑
  • 🎬 视频号:松幽Ai提效

License:MIT — 可自由使用、修改、分发,保留出处即可。

生成的公司 PPT 仍受原模板的版权约束;免费模板请遵守模板来源协议。


本 Skill 让 AI 按你的模板出 PPT,内容由你提供。模板版权归原作者所有,使用请遵守来源协议。

About

把任意公司 .pptx 模板提炼成可复用的公司专属 AI Skill——视觉永远照模板(配色/LOGO/字体/版式/品牌元素),内容每次换新。两层架构元技能:第1层生成器可分享,第2层产物自带执行代码,支持 WorkBuddy 及任意 SKILL.md Agent。自动提取设计令牌→模板分类决策→样例比对收敛→自进化事例库。基于 Python + python-pptx。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages