PPT 插页保持风格

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

往一个已存在的 .pptx 里插入新页面,并让新页与原有页面的设计系统(页眉/页脚/配色/字号)完全一致。当用户说「在这个 PPT 的第 N 页后面新增 X 页」「按这份大纲往 PPT 里加几页」「给这个 PPT 补内容页」时使用。也适用于需要批量改 PPT 文本样式(加粗/字号)的场景。触发词:第N页后面新增、插入页面、加几页ppt、PPT补页、保持风格一致。

一句话选型结论

按资料字段整理

PPT 插页保持风格是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_50119a89/pptx-insert-pages-editor-sdk
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_50119a89仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791621830
正文体量8.1 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
PPT 插页保持风格当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

8.1 KB
模型实际读到的说明书原文,来自技能仓库

pptx-insert-pages-editor-sdk

通过本地 editor_sdk(tencent-local-office-edit 技能)往已有 PPTX 插页的完整工作流。
核心思路:复制一张现成内容页 → 剥掉正文只留页眉页脚骨架 → 改骨架文案 → 重建正文。
这样新页自动继承母版、页眉装饰条、页脚灰条,不用手工复刻。

0. 入口

先走 tencent-docs-routing(本地 slide 单文件编辑 → 转 tencent-local-office-edit),再按该技能用 edsdk.py 调工具。

SKILL_DIR="D:/Workbuddy/resources/app.asar.unpacked/resources/plugins/workbuddy-builtin/skills/tencent-local-office-edit"
cd "$SKILL_DIR" && python3 edsdk.py schema <工具名>   # 用到一个查一个,别全量拉

优先复用 host 注入的 file_id(<active_document ... file_id="..."/>);没有就 get_pool_status 按路径反查。
present_files 之后不要再 open_file(会开出与前端 SSE 脱节的孤儿实例)。

1. 先踩点,别急着写

# 全片扫标题,搞清章节结构与插入点
for pg in range(0, slide_count):
    d = slide_get_page_info(pg)   # 取 font_size>=20 的第一个形状当标题

必须确认三件事,否则容易白做:

  1. 插入点的语义——「第42页后面」= 1-based 页42 = page_index 41 之后。先打印 41/42/43 页确认。
  2. 有没有内容重复——目录/大纲指定的内容,后面是不是已经有一套更详细的页?有重复就问用户(保留/跳过/替换),别默默插进去。
  3. 页脚编号体系——先扫一遍邻页页脚是 xx / 71、xx / 06 还是 xx / 02。多数 deck 编号本身就是乱的;沿用用户此前口径(如「先不写页码」),别自己发明编号。

2. 复制骨架页

挑一张结构最接近、有完整页眉页脚的内容页当模板(不是章节封面页——封面页页脚通常是空的)。

for k in range(N):
    slide_duplicate_slide(page_indexes=[TPL], target_page_index=INSERT_AT + k)

> ⚠️ target_page_index 的语义是「副本落在哪个索引」,不是「插在哪个索引之后」。
> 源页 index=42、target 依次 43..47 → 副本落在 43–47,源页仍留在 42。
> 也就是说新页会比你预期的位置晚一位。
>
> 对策:先用 page_indexes=[我的新页...] + before_slide_index=源页index 整体挪一次:
> python > slide_move_slide(page_indexes=[43,44,45,46,47], before_slide_index=42) >
> 这个写法在两种索引解读下结果都对,最稳。
> 插完必须回读 slide_get_page_info 逐页验证顺序,不要凭 target 参数推断。

3. 剥离正文,只留骨架

按位置白名单保留:y <= 82(背景、装饰条、标题、英文标签、副标题)或 y >= 490(页脚条、页脚线、页码、页脚字)。其余全删。

keep, rem = [], []
for s in page_info["shapes"]:
    (keep if (s["y"] <= 82 or s["y"] >= 490) else rem).append(s)
slide_remove_shapes(page_index, [s["id"] for s in rem])

剥离后一页通常剩 9 个骨架形状。先打印保留清单确认,再执行删除。

4. 改骨架文案

对标题/英文标签/副标题用 slide_set_text,紧接着必须补 slide_set_text_property:

> ⚠️ slide_set_text 会重置逐字符样式(粗体/颜色/字号 → 默认值),所以改完字一定要重新上样式。

> ⚠️ slide_set_text 传空字符串不会清空文本(被当成「无变更」静默忽略)。
> 要清页码/清标签,直接 slide_remove_shapes 把那个形状删掉。

