Install
openclaw skills install slide-generationGenerate Marp teaching slides from source content for teachers. Use when: (1) Generating Marp-compatible markdown slides from a .md file or folder for teaching/presentations, (2) Creating course slides with specific themes (am_blue_course), headers (logo), footers (敬业乐群), and presenter info, (3) Converting educational content (chapters, notes, multiple sources) into slide format, (4) Synthesizing multiple sources into a unified slide deck. NOT for: general document editing, non-Marp presentations.
openclaw skills install slide-generationGenerate Marp slides from source content following the AM Blue Course theme and workflow rules.
.md files (or all .md files in a folder)references/rules.md and references/marp-guide.md before generating.md file with Marp formatUser: 生成关于"记忆与检索"的幻灯片,基于第八章.md
→ Read 第八章.md, generate slides
User: 把这个文件夹里的内容整合成一组教学幻灯片
→ Read all .md files in the folder, merge by topic/chapter, generate unified slides
When multiple sources are provided:
When user specifies an output path (e.g. chapter8/memory-slide.md):
chapter8/)chapter8/images/chapter8/memory-slide.mdImage path mapping:
../images/xxx.png → Output path: ./images/xxx.pngimages/ folder alongside the slide fileAlways use this exact header:
---
marp: true
size: 16:9
theme: am_blue_course
paginate: true
headingDivider: [2,3]
footer: '*敬业乐群*'
---
<!-- _class: cover_c -->
<!-- _paginate: "" -->
<!-- _footer: 敬业乐群 -->
<!-- _header:  -->
###### [Subtitle]
# [Main Title]
@PresenterName
<Email>
Subtitle format: use ###### (level 6 heading)
Main title: use # (level 1 heading)
## 本节内容
<!-- _class: toc_a -->
<!-- _header: "CONTENTS" -->
<!-- _footer: 敬业乐群 -->
<!-- _paginate: "" -->
- [Topic 1](#3)
- [Topic 2](#N)
- ...
Use ## (level 2 heading) for main section titles. The headingDivider: [2,3] setting automatically splits pages at ## and ### headings.
For content-heavy pages, apply text-size classes:
<!-- _class: smalltext --> — 0.9x font size<!-- _class: tinytext --> — 0.8x font sizeFor narrow/wide images, avoid left-right layouts; use full-width instead.
images/ folderlogo.png as header image (path: images/logo.png in output)<!-- *class: smalltext* --> or <!-- *class: tinytext* --> for dense content$...$ (e.g. $f(x) = y$)2.2 not 10.2.2; omit chapter prefix<!-- _class: trans -->)--- for manual page breaks (headingDivider already handles this)10.2.2 — use 2.2 insteadBased on image/table shape:
| Content Shape | Recommended Layout |
|---|---|
| Wide image (aspect < 1:1) | Full-width, no columns |
| Tall image (aspect > 1:1) | Left-right columns possible |
| Square image | Flexible, consider columns |
| Tables | Full-width or right-aligned; avoid narrow columns |
| Code blocks | Full-width, consider tinytext |
| Mixed text + image | Use cols-2 (五五分) or cols-2-64 (六四分) |
Image scaling: use  or  to adjust size dynamically.
Two columns (五五分):
<!-- _class: cols-2 -->
<div class=ldiv>
Left column content
</div>
<div class=rdiv>
Right column content
</div>
Two columns (六四分, image on left):
<!-- _class: cols-2-64 -->
<div class=limg>

</div>
<div class=rdiv>
Right column text
</div>
fig-top layout (image on top):
<!-- _class: fig-top -->
<div class=fig-container>

</div>
<div class=text-container>
Content text
</div>
Reference: assets/example_file/AwesomeMarp_blue.md and assets/example_file/slide.md
Page layout: cols-2, cols-2-64, cols-2-73, cols-2-46, cols-2-37, cols-3, rows-2, pin-3
Text size: tinytext, smalltext, largetext, hugetext
Special: toc_a, cover_c, fig-top, fglass, caption, fixedtitleA, fixedtitleB
Callouts: bq-purple, bq-blue, bq-green, bq-red, bq-black
![]() image syntaximages/ folder../images/8-figures/8-1.png) to new paths (images/8-1.png)For logos and theme images, use: images/logo.png (copied from assets/images/logo.png)
When synthesizing from multiple sources:
Before finishing, verify:
images/ folder--- page breaks (headingDivider handles it)$...$ syntax10.2.2 — use 2.2images/logo.png