Install
openclaw skills install slidev-ppt-generatorGenerate and export presentations using Slidev. Use only when the user explicitly asks for Slidev, Markdown slides, a previewable slides.md, or needs to expo...
openclaw skills install slidev-ppt-generatorGenerate slides.md using the standard Slidev workflow, then preview, build, and export within an existing or new Slidev project.
Slidevslides.md, Markdown slides, or a locally previewable presentationPDF, PPTX, or build static HTMLscripts/generate.js — Generate a basic slides.md from a given topicscripts/export.js — Export pdf / pptx / png from within a Slidev project directorytemplates/tech-share.md — Tech-share template referenceexamples/demo-slides.md — Example slidesreferences/presentation-design.md — Presentation design and layout rules; must be consulted when generating a formal deckConfirm the following information first. If the user has not provided everything, fill in the minimum necessary defaults:
tech / product / reportauto / zh / enformal / executive / technical / launchdefault / seriph / apple-basicIf the user just says "make a PPT", use these defaults:
tech, Pages: 10, Language: autoslides.md first, then ask whether to exportformal, Theme: auto-detectLanguage rules:
Prefer reusing an existing Slidev project. If the user does not specify a directory, default to ~/slidev-ppt.
ls ~/slidev-ppt/package.json ~/slidev-ppt/slides.md
If it does not exist, initialize:
node scripts/init-project.js --dir ~/slidev-ppt
If the user needs PDF/PPTX export, initialize with export dependencies:
node scripts/init-project.js --dir ~/slidev-ppt --with-export-deps
The init script installs these official themes: @slidev/theme-default, @slidev/theme-seriph, @slidev/theme-apple-basic, @slidev/theme-bricks, @slidev/theme-shibainu.
Do NOT just produce a bullet-point outline. You are writing a complete, visually designed presentation. Before writing any slide, decide:
default for every pageThen write the complete slides.md directly. The generate.js script only produces a bare skeleton; for any real presentation you should write the file yourself with proper frontmatter, backgrounds, layouts, and styled content.
If the user provides an existing outline, read the existing slides.md first, then modify on top of it.
npx slidev slides.md
node /path/to/slidev-ppt-generator/scripts/export.js --format pdf --output presentation.pdf
Or directly: npx slidev export --format pdf --output presentation.pdf
This is the most important section. A deck without visual design is just a document. Follow these recipes.
The cover page MUST have a background image. Use layout: cover with a background field. The theme automatically applies a dark overlay for text readability.
---
theme: seriph
background: https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=1920
class: text-center
---
# Building the Future of AI Agents
Autonomous, local-first, and always available
<div class="abs-br m-6 text-sm opacity-50">
Author Name — March 2026
</div>
Use Unsplash direct URLs. Pick images by topic keyword:
URL format: https://images.unsplash.com/photo-{ID}?auto=format&fit=crop&w=1920&q=80
Find image IDs at unsplash.com. Use specific photo IDs, not the old source.unsplash.com API (deprecated). Pick 3-5 images per deck and reuse them for visual consistency.
For slides that need a background but not a photo, use CSS gradients:
---
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%)
class: text-center text-white
---
Or solid colors:
---
background: '#1a1a2e'
class: text-white
---
Use layout: section or layout: cover with a background for chapter transitions. Never leave a section page as plain white text.
---
layout: section
background: linear-gradient(135deg, #0c3547 0%, #1a6b8a 100%)
class: text-white
---
# Architecture Deep Dive
Two-column with image (apple-basic theme):
---
layout: image-right
image: https://images.unsplash.com/photo-xxx?w=960
---
# Why Local-First Matters
- Your data never leaves your machine
- Full control over configuration
- Works offline once set up
- No recurring service fees
Fact/statistic highlight:
---
layout: fact
---
# 7 Agents
Running simultaneously on a single gateway
<br>
# 5 Channels
WhatsApp, Telegram, Discord, Feishu, DingTalk
Quote page:
---
layout: quote
---
# "The best AI assistant is the one you fully control."
— Local-first design philosophy
Statement page (big idea, minimal text):
---
layout: statement
---
# Self-hosted means self-sovereign
For feature lists, comparisons, or multi-item layouts, use HTML grid with UnoCSS classes instead of plain bullet lists:
---
---
# Key Capabilities
<div class="grid grid-cols-2 gap-6 mt-8">
<div class="p-6 bg-gray-100 rounded-lg">
<h3 class="text-lg font-bold mb-2">Multi-Agent</h3>
<p class="text-sm opacity-75">Run multiple isolated AI personas on one server</p>
</div>
<div class="p-6 bg-gray-100 rounded-lg">
<h3 class="text-lg font-bold mb-2">Multi-Channel</h3>
<p class="text-sm opacity-75">WhatsApp, Telegram, Discord simultaneously</p>
</div>
<div class="p-6 bg-gray-100 rounded-lg">
<h3 class="text-lg font-bold mb-2">Local-First</h3>
<p class="text-sm opacity-75">All data stays on your hardware</p>
</div>
<div class="p-6 bg-gray-100 rounded-lg">
<h3 class="text-lg font-bold mb-2">Open Source</h3>
<p class="text-sm opacity-75">MIT licensed, community-driven</p>
</div>
</div>
For dark themes, use bg-white/10 or bg-gray-800 instead of bg-gray-100.
Mermaid diagrams may have rendering issues in PDF/PPTX export (timing-dependent). Keep Mermaid to under ~15 nodes. For complex diagrams or maximum reliability, use card grids instead:
Example component architecture without Mermaid:
---
---
# System Architecture
<div class="grid grid-cols-3 gap-4 mt-6 text-center">
<div class="p-4 bg-blue-100 rounded-lg border-2 border-blue-300">
<div class="text-xs opacity-50 mb-1">INPUT</div>
<div class="font-bold">Chat Channels</div>
<div class="text-xs mt-1">WhatsApp · Telegram · Discord</div>
</div>
<div class="p-4 bg-green-100 rounded-lg border-2 border-green-300">
<div class="text-xs opacity-50 mb-1">CORE</div>
<div class="font-bold">Gateway</div>
<div class="text-xs mt-1">Routing · Sessions · Auth</div>
</div>
<div class="p-4 bg-purple-100 rounded-lg border-2 border-purple-300">
<div class="text-xs opacity-50 mb-1">EXECUTION</div>
<div class="font-bold">AI Agents</div>
<div class="text-xs mt-1">Tools · Skills · Memory</div>
</div>
</div>
<div class="text-center mt-4 text-2xl opacity-30">→ → →</div>
The closing page should have a background (same as cover or complementary). Never end with plain white.
---
layout: cover
background: https://images.unsplash.com/photo-xxx?w=1920
class: text-center
---
# Thank You
Questions?
<div class="abs-br m-6 text-sm opacity-50">
author@email.com · github.com/username
</div>
Prefer official themes. Recommended mapping:
technical → default (dark code-friendly, good for tech shares)formal → seriph (elegant serif fonts, good for business)executive → seriph (same, emphasize conclusions)launch → apple-basic (clean, image-heavy layouts)Always include these fields in the first slide's frontmatter:
---
theme: seriph
background: https://images.unsplash.com/photo-{ID}?w=1920
highlighter: shiki
lineNumbers: false
colorSchema: light
title: Your Presentation Title
---
colorSchema: use light for most business/formal decks; dark only for technical/code-heavy deckslineNumbers: false unless the deck is specifically about codebackground on the first slide<thead> and <tbody>Before generating a formal presentation, you must read references/presentation-design.md.
When the user needs PDF or PPTX output:
v-click step becomes a separate PDF page. Use --per-slide flag to get one page per slide: npx slidev export --format pdf --per-slide?auto=format&fit=crop&w=1920&q=80export.js will auto-install playwright-chromium if missingDetermined by the current task, not hard-coded:
formal — Restrained, stable structure, minimal decoration. Use seriph theme, light color scheme, 1-2 Unsplash backgrounds.executive — Emphasizes conclusions, comparisons, action items. Use seriph, light, fact/statement layouts for key numbers.technical — Higher information density, code blocks OK. Use default theme, dark color scheme, more code examples.launch — Stronger visual impact, more background images. Use apple-basic, light, image-heavy layouts (image-right, intro-image, 3-images).Default: formal. Switch based on user's explicit request.
auto — Follow the primary language of the user's current messagezh — Chinese decken — English deckDo not force English if user does not specify.
After completing slides.md, verify:
Run npx slidev --version in the project directory. If it fails, run node scripts/init-project.js --dir ~/slidev-ppt.
Check: (1) current directory is a Slidev project, (2) playwright-chromium is installed, (3) slides.md can start in preview mode.
If the exported deck looks like a plain text document: you forgot backgrounds, used only default layout, and didn't apply visual recipes. Go back to the Visual Design Recipes section and redo the slides.
When the user says "help me make a PPT about X":
slides.md with backgrounds, varied layouts, and styled content — NOT a bullet-point outlineDo not just return a list of commands; actually write the slides.md file.