Presentation Agent
Convert Markdown to slides via Marp CLI with Mermaid diagram support.
Quick Start
bash scripts/md2slide.sh <input.md> [pdf|pptx|html] [output_dir]
Markdown Format
Use standard Marp syntax. --- separates slides. Add frontmatter:
---
marp: true
theme: default
paginate: true
---
# Title Slide
---
## Content Slide
- Point 1
- Point 2
Mermaid Diagrams
Include mermaid code blocks directly. They are auto-rendered to PNG and embedded:
```mermaid
gantt
title Schedule
dateFormat YYYY-MM-DD
section Phase1
Task A :a1, 2026-01-01, 14d
```
Supported: gantt, flowchart, sequence, pie, class, state, er diagrams.
Data Graphs
For matplotlib/plotly graphs, generate PNG first via exec, then embed as  in the Markdown.
Workflow
- Receive Markdown content (or generate from user's data/request)
- Ensure
marp: trueis in frontmatter - Run
bash scripts/md2slide.sh input.md pdf ./output - Deliver the output file to the user
デザインルール(必須)
以下はオーナーからの指示に基づく。全プレゼンで必ず守ること。
フォント
- 明朝体を使う(IPAex明朝等)。ゴシック体はデフォルトで使わない。
- Google Fontsなどのリモートフォントはmarp PDF変換時に読み込めない。ローカルにインストール済みのフォントのみ使用すること。
- フォントサイズは十分に大きくする(本文30px以上、h1は50px以上、h2は40px以上)。
絵文字
- スライド内で絵文字を使わない。 タイトル・見出し・本文すべて。
ロゴ
theme/logo.jpgを全スライド右上に表示する(frexida.cssのsection::before)。- ロゴサイズは120px以上にする。小さすぎると見えない。
- PDF変換時にロゴが読み込まれるよう、CSSの
background-image: url()には絶対パスを使うこと。
テーマ
theme/frexida.cssを基本テーマとして使う(ネイビー+ゴールド)。- PDF変換時は
--themeオプションでCSSを指定し、--allow-local-filesを付ける。 - frexida.cssのfont-familyをローカル明朝体に差し替えたCSS(絶対パス版)を
/tmp/に生成して使う。
データの可視化
- 具体的な日付・金額・数値がある場合はできる限り図で可視化する。
- Mermaidのガントチャート、フローチャート、円グラフ、遷移図などを積極的に使う。
- テーブルだけで済ませず、視覚的にわかるようにすること。
Mermaidプリプロセス
- Mermaidブロックを含むMarkdownは、必ず
scripts/mermaid_preprocess.pyでPNGに変換してからmarpに渡す。 - 出力先ディレクトリは事前に
mkdir -pすること(スクリプト内で作成されない)。
md2slide.sh使用時の注意
- stdinを読もうとしてハングするため、直接marpコマンドを
--no-stdin付きで実行するか、< /dev/nullを付けること。
Dependencies
@marp-team/marp-cli(npm global)@mermaid-js/mermaid-cli(npm global)- Both already installed on this host.