Install
openclaw skills install text-to-pptConvert any text input (research reports, summaries, proposals, plans, etc.) into a beautiful HTML-based presentation. Use when the user asks to create a PPT, slides, presentation, deck, or convert text/documents into slides. Also triggers on phrases like "做成PPT", "生成幻灯片", "做个演示文稿", "转成slides", "create presentation", "make slides", "text to presentation". Supports data visualization with Chart.js, Font Awesome icons, and modern design themes.
openclaw skills install text-to-pptConvert any text input into a visually stunning, single-file HTML presentation.
ALWAYS use the two-phase approach. NEVER generate the full HTML in one shot.
Read the input text, then produce a slide-by-slide outline in JSON format:
{
"title": "Presentation Title",
"language": "zh-CN",
"density": "detailed",
"theme": "dark",
"slides": [
{
"number": 1,
"type": "title",
"heading": "Main Title",
"content": "Subtitle or tagline",
"layout": "centered",
"notes": "Visual: large title with accent underline"
},
{
"number": 2,
"type": "content",
"heading": "Section Title",
"points": ["Point 1", "Point 2", "Point 3"],
"layout": "bullets",
"hasData": false,
"notes": "Use numbered badges for each point"
},
{
"number": 3,
"type": "chart",
"heading": "Key Metrics",
"chartType": "bar",
"chartData": {
"labels": ["A", "B", "C"],
"datasets": [{"label": "Sales", "data": [100, 200, 150]}]
},
"points": ["Insight 1", "Insight 2"],
"layout": "split",
"hasData": true,
"notes": "Left: chart, Right: insights as stat cards"
}
]
}
Rules for Phase 1:
hasData: true and provide chartType + chartDatacentered, bullets, split, grid, timeline, cards, fullchart, quoteRead references/design-system.md — this is where the full design spec lives.
Then generate HTML for each slide independently. Each slide is a self-contained <div class="slide"> block.
For each slide, the agent should:
<div class="slide">...</div><html>, no <head>, no <body> — just the slide divBATCHING: Generate slides in parallel using sub-agents. Spawn up to 5 sub-agents simultaneously, each generating 1-2 slides.
After all slides are generated:
references/shell-template.html~/Documents/longhai/Longhai/Generate HTML for slide {N} of a presentation.
SLIDE PLAN:
{JSON for this specific slide}
DESIGN SYSTEM: Read references/design-system.md for theme colors, components, and rules.
OUTPUT: Return ONLY a single <div class="slide" style="background-color: #0f172a;">...</div> block.
No <html>, <head>, or <body> tags. Use inline styles. Include <script> for Chart.js if this slide has charts.
Use unique canvas ID: chart-slide{N}-{random}.
readweb_fetch{topic-slug}.presentation.html~/Documents/longhai/Longhai/| Theme | Background | Text | Cards | Accent |
|---|---|---|---|---|
| dark (default) | slate-900 | slate-50 | slate-800 | blue-500/amber-500 |
| light | slate-50 | slate-900 | white | blue-600/amber-600 |
| tech | gray-950 | emerald-50 | gray-900 | cyan-500/violet-500 |
| warm | stone-900 | amber-50 | stone-800 | orange-500/rose-500 |
User can specify a theme. Default: dark.