Install
openclaw skills install @ddpie/svg-ppt-generatorSVG-based PPT generator with 9 themes, 8 layouts, 30+ charts, and 600+ icons
openclaw skills install @ddpie/svg-ppt-generatorProfessional presentation engine. Generates SVG pages and converts them to native editable PPTX via svg_to_pptx. Includes 8 layout templates covering dark, light, consulting, tech, and more.
After receiving a PPT request, do not generate immediately. Guide the user step by step:
Got it, I'll make this PPT for you. Topic: "{extracted from user message}" — correct? How long is the presentation? This determines page count:
- 10 min → 10-12 pages
- 20 min → 15-18 pages
- 30 min → 22-25 pages
- 45 min → 28-35 pages
Duration is required — do not skip this. Page count directly depends on it.
If the user already provided a detailed outline, skip topic confirmation but still ask duration.
Pick a style (just reply with the number):
dark_warm (default) — dark warm tone, AI/tech feel
consultant — white + blue, consulting style
cloud_orange — deep navy + orange, cloud/tech architecture
ai_ops — full dark, ops/DevOps style
tech_blue — blue tech, formal business
smart_red — red business
exhibit — light showcase, data-heavy
pixel_retro — pixel retro, creative/fun
Propose a structure based on the topic and style:
Based on your needs, here's a suggested structure ({N} pages):
P1 — Cover: {title}
P2 — Table of Contents
P3 — {Section 1 title}
...
P{N} — Closing: {key takeaway / CTA}
Want to adjust anything, or shall I start generating?
Only start after user confirms. Send a status message:
Starting generation, estimated X minutes.
Then execute the Technical Flow below.
Send the final PPTX with a brief note:
PPT is ready, {N} pages total. Want changes? Just say:
- "Update the data on page 3"
- "Add a page about XX"
- "Make the colors darker"
Read design_spec.md + reference SVGs → Write SVG files → svg_to_pptx → Deliver
Load the target style's design spec and reference templates:
ppt-master-assets/templates/layouts/{style}/design_spec.md ← colors, fonts, layout rules
ppt-master-assets/templates/layouts/{style}/01_cover.svg ← cover reference
ppt-master-assets/templates/layouts/{style}/02_chapter.svg ← chapter page reference
ppt-master-assets/templates/layouts/{style}/03_content.svg ← content page reference
ppt-master-assets/templates/layouts/{style}/04_ending.svg ← ending page reference
Use the write tool to create SVG files page by page in /tmp/ppt_svgs/{style}/.
SVG Rules:
viewBox must be 0 0 1280 720 (16:9)<style>, class01_cover.svg, 02_toc.svg, 03_chapter1.svg... in order<text> elements with font-family, font-size, fill<rect>. Decorations: <rect>/<circle>/<line>/<path><rect> + <text> layout (no HTML tables)Suggested order:
svg_to_pptx converts SVG elements into native DrawingML shapes (not images):
<text> → editable text boxes (double-click to edit)<rect> → native rectangles (drag, recolor)<circle> / <ellipse> → native circles<line> / <path> → native lines/pathsThe output PPTX is fully editable in PowerPoint, just like a manually created file.
import sys, os
sys.path.insert(0, os.path.expanduser(
"~/.openclaw/workspace/skills/ppt-generator/ppt-master-assets/scripts"))
from svg_to_pptx import create_pptx_with_native_svg
from pathlib import Path
svgs = sorted(Path("/tmp/ppt_svgs/{style}").glob("*.svg"))
create_pptx_with_native_svg(svgs, Path("/tmp/output.pptx"),
canvas_format="ppt169",
use_native_shapes=True, # required! otherwise SVG is embedded as image
verbose=True)
After generating the first draft, ask the user:
First draft is ready. Want to run a cross-review? Multiple reviewers check in parallel — more thorough but takes a few minutes.
If the user agrees and the agent supports subagents, run a review-fix cycle:
Round 1 (full review): Launch 5 reviewer subagents in parallel
Fix: Aggregate all issues, fix by priority (🔴 before ⚠️)
Round 2 (regression): 3 reviewers verify the fixes
Exit criteria: 🔴=0 and ⚠️≤3, or round≥4 force exit
Skip if user says "no review" or "just a quick draft".
Only send the final version. Do not send intermediate versions unless the user asks.
| # | Style | Directory | Background |
|---|---|---|---|
| 1 | Dark Warm | dark_warm | Dark cover + light content |
| 2 | Consultant | consultant | White + blue |
| 3 | Cloud Orange | cloud_orange | Deep navy + orange |
| 4 | AI Ops | ai_ops | Dark |
| 5 | Tech Blue | 科技蓝商务 | Blue |
| 6 | Smart Red | smart_red | Red |
| 7 | Exhibit | exhibit | Light |
| 8 | Pixel Retro | pixel_retro | Dark |
Default recommendation: dark_warm.
Each template in ppt-master-assets/templates/layouts/{directory}/ contains:
design_spec.md — full design parameters01_cover.svg — cover template02_chapter.svg / 02_toc.svg — chapter/TOC page03_content.svg — content page04_ending.svg — ending pageKey docs in ppt-master-assets/references/:
strategist.md — strategist roleexecutor-consultant-top.md — top-tier consulting executorshared-standards.md — SVG technical constraints