Skill: fuller-stack-dev/marp-slides (version 1.0.0)

--- name: marp-slides description: Turn docs, notes, data, logs, screenshots, and code summaries into polished Marp slide decks. homepage: https://marp.app metadata: { "openclaw": { "emoji": "📊", "requires": { "bins": ["marp"] }, "install": [{ "id": "node-marp", "kind": "node", "package": "@marp-team/marp-cli", "bins": ["marp"], "label": "Install Marp CLI (node)" }] } } --- # Marp Slide Show/Deck Generator ## Overview Generate polished Marp slide decks from raw source material, then render them into the format the user wants. Focus on turning notes, data, and mixed inputs into a presentation with a clear takeaway, not a transcript dump. If the user does not specify an output format, default to a rendered `.html` slideshow and also keep the `.slides.md` source deck. ## Input Scope This skill should work from almost any information that can be summarized into a presentation, including: - notes, docs, reports, and memos - tables, CSV, JSON, YAML, and metrics - logs, transcripts, timelines, and research notes - architecture docs, design docs, plans, and RFCs - code snippets, API descriptions, and technical change summaries - screenshots, images, and mixed structured + unstructured inputs ## Workflow 1. Identify the audience, purpose, and takeaway. 2. Determine the requested output format from the user prompt, target filename, or explicit extension. 3. If no format is specified, default to `.html`. 4. Classify the input: numeric data, tabular data, text notes, logs, timeline, comparison, screenshots, code summary, or mixed. 5. Extract the few facts that matter most. 6. Choose a slide arc: title, context, key insights, supporting visuals, recommendation, close. 7. Build the source deck as Marp markdown, typically named `*.slides.md`. 8. Add visual structure with charts, diagrams, timelines, callouts, and section slides where useful. 9. Render the deck into the requested format with the installed `marp` CLI. 10. Verify the rendered deck in its target aspect ratio and confirm that no slide content is cropped or vertically cut off. ## Output Rules - Accept any source material that can be turned into a coherent presentation. - Supported rendered outputs are `.html` (default), `.pdf`, `.pptx`, notes text, single-slide `.png` / `.jpeg`, and multi-slide image export. - Unless the user explicitly asks for markdown only, produce a rendered artifact. - If the user does not specify a format, render `.html` by default. - Keep the Marp source deck as `*.slides.md` when rendering to another format. - If the user asks for multiple formats, render all requested formats from the same `*.slides.md` source. - If the user asks for an unsupported format, ask one short question or offer the closest supported option. - Use direct `marp` CLI commands for rendering. - Use a strong title slide, then 4 to 8 content slides by default. - Keep one idea per slide. - Convert tables into short bullets or focused comparison slides when possible. - Use numbers, percentages, trends, and deltas instead of vague summaries. - Prefer short headers, short bullets, and purposeful whitespace. - Include speaker-friendly structure if the user wants notes. - If a slide is close to overflowing, split it into two slides instead of shrinking it until it becomes hard to read. - Avoid combining large tables, multi-card layouts, and large callouts on the same slide unless you have confirmed the rendered slide still fits. ## Visual Patterns - Use `mermaid` for flows, timelines, funnels, and simple system diagrams. - Use comparison tables only when they improve readability. - Use callout boxes for key takeaways. - Use section divider slides for long decks. - Use a consistent palette and avoid clutter. - Favor simple, high-contrast layouts over dense decoration. ## Deck Shape - Title slide - Context slide - Insight slides - Visual proof slides - Recommendation or summary slide - Optional appendix ## Quality Check - Does the deck answer the user’s question fast? - Is each slide visually scannable? - Are the main numbers and conclusions obvious? - Does the deck feel designed, not auto-generated? - Does every rendered slide fit fully in-frame with no clipped bottom content or hidden overflow? ## Resources See `references/slide-patterns.md` for slide archetypes, visual rules, and mapping guidance. See `references/output-formats.md` for supported output formats, default behavior, and render commands. ### references/ Use references for reusable guidance on slide structure and visual decisions. ### assets/ No bundled assets are required for this skill. --- Keep the deck concise, visual, and specific.

