Back to skills
SkillHub ClubWrite Technical DocsFull StackTech WriterDesigner

markdown-to-storyboard

Convert markdown content into a structured storyboard CSV for slide decks, video scripts, or any sequential visual media. Use when the user wants to plan a presentation, break down an article into slides, create a shot list, or generate a scene-by-scene outline from text. Triggers: "plan slides", "create storyboard", "break this into slides", "plan presentation", "outline this as a deck", "article to slides", "text to storyboard".

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
1,114
Hot score
99
Updated
March 20, 2026
Overall rating
C4.0
Composite score
4.0
Best-practice grade
A92.0

Install command

npx @skill-hub/cli install moosegoose0701-skill-compose-markdown-to-storyboard

Repository

MooseGoose0701/skill-compose

Skill path: seed_skills/markdown-to-storyboard

Convert markdown content into a structured storyboard CSV for slide decks, video scripts, or any sequential visual media. Use when the user wants to plan a presentation, break down an article into slides, create a shot list, or generate a scene-by-scene outline from text. Triggers: "plan slides", "create storyboard", "break this into slides", "plan presentation", "outline this as a deck", "article to slides", "text to storyboard".

Open repository

Best for

Primary workflow: Write Technical Docs.

Technical facets: Full Stack, Tech Writer, Designer.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: MooseGoose0701.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install markdown-to-storyboard into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/MooseGoose0701/skill-compose before adding markdown-to-storyboard to shared team environments
  • Use markdown-to-storyboard for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: markdown-to-storyboard
description: >
  Convert markdown content into a structured storyboard CSV for slide decks, video scripts,
  or any sequential visual media. Use when the user wants to plan a presentation, break down
  an article into slides, create a shot list, or generate a scene-by-scene outline from text.
  Triggers: "plan slides", "create storyboard", "break this into slides", "plan presentation",
  "outline this as a deck", "article to slides", "text to storyboard".
---

# Markdown to Storyboard

Convert any markdown text into a structured storyboard CSV — the universal handoff format
for downstream tools (slide builders, video editors, image generators).

## Workflow

### 1. Analyze the Source Markdown

Read the markdown and identify:
- Title and subtitle
- Section headings (H2/H3) → natural slide boundaries
- Key arguments / data points / quotes per section
- Narrative arc: setup → development → climax → conclusion

### 2. Ask User Preferences

Prompt for (defaults in parentheses):
- **Slide count** (auto: 8–15 based on content length, ~1 slide per 150–300 words)
- **Audience** (general)
- **Tone** (professional)
- **Language** (same as source)

If user declines to specify, use defaults and proceed.

### 3. Assign Slide Types and Layouts

Available `slide_type` values:

| Type | Purpose | Typical layout |
|------|---------|---------------|
| `cover` | Opening slide | `full_bg` |
| `toc` | Table of contents (optional, 12+ slides) | `center_text` |
| `section` | Chapter divider | `center_text` |
| `content` | Core information | `left_img_right_text` or `top_img_bottom_text` |
| `quote` | Key quote or statistic | `full_bg` |
| `data` | Chart / number-driven | `two_column` |
| `summary` | Closing recap | `center_text` or `left_img_right_text` |
| `end` | Thank-you / Q&A / CTA | `full_bg` |

Available `layout` values:
`full_bg`, `left_img_right_text`, `top_img_bottom_text`, `center_text`, `two_column`

### 4. Write the Image Prompt for Each Slide

For each slide, write an `image_prompt` (English, regardless of content language) that:
- Describes a **concrete scene**, not an abstract concept
- Includes a **style keyword** consistent across all slides (e.g. "flat vector illustration, soft pastel palette")
- Specifies composition hints matching the layout (e.g. "wide shot, negative space on the right" for `left_img_right_text`)
- Cover and end slides get more dramatic / visually impactful prompts

### 5. Draft Speaker Notes

`speaker_notes` column: 1–3 sentences of what the presenter would say. Leave empty if not requested.

### 6. Output the CSV

Write the storyboard to `storyboard.csv` using `execute_code`:

```python
import csv

rows = [
    # [slide_no, slide_type, title, bullet_points, image_prompt, speaker_notes, layout]
]

header = ["slide_no", "slide_type", "title", "bullet_points", "image_prompt", "speaker_notes", "layout"]

with open("storyboard.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerow(header)
    writer.writerows(rows)
```

Column spec:

| Column | Type | Description |
|--------|------|-------------|
| `slide_no` | int | 1-indexed |
| `slide_type` | str | One of the types above |
| `title` | str | Slide headline, ≤ 10 words |
| `bullet_points` | str | Newline-separated (`\n`). Each ≤ 20 chars. Max 5 items |
| `image_prompt` | str | English prompt for image generation |
| `speaker_notes` | str | Optional presenter notes |
| `layout` | str | One of the layouts above |

### 7. Present for Review

Display the storyboard as a markdown table for the user to review.
Wait for confirmation before the next pipeline step.
If changes requested, update `storyboard.csv` and re-display.

## Pacing Guidelines

- **Opening** (slides 1–2): Hook — cover + bold opening statement or question
- **Body** (slides 3 to N-2): One idea per slide. Alternate `content` and `quote`/`data` to vary rhythm
- **Closing** (slides N-1 to N): Summary of key takeaways + end slide
- Avoid consecutive slides of the same type. Insert a `section` divider between major parts.

## Text Density Rules

- Title: imperative or question form, ≤ 10 words
- Bullets: ≤ 5 per slide, each ≤ 20 characters (CJK) / ≤ 12 words (Latin)
- Prefer fragments over full sentences
- Numbers stand alone: "3x faster" not "It is three times faster"