Install any skill in seconds. Free to start, no credit card required.
Get Started Free →专业Marp演示文稿制作助手。支持完整工作流程:工作空间初始化、内容分析、slides制作、多维度审阅、中文语言规范审阅(中文演示文稿)、PNG转换检查、终稿确定。所有产出物集中管理在项目工作文件夹中。当用户提到"制作slides"、"做PPT"、"演示文稿"、"Marp"、"幻灯片"、"presentation"等关键词时自动启用。Professional Marp presentation assistant with complete workflow: workspace initialization, content analysis, slide creation, multi-dimensional review, Chinese language review (for Chinese presentations), PNG conversion check, and finalization. All outputs organized in project workspace.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 626% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 439% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 614% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 555% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 651% | 0% |
本技能提供系统性多阶段Marp演示文稿制作流程,从工作空间初始化到终稿输出。对于中文演示文稿,额外包含中文语言规范审阅阶段。所有分析报告、初稿、审阅文档、PNG导出和终稿统一保存在项目工作文件夹中,便于管理和追溯。
支持多种主题风格:内置 14 款精选主题,涵盖学术、商务、创意等场景。详见 themes/README.md。
| 原则 | 说明 | 要点 | |------|------|------| | 一页一点 | 每页只讲一个核心观点 | 避免信息过载 | | 视觉层次 | 标题→要点→细节 | 使用粗体、列表、引用区分 | | 留白充足 | 内容不超过页面60% | 给观众呼吸空间 | | 文字精简 | 每页文字不超过8行 | 关键词优于完整句子 |
严格按照以下流程执行,每阶段结束后询问用户确认:
触发:用户请求制作slides时立即执行
执行步骤:
academic-writing、ai-introduction、product-launchbash # 创建主工作文件夹和子目录 mkdir -p slides_[项目名]/{01_analysis,02_drafts,03_reviews,04_exports,05_final}
text slides_[项目名]/ ├── 01_analysis/ # 阶段一:分析报告 │ ├── content-analysis.md # 内容分析报告 │ └── outline.md # Slides大纲 ├── 02_drafts/ # 阶段二:初稿 │ └── presentation.md # Slides初稿 ├── 03_reviews/ # 阶段三:审阅报告 │ ├── content-review.md # 内容审阅 │ ├── format-review.md # 格式审阅 │ ├── density-review.md # 密度审阅 │ ├── visual-review.md # 视觉审阅 │ ├── chinese-review.md # 中文规范审阅(仅中文) │ └── summary.md # 综合审阅报告 ├── 04_exports/ # 阶段四:PNG/HTML导出 │ ├── slide_001.png │ ├── slide_002.png │ └── slides.html ├── 05_final/ # 阶段五:终稿 │ ├── presentation.md # 最终Markdown │ ├── slides.html # HTML版本 │ └── slides.pdf # PDF版本(可选) └── README.md # 项目说明文件
使用 AskUserQuestion 工具让用户选择主题风格:
questions:
header: "主题风格" multiSelect: false options:
description: "适合学术报告、论文答辩,maroon红色标题栏"
description: "仿LaTeX Beamer,适合学术演讲、技术研讨"
description: "Apple发布会风格,适合产品发布、商业演示"
description: "技术分享、教学演示,手写笔记感"
可用主题列表(按场景分类):
| 场景 | 主题选项 | |------|----------| | 学术答辩 | academic, beam, zju | | 技术分享 | graph_paper, beam, turing | | 产品发布 | jobs, gradient | | 企业汇报 | companyLightBlue, companySZ | | 教学演示 | simple, graph_paper, academic | | 创意展示 | gradient, jobs, socrates |
主题文件位置:themes/ 目录下所有 .css 文件
markdown # 项目名] Slides
## 项目信息
## 文件夹说明
01_analysis/ - 内容分析和大纲02_drafts/ - Slides初稿03_reviews/ - 审阅报告04_exports/ - PNG和HTML导出05_final/ - 最终版本## 制作进度
输出:工作文件夹路径、选择的主题名称,告知用户所有产出物将保存在此文件夹中
触发:工作空间创建完成后,用户提供输入文件(PDF、论文、文档、笔记等)
执行步骤:
文件保存:
slides_[项目名]/01_analysis/content-analysis.mdslides_[项目名]/01_analysis/outline.md输出模板:
01_analysis/content-analysis.md:
markdown## 内容分析报告 ### 文档概述 - 主题:[主题] - 类型:[论文/报告/教程/...] - 核心论点:[1-2句话] ### 关键内容提取 1. [关键点1] 2. [关键点2] ...
01_analysis/outline.md:
markdown## Slides大纲(预计X页) 1. 标题页 2. [内容页标题] 3. ...
触发:用户确认内容分析和大纲
执行步骤:
marp-template.mdyaml --- marp: true theme: [用户选择的主题名] ---
themes/README.md不同主题对标题格式有不同要求,制作 slides 时必须根据主题自动调整:
| 主题 | 内容页标题格式 | 说明 | |------|----------------|------| | beam | # (h1) | h1 显示在顶部蓝色条中 | | academic | # (h1) | h1 用于页面标题 | | jobs | # (h1) | h1 有特殊下划线样式 | | graph_paper | ## (h2) | 标准 h2 标题 | | simple | ## (h2) | 标准 h2 标题 | | 其他主题 | ## (h2) | 默认使用 h2 |
beam 主题特殊处理:
# (h1) 会自动显示在顶部蓝色装饰条中<!-- _class: title --> 指令# 标题(不是 ##)markdown --- # 页面标题在蓝色条中
正文内容...
academic/jobs 主题特殊处理:
# (h1) 作为页面标题class: lead 用于特殊页面style 中必须包含以下 CSS,否则图片和表格会左对齐:css /* 图片居中 */ img { display: block !important; margin: 0 auto !important; } /* 表格居中(覆盖主题的 width:100% 和 display:block) */ section table { display: table !important; width: auto !important; margin-left: auto !important; margin-right: auto !important; } > 原因:Marp 基础 CSS 设置 section table { display: block; width: max-content },多数自定义主题又设置 table { width: 100% },两者都会导致表格无法居中。必须用 !important 同时覆盖 display、width 和 margin 三个属性才能生效。marp-template.md 已包含这些样式。
页面类型选择(参考 references/slide-types.md):
文件保存:
slides_[项目名]/02_drafts/presentation.md触发:初稿完成后自动进入
执行方式:使用 Task 工具并行派遣4个专业agent,每个负责一个审阅维度
并行Agent部署:
在单个消息中同时发起4个Task调用,设置 run_in_background=true:Task 工具参数:
- subagent_type: "general-purpose"
- run_in_background: true
- prompt:
你是一个内容审阅专家。请对比审阅slides内容。
## 输入材料
### 用户原始输入文件
[插入用户提供的原始文件内容]
### 用户的具体要求
[插入用户提出的要求和偏好]
### 制作的Slides初稿
[插入presentation.md内容]
## 审阅任务
1. **完整性检查**:
- 原始材料中的核心论点是否都已体现?
- 是否有重要信息被遗漏?
- 列出遗漏的关键内容
2. **准确性检查**:
- slides内容是否准确反映原始材料?
- 是否有曲解或过度简化?
- 数据和事实是否正确转述?
3. **用户要求符合度**:
- 是否满足用户提出的具体要求?
- 风格和重点是否符合用户期望?
- 列出未满足的要求
4. **逻辑流检查**:
- 叙事顺序是否合理?
- 各页之间过渡是否自然?
- 整体结构是否清晰?
## 输出格式
### 内容审阅报告
#### 完整性评估
- 评分:[A/B/C/D]
- 遗漏内容:[列表]
#### 准确性评估
- 评分:[A/B/C/D]
- 问题页面:[页码和问题描述]
#### 用户要求符合度
- 评分:[A/B/C/D]
- 未满足要求:[列表]
#### 逻辑流评估
- 评分:[A/B/C/D]
- 建议调整:[具体建议]
#### 需修改页面清单
| 页码 | 问题类型 | 问题描述 | 修改建议 |
|------|----------|----------|----------|
| ... | ... | ... | ... |Task 工具参数:
- subagent_type: "general-purpose"
- run_in_background: true
- prompt:
你是一个Marp格式审阅专家。请检查slides的格式规范性。
## Slides内容
[插入presentation.md内容]
## 审阅任务
1. **YAML Frontmatter检查**:
- marp: true 是否存在?
- theme 是否正确设置?
- header/footer 是否配置?
- style 块语法是否正确?
2. **分页符检查**:
- `---` 分页符是否正确使用?
- 是否有多余或缺失的分页符?
- 分页符前后是否有空行?
3. **Markdown语法检查**:
- 标题层级是否正确(#, ##, ###)?
- 列表格式是否统一?
- 粗体、斜体语法是否正确?
- 引用块语法是否正确?
- 代码块是否正确闭合?
4. **缩进和空行检查**:
- 缩进是否一致?
- 空行使用是否规范?
- 是否有多余的空白字符?
## 输出格式
### 格式审阅报告
#### 语法正确性
- 评分:[A/B/C/D]
- 语法错误:[列表,含行号]
#### 格式一致性
- 评分:[A/B/C/D]
- 不一致处:[列表]
#### 需修正项
| 行号 | 问题类型 | 原内容 | 建议修正 |
|------|----------|--------|----------|
| ... | ... | ... | ... |Task 工具参数:
- subagent_type: "general-purpose"
- run_in_background: true
- prompt:
你是一个slides内容密度审阅专家。请逐页检查内容密度。
## Slides内容
[插入presentation.md内容]
## 密度标准
| 指标 | 安全值 | 警告值 | 危险值 |
|------|--------|--------|--------|
| 每页文字行数 | ≤6行 | 7-8行 | >8行 |
| 每行字符数 | ≤35字符 | 36-45字符 | >45字符 |
| 列表项数量 | ≤5项 | 6项 | >6项 |
| 嵌套列表深度 | 1层 | 2层 | >2层 |
| 段落长度 | ≤2行 | 3行 | >3行 |
## 审阅任务
逐页分析:
1. 统计每页的文字行数
2. 检查最长行的字符数
3. 统计列表项数量
4. 检查是否有过长段落
5. 评估整体视觉密度
## 输出格式
### 密度审阅报告
#### 逐页密度分析
| 页码 | 行数 | 最长行 | 列表项 | 密度评级 | 状态 |
|------|------|--------|--------|----------|------|
| 1 | X | X字符 | X项 | 低/中/高 | ✓/⚠/✗ |
| 2 | ... | ... | ... | ... | ... |
#### 高密度页面(需处理)
- 第X页:[问题描述],建议:[拆分/精简/重组]
- ...
#### 拆分建议
对于需要拆分的页面,提供具体拆分方案:
- 第X页 → 拆分为 X-1 和 X-2
- X-1 内容:...
- X-2 内容:...Task 工具参数:
- subagent_type: "general-purpose"
- run_in_background: true
- prompt:
你是一个slides视觉设计审阅专家。请检查视觉层次和设计规范。
## Slides内容
[插入presentation.md内容]
## 审阅任务
1. **标题层次检查**:
- 每页是否有清晰的标题?
- 标题层级使用是否合理?
- h1用于分隔页,h2用于内容页?
2. **强调元素检查**:
- 粗体是否用于关键词/要点?
- 引用块是否用于重要引语?
- 强调是否过度(全篇都是粗体)?
3. **视觉焦点检查**:
- 每页是否有明确的视觉焦点?
- 信息层次是否清晰?
- 是否有页面过于平淡或过于杂乱?
4. **一致性检查**:
- 相似内容的页面格式是否统一?
- 列表符号是否一致?
- 整体风格是否协调?
## 输出格式
### 视觉审阅报告
#### 标题层次
- 评分:[A/B/C/D]
- 问题页面:[列表]
#### 强调使用
- 评分:[A/B/C/D]
- 改进建议:[列表]
#### 视觉焦点
- 评分:[A/B/C/D]
- 需优化页面:[列表]
#### 一致性
- 评分:[A/B/C/D]
- 不一致处:[列表]
#### 需修改页面清单
| 页码 | 问题 | 建议 |
|------|------|------|
| ... | ... | ... |汇总审阅结果:
使用 TaskOutput 工具收集4个agent的报告,整合为统一的审阅报告。
文件保存:
slides_[项目名]/03_reviews/content-review.mdslides_[项目名]/03_reviews/format-review.mdslides_[项目名]/03_reviews/density-review.mdslides_[项目名]/03_reviews/visual-review.mdslides_[项目名]/03_reviews/summary.md综合审阅报告模板 (03_reviews/summary.md):
markdown## 综合审阅报告 ### 各维度评分 | 维度 | 评分 | 主要问题 | |------|------|----------| | 内容 | [A-D] | [概述] | | 格式 | [A-D] | [概述] | | 密度 | [A-D] | [概述] | | 视觉 | [A-D] | [概述] | ### 需修改页面汇总 [按页码整合所有agent的修改建议] ### 优先处理项 1. [最重要的问题] 2. [次重要的问题] ...
输出:综合审阅报告,按优先级排列的修改清单
触发:多维度审阅完成后,如果是中文演示文稿则执行此阶段
执行方式:使用 Task 工具派遣 subagent 执行
Subagent 调用指令:
text使用 Task 工具,设置 subagent_type="general-purpose",prompt 内容如下: 你是一个中文语言规范专家。请对以下Marp Slides进行逐页审阅,确保符合中文书写规范和演示文稿语言习惯: [插入 slides_[项目名]/02_drafts/presentation.md 的内容] 审阅要求: 1. **标点符号检查**: - 必须使用中文标点:。,?!:;“” ‘’()……—— - 禁止使用英文标点:. , ? ! : ; ""'' () ... -- - 列表项末尾可省略句号 - 标题末尾不加标点 2. **引号使用规范**(重要): - 原则:Slides中能不用引号就不用,让文字更简洁 - 删除不必要的引号,例如: - ✗ 这就是所谓的"核心概念" → ✓ 这就是核心概念 - ✗ AI的"智能"表现 → ✓ AI的智能表现 - 仅在以下情况保留引号: - 直接引语(如:他说:"……") - 表示反讽或特殊含义 - 专有名词首次出现且需要解释 3. **语言习惯检查**: - 避免欧化句式(如"被"字句滥用) - 避免翻译腔 - 删除冗余表达(Slides需要极简文字) - 使用自然的中文表达顺序 - 避免长句,每个要点保持简短 4. **中英文混排规范**: - 中文与英文/数字之间加空格(如:Claude Code 是工具) - 全角标点与英文之间不加空格 - 技术术语保持一致(如:API、SDK 等全文统一) 5. **Slides特有检查**: - 标题是否简洁有力 - 要点是否用词精准 - 是否避免了口语化表达 - 专业术语是否一致 输出格式: ## 中文规范审阅报告 ### 标点符号修正 | 页码 | 原文 | 修正后 | |------|------|--------| | ... | ... | ... | ### 引号精简 | 页码 | 修改内容 | |------|----------| | ... | 删除"xxx"的引号 | ### 表达优化 | 页码 | 原表达 | 优化后 | |------|--------|--------| | ... | ... | ... | ### 中英文混排修正 | 页码 | 原文 | 修正后 | |------|------|--------| | ... | ... | ... | ### 修正后的完整Slides [输出完成所有修正的Slides内容]
文件保存:
slides_[项目名]/03_reviews/chinese-review.md后续处理:
slides_[项目名]/02_drafts/presentation.md触发:审阅修改完成后
执行步骤:
bash # 从02_drafts读取初稿,导出到04_exports marp slides_[项目名]/02_drafts/presentation.md -o slides_[项目名]/04_exports/slides.html --html marp slides_[项目名]/02_drafts/presentation.md --images png -o slides_[项目名]/04_exports/
使用 Task 工具并行派遣多个 subagent,每个检查一组页面:
text 使用 Task 工具,设置 subagent_type="general-purpose",run_in_background=true
派遣多个agents(根据总页数,每个agent检查3-5页):
Agent 1: 检查第1-5页 Agent 2: 检查第6-10页 Agent 3: 检查第11-15页 ...
每个Agent的prompt:
你是一个slides视觉质量检查专家。请检查以下PNG图片:
使用Read工具读取 slides_项目名]/04_exports/ 中对应的PNG文件]
检查要点:
输出格式: ## 页面检查报告
### 第X页
文件保存位置:
slides_[项目名]/04_exports/slides.htmlslides_[项目名]/04_exports/presentation.001.png, presentation.002.png, ...触发:收到所有页面检查报告
执行步骤:
使用 Edit 工具修改 slides_[项目名]/02_drafts/presentation.md,针对每个问题:
04_exports/将修复后的文件复制到 05_final/ 并导出最终版本:
bash # 复制终稿Markdown cp slides_项目名]/02_drafts/presentation.md slides_项目名]/05_final/presentation.md
# 导出最终HTML(带自定义主题) npx @marp-team/marp-cli slides_项目名]/05_final/presentation.md -o slides_项目名]/05_final/slides.html --html --theme-set ./themes/
使用 marp-cli 导出 PDF 和 PowerPoint 格式:
bash # 导出 PDF 版本 npx @marp-team/marp-cli slides_项目名]/05_final/presentation.md -o slides_项目名]/05_final/slides.pdf --theme-set ./themes/ --allow-local-files
# 导出可编辑的 PowerPoint (PPTX) 版本 npx @marp-team/marp-cli slides_项目名]/05_final/presentation.md -o slides_项目名]/05_final/slides.pptx --pptx-editable --theme-set ./themes/ --allow-local-files
导出说明:
--allow-local-files:允许加载本地图片和资源--theme-set ./themes/:加载自定义主题目录--pptx-editable:导出可编辑的 PPTX(需要系统安装 LibreOffice)注意:--pptx-editable 需要系统安装 LibreOffice Impress。如未安装,可使用 Homebrew 安装: bash brew install --cask libreoffice
更新 slides_[项目名]/README.md 中的进度,标记所有阶段为完成。
终稿文件位置:
slides_[项目名]/05_final/presentation.mdslides_[项目名]/05_final/slides.htmlslides_[项目名]/05_final/slides.pdfslides_[项目名]/05_final/slides.pptx输出:终稿文件路径(包含 HTML、PDF、PPTX 三种格式)和制作摘要
原因:单页内容过多
解决方案:
markdown ## 原始页面:五个要点
拆分为:
## 要点概览(1/2)
---
## 要点概览(2/2)
解决方案:
解决方案:
模板文件 marp-template.md 包含:
修改Header/Footer:
yamlheader: '你的课程/演讲标题' footer: "讲座标题 | 机构名称"
marp-template.md - Marp模板文件references/slide-types.md - 页面类型详解references/review-checklist.md - 审阅检查清单themes/README.md - 主题说明文档themes/*.css - 14款精选主题文件bash# 预览初稿(启动本地服务器,加载自定义主题) npx @marp-team/marp-cli -s slides_[项目名]/02_drafts/presentation.md --theme-set ./themes/ # 导出初稿到04_exports(使用自定义主题) npx @marp-team/marp-cli slides_[项目名]/02_drafts/presentation.md -o slides_[项目名]/04_exports/slides.html --html --theme-set ./themes/ npx @marp-team/marp-cli slides_[项目名]/02_drafts/presentation.md --images png -o slides_[项目名]/04_exports/ --theme-set ./themes/ # 导出终稿到05_final(HTML) npx @marp-team/marp-cli slides_[项目名]/05_final/presentation.md -o slides_[项目名]/05_final/slides.html --html --theme-set ./themes/ # 导出终稿 PDF 版本 npx @marp-team/marp-cli slides_[项目名]/05_final/presentation.md -o slides_[项目名]/05_final/slides.pdf --theme-set ./themes/ --allow-local-files # 导出终稿可编辑 PowerPoint (PPTX) 版本 npx @marp-team/marp-cli slides_[项目名]/05_final/presentation.md -o slides_[项目名]/05_final/slides.pptx --pptx-editable --theme-set ./themes/ --allow-local-files
参数说明:
| 参数 | 说明 | |------|------| | --theme-set ./themes/ | 加载本地 themes 文件夹中的所有主题 | | --allow-local-files | 允许加载本地图片和资源(PDF/PPTX 导出必需) | | --pptx-editable | 导出可编辑的 PPTX(需要 LibreOffice) | | --html | 启用 HTML 标签支持 | | -s | 启动预览服务器 | | --images png | 导出为 PNG 图片序列 |
导出格式说明:
| 格式 | 用途 | 文件扩展名 | |------|------|-----------| | HTML | 网页展示、在线分享 | .html | | PDF | 打印、正式分发 | .pdf | | PPTX | PowerPoint/Keynote 编辑 | .pptx | | PNG | 图片预览、质量检查 | .001.png, .002.png, ... |
Other measured skills in the registry, with their headline benchmark lift.