slide-generation

Generate 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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "slide-generation" with this command: npx skills add hh23333/slide-generation

Slide Generation Skill

Generate Marp slides from source content following the AM Blue Course theme and workflow rules.

Quick Start

  1. Identify sources: Read all source .md files (or all .md files in a folder)
  2. Read references: Load references/rules.md and references/marp-guide.md before generating
  3. Design structure: Plan slide sections from source content
  4. Generate: Output .md file with Marp format

Input Modes

Single File

User: 生成关于"记忆与检索"的幻灯片,基于第八章.md
→ Read 第八章.md, generate slides

Multiple Files / Folder

User: 把这个文件夹里的内容整合成一组教学幻灯片
→ Read all .md files in the folder, merge by topic/chapter, generate unified slides

When multiple sources are provided:

  • Merge content by topic or chapter sequence
  • Avoid duplicate content across sources
  • If sources conflict, prefer the more recent or comprehensive one

Output Target

When user specifies an output path (e.g. chapter8/memory-slide.md):

  1. Create the output folder (e.g. chapter8/)
  2. Copy all used images to chapter8/images/
  3. Write the slide markdown to chapter8/memory-slide.md

Image path mapping:

  • Source path: ../images/xxx.png → Output path: ./images/xxx.png
  • Copy source images to the output images/ folder alongside the slide file

Marp YAML Header (Required)

Always use this exact header:

---
marp: true
size: 16:9
theme: am_blue_course
paginate: true
headingDivider: [2,3]
footer: '*敬业乐群*'
---

Required Slide Structure

1. Cover Page (First Slide)

<!-- _class: cover_c -->
<!-- _paginate: "" -->
<!-- _footer: 敬业乐群 -->
<!-- _header: ![](images/logo.png) -->

###### [Subtitle]

# [Main Title]

@PresenterName
<Email>

Subtitle format: use ###### (level 6 heading) Main title: use # (level 1 heading)

2. Table of Contents (Second Slide)

## 本节内容

<!-- _class: toc_a -->
<!-- _header: "CONTENTS" -->
<!-- _footer: 敬业乐群 -->
<!-- _paginate: "" -->

- [Topic 1](#3)
- [Topic 2](#N)
- ...

3. Content Slides

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 size

For narrow/wide images, avoid left-right layouts; use full-width instead.

Core Rules

Must Follow

  • ✅ Content must come ONLY from source files — do not add external knowledge
  • ✅ Keep content rich but within source bounds
  • ✅ Preserve original images from source; copy to output images/ folder
  • ✅ Use logo.png as header image (path: images/logo.png in output)
  • ✅ Presenter name and email as specified by user
  • ✅ Use <!-- *class: smalltext* --> or <!-- *class: tinytext* --> for dense content
  • ✅ Inline math: wrap in $...$ (e.g. $f(x) = y$)
  • ✅ Convert code to pseudocode if it aids comprehension
  • ✅ Section numbering: use 2.2 not 10.2.2; omit chapter prefix

Must NOT

  • ❌ Use classes not defined in theme files
  • ❌ Use transition slides (<!-- _class: trans -->)
  • ❌ Use --- for manual page breaks (headingDivider already handles this)
  • ❌ Title encoding like 10.2.2 — use 2.2 instead
  • ❌ Generate images — only use images from source content

Layout Decision Rules

Based on image/table shape:

Content ShapeRecommended Layout
Wide image (aspect < 1:1)Full-width, no columns
Tall image (aspect > 1:1)Left-right columns possible
Square imageFlexible, consider columns
TablesFull-width or right-aligned; avoid narrow columns
Code blocksFull-width, consider tinytext
Mixed text + imageUse cols-2 (五五分) or cols-2-64 (六四分)

Image scaling: use ![#c w:700](path) or ![#c h:300](path) to adjust size dynamically.

Column Layout Examples

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>

![#c](image.png)
</div>

<div class=rdiv>

Right column text
</div>

fig-top layout (image on top):

<!-- _class: fig-top -->
<div class=fig-container>

![width:850px](image.png)
</div>

<div class=text-container>

Content text
</div>

Available Classes

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 Handling

  1. Scan source for ![]() image syntax
  2. Copy each image file to output images/ folder
  3. In slide markdown, reference images relative to output location: ![](images/filename.png)
  4. Map original paths (e.g. ../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)

Multi-Source Synthesis

When synthesizing from multiple sources:

  1. Read all sources first — get full picture of content
  2. Identify overlap — note repeated topics across files
  3. Deduplicate — consolidate overlapping content
  4. Merge by structure:
    • If sources are chapters of the same book → follow chapter order
    • If sources are different perspectives → create unified section structure
    • If sources have conflicting info → prefer user's stated preference or most recent
  5. Generate one coherent slide deck — unified structure, consistent style

Quality Checklist

Before finishing, verify:

  • YAML header matches required format exactly
  • Cover page has all: main title, subtitle, presenter name, email, logo, footer, no page number
  • TOC page links to correct slide numbers
  • All images from source are included and copied to images/ folder
  • No Marp classes used beyond what's in theme files
  • No --- page breaks (headingDivider handles it)
  • Inline math uses $...$ syntax
  • No title encodings like 10.2.2 — use 2.2
  • Content stays within source material bounds
  • Logo path is images/logo.png

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Arknights Skill

回答《明日方舟》的干员定位、技能机制、养成建议、剧情梳理、术语解释与关卡思路;可读取和维护本地结构化博士档案,让建议逐步贴合用户账号练度;并在版本相关问题上明确区分最新检索结论和非最新判断。

Registry SourceRecently Updated
General

Ecloud Long Term Memory

所有记忆相关的操作(查看、搜索、保存、回忆)都必须使用此工具。不要使用其他记忆工具。

Registry SourceRecently Updated
General

Polymarket Central Bank Trader

Trades Polymarket prediction markets on central bank decisions, interest rates, inflation prints, and Fed/ECB/Riksbank policy moves. Exploits three compoundi...

Registry SourceRecently Updated
General

Polymarket Catastrophe Trader

Trades Polymarket prediction markets on hurricane seasons, earthquake probabilities, wildfire forecasts, and extreme weather records. Exploits two structural...

Registry SourceRecently Updated