slidedown
Convert Markdown files into beautiful, professionally-designed PowerPoint presentations (.pptx) that open natively in Keynote, PowerPoint, and Google Slides. Use this skill whenever the user wants to turn a .md file into slides, create a presentation from markdown content, generate a deck from text/notes, or mentions 'slidedown', 'md to slides', 'markdown to presentation', 'markdown to pptx', or 'markdown to keynote'. Also trigger when the user has a .md file and wants it as a slide deck, or asks to 'make slides from' any text content. This skill handles the full pipeline: parsing markdown, selecting themes, applying professional layouts, and exporting a polished .pptx file.
git clone https://github.com/Viniciuscarvalho/slidedown
git clone --depth=1 https://github.com/Viniciuscarvalho/slidedown ~/.claude/skills/viniciuscarvalho-slidedown-slidedown
SKILL.mdSlideDown Skill
Convert Markdown → Beautiful PPTX (Keynote/PowerPoint compatible)
Quick Start
# 1. Install dependencies (first time only) npm install -g pptxgenjs react-icons react react-dom sharp # 2. Run the converter node /path/to/skill/scripts/md2pptx.js input.md output.pptx [theme]
Available themes:
midnight, aurora, sunset, minimal, forest, brutalist
Default theme:
midnight
Markdown Syntax for Slides
The converter uses these conventions to parse markdown into slides:
| Markdown | Slide Behavior |
|---|---|
| Title/hero slide (centered, large) |
| New slide separator |
| Slide heading |
| Highlighted quote block with accent border |
| Styled bullet point |
| Bold emphasis |
| Italic text |
| Inline code styling |
| Code block with dark background |
| Image (downloaded and embedded) |
| Speaker notes (not visible on slide) |
Tables () | Auto-styled data table |
Example Markdown
# My Presentation ## A subtitle here --- ## The Problem > Most presentations are forgettable. - Death by bullet points - Ugly default themes - Hours wasted on formatting --- ## The Solution **SlideDown** converts your markdown into beautiful presentations — instantly. <!-- notes: Emphasize the speed advantage here --> --- ## Metrics | Quarter | Revenue | Growth | |---------|---------|--------| | Q1 | $2M | 15% | | Q2 | $3M | 50% | | Q3 | $4.5M | 50% |
Workflow
Step 1: Prepare the Markdown
If the user provides a
.md file, use it directly. If they provide raw text or content in the chat, save it as a .md file first.
Ensure the markdown follows the syntax conventions above. If the content doesn't have
--- separators, intelligently split it into slides based on ## headings.
Step 2: Choose a Theme
If the user hasn't specified a theme, ask them or pick one that matches the content:
- midnight — Dark navy with indigo accents. Professional, modern. Good for tech talks, product launches.
- aurora — Dark with purple-to-teal gradient. Creative, bold. Good for design talks, conferences.
- sunset — Warm orange-amber tones. Energetic, friendly. Good for startups, pitches.
- minimal — Light background, clean typography. Classic, readable. Good for academic, corporate.
- forest — Deep green tones. Calm, trustworthy. Good for sustainability, health, finance.
- brutalist — Yellow background, bold black text. Striking, memorable. Good for manifestos, bold statements.
See references/themes.md for full color/typography details.
Step 3: Generate the Presentation
node scripts/md2pptx.js input.md output.pptx midnight
Step 4: QA
Convert to images and verify:
python scripts/office/soffice.py --headless --convert-to pdf output.pptx pdftoppm -jpeg -r 150 output.pdf slide
Visually inspect each slide for:
- Text overflow or cutoff
- Proper theme application
- Readable contrast
- Correct content from the markdown
Step 5: Deliver
Copy the final
.pptx to /mnt/user-data/outputs/ and present to the user.
The
.pptx format opens natively in:
- Apple Keynote (Mac/iPad/iPhone)
- Microsoft PowerPoint (Windows/Mac/Web)
- Google Slides (import)
- LibreOffice Impress (Linux)
Design Principles
Each theme follows these principles for professional-quality output:
- No boring slides — Every slide has visual elements (shapes, accent colors, icons), never just text on white.
- Typography hierarchy — Title slides use 36-44pt, headings 28-32pt, body 16-18pt, with contrasting font weights.
- Color discipline — 60/30/10 rule: dominant background, secondary for content areas, accent for highlights.
- Layout variety — Title slides are centered, content slides left-aligned, quotes have accent borders, tables have styled headers.
- Breathing room — Minimum 0.5" margins, generous spacing between elements.
- Consistent motif — Each theme has a signature visual element (accent shapes, borders, overlays) repeated across slides.
Dependencies
— PPTX generationpptxgenjs
,react-icons
,react
,react-dom
— Icon rendering (optional, for icon-enhanced slides)sharp- LibreOffice (
) — PDF conversion for QAsoffice - Poppler (
) — PDF to images for QApdftoppm