| name | marp-slides |
| description | Creates MARP presentation decks (.md files rendered to PDF/HTML/PPTX via marp CLI) with custom CSS themes, SVG inline charts, dashboard components, and speaker notes. Use when asked to create slides, build a deck, make a presentation, generate MARP output, design a theme, edit existing slides, or convert content into a slide format. Also handles read/summarize requests on existing MARP files. Do NOT use for standalone image generation, static infographics, or PowerPoint requests with no MARP involvement. |
| version | 3 |
| updated | "2026-04-11T00:00:00.000Z" |
MARP Slides
Startup
- Read
references/learnings.md — summarize the 3 most relevant bullets for this task
- Detect mode from the request (see Mode Selector)
Mode Selector
| Request signals | Mode |
|---|
| "create", "build", "make slides", "new deck", "presentation" | A: Create |
| "edit", "update", "change slide N", "revise", "fix" | B: Edit |
| "theme only", "CSS only", "just the styles", "color palette" | C: Theme |
| "convert from", "turn this into slides", "import", "use this outline" | D: Convert |
| "summarize this deck", "what does this cover", "read this marp" | E: Read |
Mode A: Create
A1. Intake (ask all at once in a single message)
Present these 4 questions before generating anything:
- Topic + purpose — what is the deck about, and who is the audience?
- Slide count — how many slides? (if unsure, apply word-count heuristic from
references/quality-rules.md)
- Theme — dark (default) or light? Describe a vibe or brand if relevant.
- Brand context — use existing brand colors/logo? (if yes, read your brand guidelines file)
Wait for reply before continuing.
Why: Generating before intent is locked is the #1 source of wasted cycles in deck authoring. The 4-question intake costs one round-trip and saves 3–5 regeneration loops.
A2. Theme + outline
- Select theme using signal-to-theme mapping table in
references/themes.md
- Draft a slide-by-slide outline: slide title, one key idea, layout type, visual element planned
- Present 3 layout direction options (e.g. minimal / data-heavy / editorial) — not full decks, just 3-slide skeleton previews as markdown
- Wait for user to approve direction or request changes before generating the full deck
A3. Generate
- Read
references/components.md for SVG chart and component patterns
- Read
references/layout-patterns.md for rotation rules and composition guidelines
- Read 2–3 examples from
examples/ that most closely match the approved style
- Generate the full
.md MARP file
Hard rules during generation (enforce silently — do not annotate violations):
- Use
- for list items, never * (asterisks trigger animation mode in Marp live preview)
- Rotate layout type every 2–3 slides — same template 3x in a row = quality failure
- Titles ≤35 characters; bullets ≤6 per slide; one key idea per slide
- Put context and detail in speaker notes (
<!-- note: ... -->), not on slides
- Never add decorative accent lines directly under slide titles (telltale AI pattern)
- SVG backgrounds: always
contain, never cover (cover crops charts at edges)
A4. QA self-review
- Load
references/quality-rules.md — run SlideGauge checklist against the generated deck
- Fix any slide that fails silently
- Report only if a slide required significant structural redesign
A5. Output + export
- Save to
presentations/[slug].md (or user-specified path)
- Verify
.marprc.yml exists at the project root — create from template in references/cli-guide.md if missing
- Show the relevant export commands from
references/cli-guide.md
Mode B: Edit
- Read the existing
.md file — parse slide boundaries (---)
- Identify the target slide(s) from the request
- Apply edits; re-check modified slides against
references/quality-rules.md
- Confirm layout rotation rule is not broken across surrounding slides
Mode C: Theme
- Ask: brand colors? target mood? dark or light base?
- Build CSS using 60-30-10 color rule and WCAG AA contrast — see
references/themes.md
- Present 3 palette directions before committing
- Save theme CSS with
/* @theme name */ header comment (required for CLI recognition)
Mode D: Convert
- Parse input format (plain text, outline, bullet list, document)
- Determine slide boundaries by topic/section shift, not by line breaks
- Generate MARP
.md applying Mode A generation rules
- Run A4 QA self-review
Mode E: Read
- Load the
.md file
- Parse slides, speaker notes, and frontmatter
- Return: slide count, theme used, key idea per slide, layout types, SlideGauge quality flags
Closing Feedback Gate
After final output, ask once: "Did this produce what you needed? Any corrections or preferences I should remember?"
Route the response:
| User says | Destination |
|---|
| Behavioral ("don't do X", "I prefer Y") | Append to references/learnings.md |
| Factual exception ("the flag is actually Z") | Append to references/edge-cases.md |
| "Never do X again" | Add rule to this SKILL.md |
| Explicit approval / "this was perfect" | Save output to examples/approved/ |
| No response / "looks good" | Do nothing |