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".
Convert any markdown text into a structured storyboard CSV — the universal handoff format for downstream tools (slide builders, video editors, image generators).
Read the markdown and identify:
Prompt for (defaults in parentheses):
If user declines to specify, use defaults and proceed.
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
For each slide, write an image_prompt (English, regardless of content language) that:
left_img_right_text)speaker_notes column: 1–3 sentences of what the presenter would say. Leave empty if not requested.
Write the storyboard to storyboard.csv using execute_code:
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 |
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.
content and quote/data to vary rhythmsection divider between major parts.Edit PDFs with natural-language instructions using the nano-pdf CLI.