5. 重建正文

slide_add_shapes(批量建底:卡片矩形 + 左侧强调竖条 + 编号圆角块)+ slide_add_texts(批量建文本)。

> ⚠️ slide_add_texts 不支持 bold 字段——传了静默丢弃;font_size 还会被取整(12.75→12、15.75→15、11.25→11)。
>
> 必须补一遍样式,且要用 slide_set_text_property 的批量一对一模式(传 shapes 数组),
> 一次调用搞定整页,比逐个 shape 调快一个数量级:
> python > slide_set_text_property( > file_id=FID, page_index=pg, > shapes=[{"shape_id": sid, "index": 0, "count": -1, > "font_size": 11.25, "color": "1F4E79", "font_name": "微软雅黑", "bold": True}, ...]) >
> index: 0, count: -1 = 整段。只传 shape_id 不带 index/count 会报 -32603。

slide_add_shapes 里每个形状至少要设 fill_color 或 border_color,否则报错。

6. 设计令牌怎么拿

不要猜。挑一张标准内容页 dump 出真实几何,抄下来当常量:

page_info = slide_get_page_info(参考页)
# 逐形状打印 x/y/w/h/fill/font_size/font_color/font_name

典型 960×540 内容页令牌(换 deck 必须重新取):
- 装饰竖条 x=48 y=20 w=3 h=21;标题 x=63 y=15 25.5pt 粗体;英文标签 x=835 y=15 10.5pt;副标题 x=63 y=62 12pt
- 页脚灰条 x=48 y=495 w=864 h=30;页码 x=879 y=504;页脚字 x=53 y=507
- 内容区安全边界:x ∈ [48, 912],正文底部不超过 y=488(页脚条从 495 开始)

想给多个概念做视觉编码时,钉死三个色(如 技能=蓝 / 专家=紫 / 连接器=橙)并在全页保持一致。

7. 保存与验证

slide_move_slide(...)   # 若需挪位
# 几何自检:越界 / 超宽 / 压页脚
for s in shapes:
    assert 0 <= s["x"] and s["x"]+s["w"] <= 960.5
    assert 0 <= s["y"] and s["y"]+s["h"] <= 540.5
    if s["x"] >= 318 and s["x"]+s["w"] > 913: 报「超宽」
    if 490 < s["y"] < 495: 报「压页脚」
save_file(file_id=FID)   # 不要主动 close_file

保存前先备份(cp 一份带时间戳的副本),并解包 XML 复验:

zipfile.ZipFile(P).read(f"ppt/slides/slide{n}.xml")
# 查 sz="..." 是否为半磅值(1125/1275/1425 而非 11/12/14)→ 证明样式修正生效
# 查 b="1" 数量 → 证明粗体生效

> save_file 报 "Export file is occupied" = 原文件被 PowerPoint 占用(同目录有 ~$ 锁文件)。
> 保存到新路径即可绕过;要写回原路径需先让用户关掉 PowerPoint。

8. 环境坑(Windows + Git Bash)

  • Bash 报 dirname: command not found / cd: null directory(exit 127)不是坏了,是 PATH 被清空 → 命令前加 export PATH="/usr/bin:/bin:$PATH" 即可。
  • 脚本写到工作目录(如 D:\ProgramData\workbuddylog\<session>\),别写 /tmp(在 Windows 上映射到别处)。
  • 用 common.py + 每页一个 bN.py 的方式组织,脚本里 from common import *,避免每个脚本重复写 call()/mk() 样板。
  • 收尾用 [System.IO.File]::Delete(path) 批量删临时脚本;rm -f a b c ... 长链在本机会被沙箱 SIGTERM。

最小调用序列

get_pool_status → slide_get_info → 扫标题定位
→ slide_duplicate_slide ×N
→ slide_remove_shapes(剥正文)
→ slide_set_text + slide_set_text_property(改骨架)
→ slide_add_shapes + slide_add_texts + slide_set_text_property(shapes=[...])(建正文)
→ slide_move_slide(如需挪位)
→ 几何自检 → 备份 → save_file → 解包 XML 复验

常见问题

5 问
答案由本站依据条目字段整理
PPT 插页保持风格怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_50119a89/pptx-insert-pages-editor-sdk。安装方式为未标注。装完刷新技能列表或重开客户端。

PPT 插页保持风格支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

PPT 插页保持风格权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

PPT 插页保持风格收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

PPT 插页保持风格用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。