📦 QoderWork PPT — 智能PPT生成

v1.0.0

输入主题,自动匹配14套模板,生成可编辑的QoderWork风格PPTX演示文稿,含封面、目录、章节与内容页,默认8-15页,支持续写与多媒体填充。

0· 137·0 当前·0 累计
jackwang2999 头像by @jackwang2999 (Jackwang2999)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/21
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
代码、文件与运行时指令均与声明目的(生成本地模板主题的.pptx文件)一致;不索取无关凭据或系统权限,但依赖npm包及可选图片生成/搜索步骤,运行前需审查。
评估建议
该技能功能与描述相符,但运行前请:1) 检查package.json与package-lock.json确认依赖及postinstall脚本;2) 在隔离环境或沙箱中运行npm install与流水线,因Puppeteer会下载Chromium且node模块将执行代码;3) 确认agent如何提供generate_image/web_search(技能未定义)及是否调用需密钥的外部API——仅在你信任图片提供商时提供凭据;4) 如需更谨慎,打开scripts/*.js搜索网络端点、exec/child_process或异常文件系统路径;5) 技能会在工作目录output/与output/images/写入文件,避免在敏感系统根路径运行。...
详细分析 ▾
用途与能力
名称/描述与随附模板、规则及Node脚本一致。所需产物(HTML模板、清单、验证/填充/转换脚本)与生成PPTX输出相称且合理。
指令范围
运行时指令限于PPT生成流程(创建output/、生成content.md、构建slides.json、运行提供的node脚本)。指令要求agent调用generate_image或web_search等辅助工具填充部分图片槽位——这些调用对获取图片合理,但未在技能内定义,可能在技能外产生网络/API活动。指令还要求运行npm与node脚本(将在技能目录执行代码)。
安装机制
未嵌入自动安装规范;用户需在技能目录手动运行npm install。属常规Node工具流程,但npm会拉取包(puppeteer下载Chromium等),带来常规网络/第三方包风险——安装前请审查package.json与package-lock。
凭证需求
技能未声明所需环境变量、凭据或特殊配置路径。唯一隐含外部需求为可选的图片生成/网络搜索调用(具体实现可能需API密钥),但技能本身不索取无关机密。
持久化与权限
always为false,技能不请求提升或系统级持久化。仅在项目工作区output/写入文件,符合生成器预期,不修改其他技能或全局配置。
pptx/scripts/run-pipeline.js:54
检测到shell命令执行(child_process)。
pptx/scripts/fill-template.js:9
文件读取结合网络发送(可能存在外泄)。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/21

QoderWork PPT技能首次发布。 - 根据用户主题自动生成QoderWork风格演示文稿,匹配14套内置模板。 - 输出可编辑的.pptx文件,含封面、目录、章节分隔页与内容页(默认8–15页)。 - 自动填充模板,管理内容生成、插槽映射及所需多媒体。 - 支持可恢复流水线:内容/幻灯片结构复用、模板填充、HTML转PPTX。 - 输出文件置于项目根目录`output/`,并提供详细结构与使用说明。

无害

安装命令

点击复制
官方npx clawhub@latest install qoderwork-ppt-jack
镜像加速npx clawhub@latest install qoderwork-ppt-jack --registry https://cn.longxiaskill.com

技能文档

# QoderWork-PPT 当用户想要生成 QoderWork 风格演示文稿时,使用此技能。根据用户提供的主题与需求,自动生成内容、匹配合适模板,并输出可编辑的 PowerPoint 文件。 ## 执行流程 ### 0. 准备输出目录 若目录不存在,先创建: ``bash mkdir -p output output/images ` ### 1. 理解需求并生成内容文档 读取本技能目录下的 rules/content-rules.md,然后将用户需求转换为结构化内容文档,保存为 output/content.md。 - 从用户输入中提取:主题、受众、要点、页数偏好等 - 按 content-rules 生成结构清晰的纯文本文档 - 内容需完整、逻辑清晰,可直接用于模板匹配 - 关键——页数预算:除非用户明确要求更多,否则总页数控制在 8–15 张幻灯片(含封面、目录、章节分隔、结尾)。进入第 2 步前统计计划页数,若超过 15 则合并或删减。 ### 2. 匹配模板并生成幻灯片序列 读取 rules/template-matching.mdtemplates/manifest.json,依据 content.md 生成 output/slides.json。 - slides.json 数组长度必须 ≤ 15(除非用户明确要求更多)。写入前务必统计。 - 每页格式:{ "templateId": "xxx", "slots": { "slotId": "value", ... } } - 完整示例(每种模板一页)见 rules/slides-example.json——可复制并修改 - 严格遵守模板匹配规则;槽位值必须符合 manifest 约束(类型、maxLength 等) 封面背景:cover 模板的 coverBackground 槽位不要主动填写,使用模板默认背景。仅当用户明确要求自定义封面图时才填。 章节分隔插图:03 章节分隔页右侧的 image 槽位尽量勿填,使用模板默认插图。仅当用户明确要求更换章节配图时才填。 Image slots (type: image) 接受以下任一形式: | 格式 | 示例 | 使用场景 | |--------|---------|-------------| | lucide: | lucide:shield-check | 图标风格图片(06/07/08 卡片栏优先) | | 图片 URL | https://example.com/photo.jpg | 网络图片 | | 本地路径 | output/images/slide-03.png | 本地生成/下载的图片 | 当必须生成/搜索真实图片:若槽位标记 aiGeneratable: true 且需要真实照片或插图(非图标)——通常是章节分隔图、左文右图图、全图背景——则调用 generate_imageweb_search 获取,保存到 output/images/,并将路径填入槽位。 这些图片槽位为必填——不要保留默认占位图。 ### 3. 填充 HTML 模板 工作目录(cwd):必须为项目根(即 output/ 所在目录)。 脚本路径:相对于本技能目录。将下文中的 SKILL_SCRIPTS 替换为实际路径(如将本仓库作为工作区时为 resources/skills-market/qoderwork-ppt/scripts,若从市场安装则为 ~/.qoderwork/skills/qoderwork-ppt/scripts)。 可选——先验证: `bash node SKILL_SCRIPTS/validate-slides.js output/slides.json ` 然后填充模板(或直接使用下方一键流水线): `bash node SKILL_SCRIPTS/fill-template.js output/slides.json ` 推荐——一键流水线(步骤 3+4 合并)`bash node SKILL_SCRIPTS/run-pipeline.js output/slides.json ` 输出文件自动带时间戳命名(如 output/presentation-2026-03-06-10-30-00.pptx),避免覆盖旧文件。 ### 4. 转换为 PPTX 若未使用上述一键流水线,可单独执行: `bash node SKILL_SCRIPTS/html-to-pptx-dom.js output/filled ` 读取 output/filled/ 中的已填充 HTML,通过 Puppeteer 渲染并使用 dom-to-pptx 转换为 PPTX——保留背景图、圆角、字体及完整样式。 ### 5. 通知用户 告知用户 PPT 已生成于 output/presentation.pptx,并简要说明页数与结构。 ## 可恢复性(Agent 断点续跑) - 步骤 1:若 output/content.md 已存在且用户未要求“重新生成内容”,则跳过至步骤 2。 - 步骤 2:始终(重新)根据 content.md 生成 output/slides.json。 - 步骤 3+4:若仅 slides.json 有变化,只需重新运行 run-pipeline.js(会覆盖 output/filled/output/presentation.pptx)。 ## 关键文件(位于本技能目录) | 文件 | 用途 | |------|---------| | rules/content-rules.md | 内容生成规则与文档结构 | | rules/template-matching.md | 模板匹配规则与图片槽位约定 | | rules/slides-example.json | 完整 slides.json 示例(每模板一页) | | templates/manifest.json | 14 套模板定义及槽位规范 | | templates/.html | 14 个 HTML 模板文件(1920×1080) | | scripts/validate-slides.js | slides.json 预校验 | | scripts/fill-template.js | 将槽位值填入 HTML 模板 | | scripts/html-to-pptx-dom.js | 高保真 HTML → PPTX 转换 | | scripts/run-pipeline.js | 一键:验证→填充→转换 | ## 输出文件(位于项目根 output/) | 文件 | 用途 | |------|---------| | output/content.md | 中间产物:结构化内容 | | output/slides.json | 中间产物:幻灯片序列 + 槽位值 | | output/images/ | 幻灯片用到的生成/下载图片 | | output/filled/.html | 已填充的单页 HTML 文件 | | output/presentation.pptx | 最终 PowerPoint 文件 | ## 依赖 首次使用前,请在本技能目录安装依赖: `bash cd && npm install ` 所需包:jsdompuppeteerdom-to-pptxlucide-static图标从本地 lucide-static` 加载(运行时无网络请求)。

数据来源ClawHub ↗ · 中文优化:龙虾技能库