Professional 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):
>
> 1. dark_warm (default) — dark warm tone, AI/tech feel
>
> 2. consultant — white + blue, consulting style
>
> 3. cloud_orange — deep navy + orange, cloud/tech architecture
>
> 4. ai_ops — full dark, ops/DevOps style
>
> 5. tech_blue — blue tech, formal business
>
> 6. smart_red — red business
>
> 7. exhibit — light showcase, data-heavy
>
> 8. 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), class01_cover.svg, 02_toc.svg, 03_chapter1.svg... in order elements with font-family, font-size, fill. Decorations: /// + layout (no HTML tables)Suggested order:
svg_to_pptx converts SVG elements into native DrawingML shapes (not images):
→ editable text boxes (double-click to edit) → native rectangles (drag, recolor) / → native circles / → 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:
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共 1 个版本