← Back to Skills Marketplace
likegakki

generate-pptx

by LIKEGAKKI · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ Security Clean
112
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install generate-pptx
Description
通过多轮沟通收集需求、确认逐页结构、生成每页 SVG 幻灯片并输出 PPTX 文件。适用于用户要求生成 PPT/PPTX、制作演示文稿、把文案或提纲转成幻灯片、先确认页纲再出稿,或需要把模型生成的 SVG 幻灯片打包成可下载 PPTX 的场景。
README (SKILL.md)

Generate PPTX

按“环境准备 -> 需求澄清 -> 页纲确认 -> 逐页 SVG 生成 -> 打包 PPTX”的顺序工作。

Workflow

1. Prepare the Python environment

先检查当前命令是否运行在虚拟环境里:

  • 如果当前已经在虚拟环境中,直接复用当前解释器
  • 如果当前不在虚拟环境中,在 skill 根目录下创建 .venv
  • 无论复用哪个解释器,都要确保装有 python-pptx

优先运行:

python skills/generate-pptx/scripts/ensure_skill_env.py

后续所有 Python 脚本都通过统一入口执行,不要直接调用底层脚本:

python skills/generate-pptx/scripts/run_in_skill_env.py skills/generate-pptx/scripts/slides_json_to_pptx.py slides.json -o output.pptx

如果安装依赖时遇到网络或权限限制,向用户说明需要允许安装 python-pptx

2. Clarify the brief

先通过多轮对话收集以下信息:

  • 主题和标题
  • 受众和使用场景
  • 目标页数,或让你来建议页数
  • 已有素材:长文案、提纲、数据、图片占位需求
  • 视觉偏好:高管汇报、产品发布、科技感、极简等

如果信息不全,继续追问;如果用户只给了长文案,先把内容压缩成适合演示的叙事结构。

3. Propose the slide plan before drawing

在生成 SVG 前,先给出逐页页纲并等待确认。每页至少说明:

  • 页标题
  • 本页要表达的核心观点
  • 采用的版式或图形结构
  • 是否需要图片区/数据图/时间轴/对比卡片

如果用户已经明确给出逐页内容,可以跳过这一轮确认。

4. Load the visual preset

默认读取 references/presets/gazee-glacier.md,按其中的视觉规范和 PPT 兼容约束生成 SVG。

如果用户明确要求其他风格,可以调整配色和排版,但仍必须保留这些底层约束:

  • 根元素带 xmlns="http://www.w3.org/2000/svg"
  • viewBox="0 0 1280 720"
  • 不使用 \x3Cfilter>
  • 不输出 HTML、\x3Cscript>\x3Cstyle>

5. Generate slide SVGs

按下面的 JSON 数组格式生成结果,只包含数组本身:

[
  {
    "title": "封面",
    "svg": "\x3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1280 720\">...\x3C/svg>"
  }
]

要求:

  • 每页都输出完整 SVG 字符串
  • title 用于排查和命名,不要省略
  • 遇到数字、阶段、对比、流程时,优先转成图形结构,不要堆砌段落
  • 需要图片区时,用虚线框或明显占位符表示,不要伪造真实照片

6. Build the PPTX

把 JSON 保存为文件后,调用脚本:

python skills/generate-pptx/scripts/run_in_skill_env.py skills/generate-pptx/scripts/slides_json_to_pptx.py slides.json -o output.pptx

若需要同时导出中间 SVG 文件用于排查:

python skills/generate-pptx/scripts/run_in_skill_env.py skills/generate-pptx/scripts/slides_json_to_pptx.py slides.json -o output.pptx --write-svg-dir exported_svgs

也可以直接把已经存在的 SVG 文件打包成 PPTX:

python skills/generate-pptx/scripts/run_in_skill_env.py skills/generate-pptx/scripts/embed_svg_to_pptx.py slide_001.svg slide_002.svg -o output.pptx

7. Validate the result

完成后至少检查三件事:

  • JSON 能被解析,且每页都有 titlesvg
  • 脚本成功生成 .pptx
  • 如果导出了中间 SVG,抽查第一页和最后一页是否满足 1280x720 约束且没有 \x3Cfilter>

Resources

references/presets/gazee-glacier.md

默认视觉预设。需要生成高管汇报风格、浅色科技风、商业感较强的页面时读取它。

scripts/slides_json_to_pptx.py

把模型生成的 JSON 数组直接转成 PPTX,是最稳定的打包入口。

scripts/embed_svg_to_pptx.py

把现成的 SVG 文件列表嵌入到 PPTX。适合已经手头有 SVG 文件,或需要单独调试嵌入过程时使用。

scripts/ensure_skill_env.py

