← Back to list
📄

markdown-slides Checked

Create presentation slides in Markdown format (Deckset/Marp compatible). Use when user requests t…
📄 Documents skills By jykim Version v1.0.0 Added 2026-10-21 Updated 2026-10-21 Source ↗
8.0Overall rating
0Views
0Downloads
49Stars

Installation

🤖 Install via AI

Copy the prompt below and send it to your AI assistant (e.g. Claude Code) — it will follow the instructions and install automatically.

Install the "markdown-slides" skill by following the instructions at https://skill123.me/install/markdown-slides.
⌨️ Command line install

Run in your terminal — downloads and installs to ~/.claude/skills/.

curl -fsSL https://skill123.me/install/markdown-slides.sh | bash
📦 Download ZIP

Download the zip and extract it into your skills directory (e.g. ~/.claude/skills/), then restart your session.

⬇ Download v1.0.0 · 5 KB
📊 Static rating
8.0/10
Trigger
8.0
Structure
0.0
Workflow
8.0
Content
0.0
Engineering
0.0
Security
7.0

Six-dimension rubric with reviewer rationale.

View scorecard ↓
🛡 Dynamic test
—

Not live-tested yet — this skill is rated on static analysis only.

About this skill

Create presentation slides in Markdown format (Deckset/Marp compatible). Use when user requests to create slides, presentations, or convert documents to slide format. Handles image positioning, speaker notes, and proper formatting.

Markdown Slides Skill

Convert content to presentation slides in Markdown format compatible with Deckset and Marp presentation tools.

Documentation

Create presentation slides in Markdown format (Deckset/Marp compatible). Use when user requests to create slides, presentations, or convert documents to slide format. Handles image positioning, speaker notes, and proper formatting.

Markdown Slides Skill

Convert content to presentation slides in Markdown format compatible with Deckset and Marp presentation tools.

When to Use This Skill

Activate this skill when the user:

  • Asks to create slides or a presentation
  • Requests to convert a document to slide format
  • Mentions Deckset or Marp
  • Wants to generate speaker notes
  • Needs to format images for presentations

Input Requirements

  • **Source content**: Markdown file, outline, or structured content
  • **Images**: Files in _files_/ directory or paths to be resolved
  • **Target platform**: Deckset (default) or Marp
  • **Options**:
  • Speaker notes (enabled by default)
  • Slide numbering (optional frontmatter)
  • Emoji enhancement (enabled by default)

Output Specifications

  • **File location**: Same folder as source
  • **File naming**: Original name with - slides suffix
  • Example: document.md → document - slides.md
  • **Format**: Deckset-compatible markdown
  • **Structure**: Proper slide dividers, image tags, speaker notes
  • **Enhancement**: Emojis added for visual appeal

Main Process

### Step 1: Slide Structure Setup

**Objective**: Create logical slide divisions with proper hierarchy

**Actions**:

1. Read and analyze source content structure

2. Insert slide dividers (---) at logical breaks:

  • Between major sections
  • Between distinct topics
  • After section intro slides
  • Before/after major diagrams