path: references/output-formats.md
content: # Marp Output Formats

## Default Behavior

- If the user does not specify an output format, render the deck as `.html`.
- Keep the editable source deck as `*.slides.md`.
- If the user explicitly asks for markdown only, stop at `*.slides.md`.
- Use the installed `marp` CLI as the render entrypoint.

## Supported Outputs

### HTML slideshow (default)

Use when:

- the user says "slideshow", "deck", or "presentation" without naming a format
- the user wants an easy-to-open interactive artifact

Command:

```bash
marp input.slides.md -o output.slides.html
```

### PDF

Use when:

- the user wants a shareable static deck
- they need easy printing or offline review

Command:

```bash
marp input.slides.md --pdf -o output.slides.pdf
```

### PowerPoint

Use when:

- the user wants a presentation file for slide software

Command:

```bash
marp input.slides.md --pptx -o output.slides.pptx
```

Optional editable mode:

```bash
npx --yes @marp-team/marp-cli input.slides.md --pptx --pptx-editable -o output.slides.pptx
```

Note: use standard `.pptx` export unless the user specifically asks for editable PowerPoint output.

### Notes text

Use when:

- the user wants presenter notes or a text extract of slide notes

Command:

```bash
marp input.slides.md --notes -o output.notes.txt
```

### Single-slide image

Use when:

- the user wants a cover slide or preview image

Commands:

```bash
marp input.slides.md --image png -o output.png
marp input.slides.md --image jpeg -o output.jpeg
```

### One image per slide

Use when:

- the user wants each slide exported separately for chat, docs, or embeds

Commands:

```bash
marp input.slides.md --images png -o output-dir/
marp input.slides.md --images jpeg -o output-dir/
```

## Format Selection Rules

Choose format in this order:

1. Explicit user request, like `.pdf`, `.pptx`, `PNG`, or `notes`
2. Explicit output filename or extension
3. Delivery context if the user clearly asks for multiple render targets
4. Default to `.html` if nothing else is specified

## Suggested Source + Output Naming

- Source deck: `name.slides.md`
- Default render: `name.slides.html`
- PDF: `name.slides.pdf`
- PPTX: `name.slides.pptx`
- Notes: `name.notes.txt`

## Delivery Guidance

- When producing a rendered artifact, mention both the source `*.slides.md` and the rendered output path.
- If the user asks for multiple outputs, render from the same source deck rather than maintaining separate slide variants.
- If a requested format is unsupported by Marp CLI, ask a short clarification question or offer the nearest supported format.
- If `marp` is unavailable, install `@marp-team/marp-cli` before rendering.


path: references/slide-patterns.md
content: # Marp Slide Patterns

## Principles

- Summarize, do not transcribe.
- Lead with the answer.
- Use visual hierarchy before decoration.
- Prefer fewer slides with clearer claims.

## Suggested Deck Flow

1. Title and framing
2. What the data says
3. Why it matters
4. Evidence and visuals
5. Actions or conclusion

## Visual Choices

- Use Mermaid for process, sequence, and relationship diagrams.
- Use sparing color accents to highlight deltas, risks, and wins.
- Use short callouts for the strongest insight on each slide.
- Use comparison slides for before/after or option tradeoffs.
- If a slide starts to crowd vertically, split the content across multiple slides rather than shrinking typography too far.
- Render-check the deck before delivery; Marp source that looks fine in Markdown can still overflow in the final slide frame.

## Input Mapping

- CSV or tables: extract trends, outliers, and comparisons.
- JSON or logs: group events, count patterns, and summarize anomalies.
- Research notes: cluster themes, then present the top findings.
- Mixed data: normalize into a few clear claims before drafting slides.

## Slide Writing

- Title: outcome, not topic.
- Bullets: short, concrete, and parallel.
- Captions: explain the visual in one sentence.
- Closing: say what to do next.
- One dense visual plus one short callout is usually the upper limit for a single slide.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)