检查当前是否已经在虚拟环境里;如果没有,就在 skill 目录下创建 .venv;然后确保 python-pptx 已安装。

scripts/run_in_skill_env.py

统一的 Python 执行入口。先准备可用环境,再用那个解释器执行目标脚本。

Usage Guidance
这个技能看起来像是它说的那样:用于把逐页 SVG 打包成 PPTX。安装/运行时会在技能目录下创建 .venv(或复用你当前激活的虚拟环境)并通过 pip 安装 python-pptx(需要访问 PyPI)。在安装前考虑: - 如果你有严格的环境隔离要求,请在隔离环境(如专用虚拟环境或容器)中运行,避免无意修改系统或当前 venv。 - pip 会从网络安装包并运行安装逻辑;如果你在受限网络或对依赖版本敏感,先审查 python-pptx 版本(python-pptx>=1.0.2,<1.1.0)或手动在受控环境中预装依赖。 - 如果你希望避免自动安装,可先手动在目标环境中安装 python-pptx,然后按 SKILL.md 指示用 run_in_skill_env.py 运行脚本。 总体上,技能内部行为与其描述一致,但请在受控环境中运行以降低对现有开发环境的影响。
Capability Assessment
Purpose & Capability
技能名/描述、SKILL.md 的工作流与代码文件(将 JSON 中的 SVG 写成文件、把 SVG 嵌入 PPTX、准备虚拟环境)一致。没有请求与其目的不符的凭据、外部服务令牌或不相关的二进制依赖。
Instruction Scope
运行说明限定为:准备 Python 环境、收集需求、生成符合预设的 SVG、用脚本打包成 PPTX。脚本只访问技能目录、读取 slides JSON、写临时 SVG、并在技能目录下创建 .venv(或复用当前虚拟环境)。没有证据表明会读取用户主目录的敏感配置或向任意外部端点发送用户数据。需要注意:如果检测到已激活的虚拟环境,脚本会选择复用并可能在该环境中安装依赖,从而修改用户现有环境。
Install Mechanism
技能没有声明安装规范,但代码(ensure_skill_env.py)在运行时会通过 pip 安装 python-pptx(REQUIRED_PACKAGE)从 PyPI。这要求网络访问并会执行第三方包的安装脚本。虽然 pip 安装来自公共注册表是常见做法,但它仍属于中等风险(运行时下载并安装代码)。此外,当检测到活跃虚拟环境时,依赖可能会被安装到用户当前环境,带来意外修改的风险。
Credentials
技能不要求任何环境变量、密钥或外部配置路径。唯一涉及的环境操作是虚拟环境探测与创建(VIRTUAL_ENV、sys.prefix),这与需安装 python-pptx 的目的直接相关。
Persistence & Privilege
技能没有设置 always:true,也不会修改其他技能或系统级配置。它会在技能目录下创建一个 .venv(或复用当前活跃虚拟环境),这是其自身运行所需且范围有限。
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install generate-pptx
  3. After installation, invoke the skill by name or use /generate-pptx
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
- Added two new scripts: `ensure_skill_env.py` (ensures Python virtual environment and dependencies) and `run_in_skill_env.py` (provides a unified script execution entrypoint in the appropriate environment). - Updated workflow to prioritize environment preparation, ensuring all scripts run with required dependencies regardless of the user's initial setup. - All Python script calls now go through `run_in_skill_env.py` for consistency and reliability. - Added instructions and recommendations for dependency installation, especially regarding `python-pptx`. - Documentation updated to reflect the new recommended workflow and environment handling.
v1.0.0
Initial release of generate-pptx. - Collects presentation requirements through multi-turn dialogue. - Confirms slide-by-slide structure before generation. - Produces SVG slides per page, following visual preset and PPTX constraints. - Exports slides as a JSON array with titles and SVG content. - Provides scripts to package SVGs into a downloadable PPTX file. - Includes step-by-step workflow for clarification, generation, and validation.
Metadata
Slug generate-pptx
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is generate-pptx?

通过多轮沟通收集需求、确认逐页结构、生成每页 SVG 幻灯片并输出 PPTX 文件。适用于用户要求生成 PPT/PPTX、制作演示文稿、把文案或提纲转成幻灯片、先确认页纲再出稿,或需要把模型生成的 SVG 幻灯片打包成可下载 PPTX 的场景。 It is an AI Agent Skill for Claude Code / OpenClaw, with 112 downloads so far.

How do I install generate-pptx?

Run "/install generate-pptx" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is generate-pptx free?

Yes, generate-pptx is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does generate-pptx support?

generate-pptx is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created generate-pptx?

It is built and maintained by LIKEGAKKI (@likegakki); the current version is v1.0.1.

💬 Comments