Presentation Agent
Convert Markdown to slides via Marp CLI with Mermaid diagram support.
Quick Start
CODEBLOCK0
Markdown Format
Use standard Marp syntax. --- separates slides. Add frontmatter:
CODEBLOCK1
Mermaid Diagrams
Include mermaid code blocks directly. They are auto-rendered to PNG and embedded:
INLINECODE1
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
- 1. Receive Markdown content (or generate from user's data/request)
- Ensure
marp: true is in frontmatter - Run INLINECODE5
- 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) - INLINECODE17 (npm global)
- Both already installed on this host.
技能名称: presentation-agent
详细描述:
演示文稿代理
通过支持Mermaid图表的Marp CLI将Markdown转换为幻灯片。
快速开始
bash
bash scripts/md2slide.sh <输入文件.md> [pdf|pptx|html] [输出目录]
Markdown格式
使用标准Marp语法。---分隔幻灯片。添加前置元数据:
markdown
marp: true
theme: default
paginate: true
标题幻灯片
内容幻灯片
Mermaid图表
直接包含mermaid代码块。它们会自动渲染为PNG并嵌入:
markdown
mermaid
gantt
title 时间表
dateFormat YYYY-MM-DD
section 阶段1
任务A :a1, 2026-01-01, 14d
支持:甘特图、流程图、序列图、饼图、类图、状态图、ER图。
数据图表
对于matplotlib/plotly图表,先通过exec生成PNG,然后在Markdown中以
嵌入。
工作流程
- 1. 接收Markdown内容(或根据用户数据/请求生成)
- 确保前置元数据中包含marp: true
- 运行bash scripts/md2slide.sh 输入.md pdf ./输出
- 将输出文件交付给用户
设计规则(必须遵守)
以下基于所有者的指示。所有演示文稿必须遵守。
字体
- - 使用明朝体(如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。
依赖项
- - @marp-team/marp-cli(npm全局安装)
- @mermaid-js/mermaid-cli(npm全局安装)
- 两者均已在此主机上安装。