Loading...
Loading...
Creates polished Marp slide decks through an interview-driven workflow. Use when the user wants to create a presentation, build slides, or make a deck. Interviews the user first (goal, audience, key points, data, constraints), then generates structured Marp Markdown with gradient section dividers, breadcrumb navigation, consistent formatting, and automatic HTML/PPTX export.
npx skill4agent add omerr/claude-skills create-marp-deck---
marp: true
theme: default
paginate: true
size: 16:9
---<style>linear-gradient(135deg, #1e3a5f 0%, #2d5a8e 100%)linear-gradient(135deg, #064e3b 0%, #047857 100%)linear-gradient(135deg, #7a4a1a 0%, #a66b2e 100%)linear-gradient(135deg, #3d1e5c 0%, #5a2d8e 100%)linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%)<style>
section {
font-size: 22px;
}
table {
font-size: 18px;
}
blockquote {
font-size: 22px;
}
pre {
font-size: 16px;
}
header {
font-size: 14px;
color: #999;
}
header strong {
color: #2563eb;
}
section.title-slide {
background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
}
section.part-FIRST,
section.part-SECOND,
section.part-THIRD,
section.title-slide {
--h1-color: #fff;
--heading-strong-color: #fff;
--fgColor-default: rgba(255, 255, 255, 0.95);
--fgColor-muted: rgba(255, 255, 255, 0.7);
color: white;
}
section.part-FIRST {
background: linear-gradient(135deg, #1e3a5f 0%, #2d5a8e 100%);
}
section.part-SECOND {
background: linear-gradient(135deg, #064e3b 0%, #047857 100%);
}
section.part-THIRD {
background: linear-gradient(135deg, #3d1e5c 0%, #5a2d8e 100%);
}
</style>FIRSTSECONDTHIRDpart-contextpart-resultspart-summary<!-- _class: lead title-slide -->
# Main Title
## Subtitle
**Key detail 1**: value
**Key detail 2**: value
**Date**: Month Year<!-- _class: lead title-slide -->
# Agenda
### Part 1: Name
Short description
### Part 2: Name
Short description
### Part 3: Name
Short description<!-- _header: "" -->
<!-- _class: lead part-NAME -->
# Part N: Section title
**One-line description**<!-- header: "**Active section** > Other section > Other section" -->
# Slide title
Content here**bold**<!-- _header: "" -->--->npx @marp-team/marp-cli@latest --no-stdin FILENAME.md -o FILENAME.html
npx @marp-team/marp-cli@latest --no-stdin --pptx FILENAME.md -o FILENAME.pptx--no-stdin# PPTX - editable text (experimental, requires LibreOffice)
npx @marp-team/marp-cli@latest --no-stdin --pptx --pptx-editable --allow-local-files FILENAME.md -o FILENAME-editable.pptx
python3 -c "
from pptx import Presentation
from pptx.util import Emu
prs = Presentation('FILENAME-editable.pptx')
margin = Emu(747720)
for slide in prs.slides:
for shape in slide.shapes:
if shape.has_text_frame and shape.shape_type == 17:
tf = shape.text_frame
if not tf.text.strip() or tf.text.strip().isdigit():
continue
font_size = None
if tf.paragraphs and tf.paragraphs[0].runs:
font_size = tf.paragraphs[0].runs[0].font.size
if not font_size:
continue
new_width = prs.slide_width - margin - shape.left
if new_width > shape.width:
shape.width = new_width
min_height = int(font_size * 1.4) * 2
if shape.height < min_height:
shape.height = min_height
tf.word_wrap = True
prs.save('FILENAME-editable.pptx')
"--allow-local-files--pptx-editable--no-stdin