Generating Marp Slides
Workflow
Generate slides in two stages. Complete Stage 1 before Stage 2.
Stage 1: Outline
Given source material, produce a numbered slide outline — not full content.
Rules:
- Target 8–12 slides (adjust based on content density)
- Write each title as an assertion — a complete statement, not a topic label
- Good: "Revenue grew 34% YoY"
- Bad: "Revenue Overview"
- First slide: title slide. Last slide: summary or call-to-action
- Format: slide number, assertion title, one-sentence content description
Present the outline for approval before proceeding.
Stage 2: Full Marp Markdown
Convert the approved outline into a complete Marp Markdown file:
---
marp: true
theme: default
paginate: true
---
# Assertion Title
- Bullet (max 12 words)
- Another bullet
- Supporting evidence
<!-- Speaker notes for the presenter -->
---
# Next Slide Assertion Title
Rules:
- YAML frontmatter:
marp: true, theme: default, paginate: true
- Separate slides with
--- on its own line
# for slide titles (assertion titles from the outline)
- Maximum 4 bullets per slide, each under 12 words
**bold** for key terms only
<!-- Speaker notes --> on every slide
- Where a visual would help:
<!-- IMAGE: description -->
- Never invent data not in the source material
Self-review
After drafting, verify before delivering:
Fix all issues inline.
Design rules
- One message per slide. If the point needs more than one sentence to state, split into two slides.
- Assertion-evidence structure. Title = complete sentence asserting the key point. Body = evidence supporting it.
- Less text, more signal. Fragments that convey key data, not full sentences.
- Progressive narrative. Sequence: context → evidence → implications → action.
Marp image syntax
| Syntax |
Effect |
 |
Full background |
 |
Image right 40%, text left |
 |
Image left 50%, text right |
 |
Contained, no crop |
 |
Cover, may crop |
 |
Blurred background |
 |
Inline, 300px wide |
Export
marp slides.md --pdf # PDF (best for sharing)
marp slides.md --pptx # PowerPoint
marp slides.md --html # HTML
marp slides.md --pdf --allow-local-files # PDF with local images
Edge cases
- Very short source material (3–4 sentences): Reduce to 4–5 slides. Skip the outline stage — draft directly.
- Very long source material (>2000 words): Summarize first, then generate slides from the summary.
- User needs executable code or LaTeX in slides: Use Quarto + Reveal.js instead of Marp (see references/03-quality-export-example.md).
- User needs native PowerPoint without Marp: Use SlideDeck AI (see references/03-quality-export-example.md).
Reference material
- Toolchain, detailed workflow, content generation principles: references/01-workflow-and-content-generation.md
- Design principles, theming, visual enrichment: references/02-design-theming-visuals.md
- Export options, worked example, alternative formats: references/03-quality-export-example.md
1---2name: generating-marp-slides3description: Generates professional slide decks as Marp Markdown from source material (memos, documents, notes, bullet points). Produces assertion-titled, visually consistent presentations with speaker notes, exportable to PDF, PPTX, and HTML via Marp CLI. Use when creating presentations, generating slides, building a slide deck, making a pitch deck, converting a document to a presentation, or when the user mentions Marp, slides, or slide decks.4---56# Generating Marp Slides78## Workflow910Generate slides in two stages. Complete Stage 1 before Stage 2.1112### Stage 1: Outline1314Given source material, produce a numbered slide outline — not full content.1516Rules:17- Target 8–12 slides (adjust based on content density)18- Write each title as an **assertion** — a complete statement, not a topic label19 - Good: "Revenue grew 34% YoY"20 - Bad: "Revenue Overview"21- First slide: title slide. Last slide: summary or call-to-action22- Format: slide number, assertion title, one-sentence content description2324Present the outline for approval before proceeding.2526### Stage 2: Full Marp Markdown2728Convert the approved outline into a complete Marp Markdown file:2930````markdown31---32marp: true33theme: default34paginate: true35---3637# Assertion Title3839- Bullet (max 12 words)40- Another bullet41- Supporting evidence4243<!-- Speaker notes for the presenter -->4445---4647# Next Slide Assertion Title48````4950Rules:51- YAML frontmatter: `marp: true`, `theme: default`, `paginate: true`52- Separate slides with `---` on its own line53- `#` for slide titles (assertion titles from the outline)54- Maximum **4 bullets** per slide, each **under 12 words**55- `**bold**` for key terms only56- `<!-- Speaker notes -->` on every slide57- Where a visual would help: `<!-- IMAGE: description -->`58- Never invent data not in the source material5960### Self-review6162After drafting, verify before delivering:63- [ ] Every number, name, and claim matches the source material64- [ ] Each slide makes exactly one point65- [ ] No bullet exceeds ~12 words66- [ ] Titles read in sequence tell a coherent story67- [ ] Every slide has speaker notes6869Fix all issues inline.7071## Design rules72731. **One message per slide.** If the point needs more than one sentence to state, split into two slides.742. **Assertion-evidence structure.** Title = complete sentence asserting the key point. Body = evidence supporting it.753. **Less text, more signal.** Fragments that convey key data, not full sentences.764. **Progressive narrative.** Sequence: context → evidence → implications → action.7778## Marp image syntax7980| Syntax | Effect |81|--------|--------|82| `` | Full background |83| `` | Image right 40%, text left |84| `` | Image left 50%, text right |85| `` | Contained, no crop |86| `` | Cover, may crop |87| `` | Blurred background |88| `` | Inline, 300px wide |8990## Export9192```bash93marp slides.md --pdf # PDF (best for sharing)94marp slides.md --pptx # PowerPoint95marp slides.md --html # HTML96marp slides.md --pdf --allow-local-files # PDF with local images97```9899## Edge cases100101- **Very short source material** (3–4 sentences): Reduce to 4–5 slides. Skip the outline stage — draft directly.102- **Very long source material** (>2000 words): Summarize first, then generate slides from the summary.103- **User needs executable code or LaTeX in slides**: Use Quarto + Reveal.js instead of Marp (see [references/03-quality-export-example.md](references/03-quality-export-example.md#alternative-formats)).104- **User needs native PowerPoint without Marp**: Use SlideDeck AI (see [references/03-quality-export-example.md](references/03-quality-export-example.md#alternative-formats)).105106## Reference material107108- **Toolchain, detailed workflow, content generation principles**: [references/01-workflow-and-content-generation.md](references/01-workflow-and-content-generation.md)109- **Design principles, theming, visual enrichment**: [references/02-design-theming-visuals.md](references/02-design-theming-visuals.md)110- **Export options, worked example, alternative formats**: [references/03-quality-export-example.md](references/03-quality-export-example.md)