3. Maintain content hierarchy:

  • H1 (#) for section titles
  • H2 (##) for main slide titles
  • H3 (###) for sub-topics

4. Preserve original organization and flow

5. Add optional frontmatter: slidenumbers: true

**Example**:


slidenumbers: true
# 1. Section Title 🎯

![](section-background.png)

^ Introduction to this section.

---

## Main Topic 📊

Content here...

---

### Detailed Subtopic

More details...

### Step 2: Image Format Conversion

**Objective**: Convert images to Deckset format with proper positioning

**Critical Requirements**:

⚠️ **MUST resolve relative paths per-image basis**

⚠️ **MUST URL-encode spaces and escape special characters**

⚠️ **MUST verify image files exist**

**Image Position Formats**:

| Format | Usage | Example |

|--------|-------|---------|

| ![]() | Section intro backgrounds | ![](background.png) |

| ![inline]() | Diagrams within text flow | !inline (diagram.svg) |

| ![right fit]() | **PRIMARY**: Content slides | !right fit (chart.png) |

| ![right 80%]() | Specific sizing needed | !right 80% (image.png) |

| ![inline fill]() | Full-width inline | !inline fill (wide.png) |

View full documentation

**Actions**:

1. Identify all image references in source

2. For each image:


   a. Determine appropriate position format
   b. Resolve relative path from slide file location
   c. URL-encode spaces: " " → "%20"
   d. Escape parentheses: "(" → "%28", ")" → "%29"
   e. Verify file exists at resolved path
   f. Use original images when available
   g. Copy missing images to _files_/ directory

3. Apply positioning based on context:

  • **Section intros**: Use ![]() for full background
  • **Diagrams in text**: Use ![inline]()
  • **Default for content slides**: Use ![right fit]() ⭐
  • **Custom sizing**: Use ![right XX%]() when needed
  • **Full-width inline**: Use ![inline fill]() for wide images

**Examples**:


# Section Title
![](background-image.png)

---

## Content Slide
Key points here:
- Point 1
- Point 2

![right fit](diagram.png)

---

## Inline Diagram
Text before diagram.

![inline](process-flow.svg)

Text after diagram.

### Step 3: Speaker Notes Conversion

**Objective**: Convert appropriate content to speaker notes

**Format**: Lines starting with ^ (caret + space)

**Placement**: At the end of each slide

**Convert to speaker notes**:

✅ Multi-sentence paragraphs

✅ Explanatory text

✅ Additional context

✅ Talking points

**DO NOT convert**:

❌ Single-sentence paragraphs

❌ Lists (bullet or numbered)

❌ Block quotes

❌ Sentences ending with colon (:)

❌ Headers (H1, H2, H3)

❌ Table content

**For Marp platform**: Use HTML comments instead


<!-- This is a speaker note for Marp -->

**Examples**:


## Slide Title

Main content visible to audience.

^ This paragraph becomes a speaker note because it's multi-sentence explanatory text. It provides context that the speaker needs but the audience doesn't need to read on the slide.

---

## Another Slide

- Bullet points stay visible
- Not converted to notes

^ Additional speaking points go here.

### Step 4: Content Enhancement

**Objective**: Polish the presentation for maximum impact

**Actions**:

1. **Add emojis** to section and slide titles:

  • Use relevant emojis that enhance meaning
  • Don't overuse - keep it professional
  • Examples: 🎯📊🤖💡🚀📚🔧⚡

2. **Clean up comments**:

  • Remove markdown comments not meant for slides
  • Remove TODO items
  • Remove internal notes

3. **Ensure clean format**:

  • Consistent spacing
  • Proper header hierarchy
  • Clear slide breaks

4. **Add frontmatter** (if requested):


   slidenumbers: true

5. **Final review**:

  • Each slide has clear focus
  • Images positioned correctly
  • Speaker notes placed at end
  • No orphaned content

Critical Guidelines

### Image Handling

⚠️ **CRITICAL RULES**:

1. **NEVER invent images** - Only reference images that exist in the source document or _files_/ folder. Do NOT create placeholder references like background-xxx.png for images that don't exist.

2. **Use original images** from source when available

3. **Copy missing images** to _files_/ directory rather than substituting

4. **Resolve paths per-image** - don't assume same directory

5. **URL-encode spaces**: my file.png → my%20file.png

6. **Escape special characters**:

  • Parentheses: ( → %28, ) → %29
  • Other special chars as needed

7. **Verify existence** before referencing - run ls or glob to confirm file exists

8. **Maintain semantic relevance** - image should match slide content

9. **Section intros without images are OK** - If no background image exists for a section intro slide, just use the title and speaker notes without an image reference

### Image Position Standards

**Decision tree for image positioning**:


Is it a section intro slide with just title?
  → Does a background image exist?
    → YES: Use ![]() for full background
    → NO: Skip image, use title + speaker notes only

Is it a diagram embedded in flowing text?
  → YES: Use ![inline]() or ![inline fill]()

Is it the main visual for the slide with bullet points?
  → YES: Use ![right fit]() ⭐ PRIMARY FORMAT

Does it need specific sizing?
  → YES: Use ![right 80%]() or other percentage

### Speaker Notes Rules

**When to convert to speaker notes**:

  • Multi-sentence explanatory paragraphs
  • Contextual information not needed on slide
  • Talking points for the speaker
  • Additional details for verbal explanation

**When NOT to convert**:

  • Single-sentence paragraphs (might be slide content)
  • Bullet or numbered lists (usually slide content)
  • Block quotes (usually featured content)
  • Sentences ending with : (usually introducing lists)
  • Any header level
  • Table content

**Format**:


Slide content here.

^ Speaker note paragraph one. Can be multiple sentences providing context.

^ Speaker note paragraph two. Each note paragraph gets its own ^ prefix.

### Content Standards

1. **File Naming**:

  • Always use - slides suffix
  • Preserve original filename otherwise
  • Example: AI for PKM.md → AI for PKM - slides.md

2. **Emoji Usage**:

  • Add to H1 and H2 headers
  • Choose relevant, professional emojis
  • Don't overuse - quality over quantity
  • Examples:
  • 🎯 Goals/Objectives
  • 📊 Data/Charts
  • 🤖 AI/Technology
  • 💡 Ideas/Insights
  • 🚀 Future/Launch
  • 📚 Learning/Knowledge

3. **Hierarchy**:

  • H1 for major sections (usually num

Score breakdown

Trigger
8.0
Structure
0.0
Workflow
8.0
Content
0.0
Engineering
0.0
Security
7.0

Assessment methodology

🧪
AI-assessed
Evaluated by automated analysis across quality, usability, and security dimensions. This is not a substitute for your own review — always inspect a skill before installing it.

Version history

v1.0.0 2026-10-21
5 KB

Imported from jykim/claude-obsidian-skills@main