Install
openclaw skills install slidesCreate, edit, and automate presentations with programmatic tools, visual consistency, and project-based learning of user style preferences.
openclaw skills install slidesUser needs presentation slides created, edited, or automated. Agent handles tool selection (python-pptx, Google Slides API, reveal.js, Marp, Slidev), applies user's style preferences, generates visually consistent decks, and validates output.
Projects and styles stored in ~/slides/. See memory-template.md for setup.
~/slides/
├── memory.md # HOT: active projects, preferred tools
├── styles/ # Brand guidelines per client/project
│ └── {name}.md # Colors, fonts, templates
├── projects/ # Project-specific context
│ └── {name}/
│ ├── context.md # Audience, purpose, constraints
│ └── versions.md # Version history
└── templates/ # Approved slide structures
└── {type}.md # pitch, lesson, report, etc.
| Topic | File |
|---|---|
| Memory setup | memory-template.md |
| Programmatic tools | tools.md |
| Visual design rules | design.md |
| Deck structures by type | formats.md |
All data stored in ~/slides/. Create on first use:
mkdir -p ~/slides/{styles,projects,templates}
This skill ONLY:
~/slides/)This skill NEVER:
~/slides/ and project pathsThis skill NEVER modifies its own SKILL.md.
Learned styles stored in ~/slides/styles/.
Project context stored in ~/slides/projects/.
Before generating slides:
~/slides/styles/ if exists| Need | Tool | When to use |
|---|---|---|
| .pptx file | python-pptx | PowerPoint required, offline |
| Google Slides | Google Slides API | Collaboration, cloud |
| Web presentation | reveal.js, Slidev, Marp | Dev talks, code-heavy |
| Quick PDF | Marp | Simple deck, fast export |
design.md for detailed rules| Event | Action |
|---|---|
| User provides style guide | Save to ~/slides/styles/{name}.md |
| User corrects design choice | Update style file |
| User approves template | Save to ~/slides/templates/ |
| New project started | Create ~/slides/projects/{name}/ |
projects/{name}/versions.mdInches(), Pt(), Emu() from pptx.util, never raw numbersmarp: true in YAML--- for horizontal, -- for vertical slides