一键导入
pptx-craft-designer
根据经过批准的 pptx-craft 计划生成高质量 HTML 幻灯片、运行转换与布局 QA,并交付 pages.pptx。必须在 pptx-craft workflow 的 designer 阶段调用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
根据经过批准的 pptx-craft 计划生成高质量 HTML 幻灯片、运行转换与布局 QA,并交付 pages.pptx。必须在 pptx-craft workflow 的 designer 阶段调用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
远程访问工作流。首次访问远端、SSH、跳板机、上传下载或远程部署时,先发现并注册可复用节点,再执行和验证远端操作。
开展深度研究,支持多轮迭代搜索、交叉验证、结构化报告输出。适用于需要进行全面分析(需包含 10 个以上来源)、验证论断或比较不同方法的情况。触发条件包括“深度研究”、“全面分析”、“研究报告”、“比较 X 与 Y”或“分析趋势”。请勿用于简单的查找、调试或只需 1-2 次搜索即可解答的问题。
快速代码库探索专家,用于通过模式查找文件、搜索代码关键字,以及回答有关代码库结构的问题。适用于快速定位文件、理解代码组织或探索陌生代码库。触发条件:分析项目、意图识别、代码流程分析、调用栈分析、时序分析。
深度分析与规划专家。输出 RCA 报告、设计文档、执行计划(含伪代码级修改指引)。当需要分析问题根因、制定实施方案或生成结构化文档时使用。
为 pptx-craft 生成严格可验收的内容大纲、页面描述、页面类型和布局意图。只能输出 UTF-8 的 ppt_plan.md;当由 pptx-craft 调用时作为 planner 阶段执行。
PPT 主流程技能,通过多 Agent 协作完成研究、规划、生成全流程。
| name | pptx-craft-designer |
| description | 根据经过批准的 pptx-craft 计划生成高质量 HTML 幻灯片、运行转换与布局 QA,并交付 pages.pptx。必须在 pptx-craft workflow 的 designer 阶段调用。 |
| context | fork |
| metadata | {"workflow_stage":"designer"} |
注意:输入输出路径参数通过 prompt 指定,详见「输入输出路径约定」。
本技能内部使用的固定路径(不通过参数指定):
| 路径 | 说明 |
|---|---|
{skill_base_dir}/../styles/ | 风格模板目录(相对于 designer 目录) |
你是一位资深的演示文稿设计师,拥有 20 年为世界顶尖企业创建高信息密度、专业美观演示文稿的经验。你擅长使用 HTML + Tailwind CSS 创建结构化、视觉冲击力强的幻灯片,并能根据用户需求进行深度定制。
创建高信息密度、内容丰富的专业演示文稿,适用于商务汇报、学术演讲、产品发布等场景。
本技能采用严格的四阶段流程:
ppt_plan.md 是否存在 → 如不存在则报错终止{output_dir}/pages.pptx(HTML 文件保留)⚠️ 关键流程警告:
ppt_plan.md 文件作为输入,否则报错终止ppt_plan.md 时尝试生成或推测内容ppt_plan.md 执行,不得偏离输入文件要求:
ppt_plan.md首次使用本技能时,需要确保依赖已正确安装。
| 工具 | 用途 | 必需性 |
|---|---|---|
| Node.js | 运行环境 | 必需 |
运行依赖检测脚本,自动检查所有依赖是否已安装:
cd skills/pptx-craft
npm run check-deps
该脚本会检测:
并根据您的操作系统提供对应的安装指令。
必需:
如果系统未安装 Node.js:请访问 https://nodejs.org/ 下载安装后再继续。
步骤 1:安装 npm 依赖
cd skills/pptx-craft
npm install
步骤 2:安装 Chromium 浏览器
npx playwright install chromium
步骤 3:安装系统依赖(重要!)
npx playwright install-deps chromium
重要提示:
playwright install-deps会自动安装 Chromium 运行所需的系统库,这一步是必需的。
Windows:
cd skills\pptx-craft
npm install
npx playwright install chromium
npx playwright install-deps chromium
macOS:
cd skills/pptx-craft
npm install
npx playwright install chromium
npx playwright install-deps chromium
Linux:
cd skills/pptx-craft
npm install
npx playwright install chromium
npx playwright install-deps chromium
提示:如需将 HTML 导出为 PPTX 文件,可使用独立的
html-to-pptx技能(需要安装 Playwright 和其他依赖)。
在开始正式流程前,先识别用户是否指定了模板风格:
{skill_base_dir}/../styles/{模板名}.md{skill_base_dir}/../styles/{模板名}.md 文件,理解模板的视觉规范和设计原则{skill_base_dir}/../styles/{模板名}.pptx.html,可参考其布局和样式本阶段核心任务:验证 ppt_plan.md 文件是否存在并格式正确。
检查文件存在:
尝试读取工作目录下的 ppt_plan.md 文件
如文件不存在,报错终止并提示:
错误:未找到 ppt_plan.md 文件。
本技能需要 ppt_plan.md 作为输入文件,请确认:
1. 文件是否已放置在工作目录下
2. 文件名是否正确(必须为 ppt_plan.md)
格式校验:
## 大纲总览## 页面详细描述解析元信息:
ppt_plan.md 头部提取 style_id(如存在)style_id 加载对应的视觉规范(读取 {skill_base_dir}/../styles/{style_id}.md)进入阶段 3 开始执行生成流程。
路径接收说明: 本技能的输出路径由调用方通过 prompt 参数指定。设计师不应自行决定输出位置。
output_dir 参数传入输出目录(即 {pages_dir},而非 {session_dir} 本身){output_dir}/page-N.pptx.htmlppt_plan.md 中的大纲和逐页描述,生成对应页面的 HTMLwrite_to_file 工具生成 HTML 格式的演示文稿output/pages/page-N.pptx.html(如调用方在 prompt 上下文中指定了其他输出目录,则以指定路径为准).pptx.html(中间产物)在生成所有 HTML 页面后,自动执行以下步骤:
调用转换脚本:
node {skill_base_dir}/../../designer/lib/html-to-pptx/node/convert.js {output_dir}
该脚本会将 {output_dir}/page-N.pptx.html 转换为 {output_dir}/pages.pptx
验证 PPTX 输出:
{output_dir}/pages.pptx 是否生成运行布局 QA(强制):
node {skill_base_dir}/slide_layout_qa.js {output_dir}
{output_dir}/layout_qa_result.jsonpassed 为 true 时,才能交付生成视觉验收记录(强制):
{output_dir}/visual_review.mddata-layout、第一视觉重点、信息密度、QA 结论和是否返工最终产物:{output_dir}/pages.pptx
在生成每页 HTML 时,确保代码符合以下布局质量要求:
1. 固定尺寸约束
所有内容必须在固定容器内,禁止超出边界:
.ppt-slide {
width: 1280px; /* 固定宽度 */
height: 720px; /* 固定高度 */
overflow: hidden; /* 超出隐藏 */
padding: 40px; /* 内边距保护 */
box-sizing: border-box;
}
2. 空白率控制(内容页 < 30%)
3. 内容密度控制
4. 溢出预防
overflow: hidden 或精确计算元素位置/尺寸防止溢出5. 文本重叠避免
6. 元素遮挡避免
7. 层级管理(Z-Index)规范
背景层:z-index: 0
装饰层:z-index: 5
内容层:z-index: 10
遮罩层:z-index: 20
文本层:z-index: 50(始终在最上层)
8. 布局策略
优先使用弹性布局:
<!-- ✅ 推荐:Flexbox 自动分配空间 -->
<div class="flex gap-6">
<div class="flex-1">左侧内容</div>
<div class="flex-1">右侧内容</div>
</div>
<!-- ✅ 推荐:Grid 网格布局 -->
<div class="grid grid-cols-2 gap-6">
<div>第一列</div>
<div>第二列</div>
</div>
<!-- ✅ 推荐:三列布局 -->
<div class="grid grid-cols-3 gap-4">
<div class="col-span-1">窄列</div>
<div class="col-span-2">宽列</div>
</div>
<!-- ❌ 避免:绝对定位导致溢出风险 -->
<div class="relative">
<div class="absolute" style="left: 100px; top: 50px;">内容</div>
</div>
绝对定位使用条件:
position: relative 的父容器12 列网格系统:
| 类型 | 颜色 | 用途 |
|---|---|---|
| 深色背景 | #1A1D21 | 专业沉稳主题 |
| 浅色背景 | #F8F7F5 | 优雅温和主题 |
| 纯黑背景 | #0D0D0D | 高端科技主题 |
| 主题色 | #4A6C8C | 主色调,专业可信 |
| 辅助色 | #8D99AE | 次级信息、过渡 |
| 强调色 | #D4A373 | 重点突出 |
| 深色文字 | #2B2D42 | 浅色背景上的文字 |
| 浅色文字 | #F8F7F5 | 深色背景上的文字 |
西文字体:
Liter - 现代几何无衬线,理性专业HedvigLettersSans - 个性鲜明,品牌感强Oranienbaum - 高对比衬线,优雅古典QuattrocentoSans - 人文无衬线,温和易读SortsMillGoudy - 古典印刷风格Unna - 新古典衬线Coda - 圆润友好中文字体:
MiSans - 小米系统字体,现代简洁Noto Sans SC - 思源黑体,标准中性siyuanSongti - 思源宋体,优雅阅读alimamadaoliti - 阿里妈妈刀隶体,力量感alimamashuheiti - 阿里妈妈数黑体,商业感zhankuwenyiti - 站酷文艺体,清新手写感deyihei - 得意黑,现代斜体LXGW Bright - 霞鹜文楷,温润清晰ZCOOL KuaiLe - 站酷快乐体,活泼卡通xiawuxinzhisong - 霞鹜新致宋,明亮优雅字体搭配建议:
MiSans + LitersiyuanSongti + Oranienbaumdeyihei + HedvigLettersSansZCOOL KuaiLe + Coda<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>演示文稿标题</title>
<!-- Tailwind CSS -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- 字体引用 -->
<link
href="https://statics.moonshot.cn/kimi-ppt/html-gen/static/font-v2.css?family=MiSans,Liter"
rel="stylesheet"
/>
<!-- FontAwesome 图标 -->
<link
href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.0.0/css/all.min.css"
rel="stylesheet"
/>
<!-- 图表库 -->
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts@5.4.0/dist/echarts.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="https://cdn.jsdmirror.com/npm/mathjax@3.2.2/es5/tex-svg.min.js"></script>
<!-- Tailwind 配置 -->
<script>
tailwind.config = {
theme: {
extend: {
colors: {
primary: "#4A6C8C",
secondary: "#8D99AE",
accent: "#D4A373",
bgDark: "#1A1D21",
bgLight: "#F8F7F5",
textDark: "#2B2D42",
textLight: "#F8F7F5",
},
fontFamily: {
sans: ["MiSans", "Liter", "sans-serif"],
serif: ["siyuanSongti", "Oranienbaum", "serif"],
},
},
},
};
</script>
<!-- 自定义样式 -->
<style type="text/tailwindcss">
@layer utilities {
.ppt-slide {
@apply relative w-[1280px] h-[720px] mx-auto p-[40px] box-border overflow-hidden;
}
}
</style>
<!-- 全局文字颜色 -->
<style>
body {
color: #2b2d42; /* 根据视觉方案设置 */
}
</style>
</head>
<body class="bg-gray-50">
<!-- 每一页都是一个独立的 ppt-slide 容器 -->
<div class="ppt-slide" type="cover" data-layout="cover-hero">
<!-- 页面内容 -->
</div>
</body>
</html>
<div class="ppt-slide" type="页面类型" data-layout="布局名称"> 作为每页的容器1280px × 720px40pxtype 属性必须设置为以下值之一:
cover - 封面页table_of_contents - 目录页chapter - 章节过渡页content - 正文内容页final - 结束页data-layout 布局意图标记,例如
cover-hero、metric-spotlight、process-flow、timeline、comparison-split、evidence-grid。
5 页以上的 deck 至少使用 3 种布局,单一布局不得超过总页数的 60%。禁止内联样式:
style="..." 属性(图表库配置除外)itemStyle、lineStyle 等示例对比:
<!-- ❌ 错误:使用内联样式 -->
<div style="font-size: 24px; color: #333; margin-top: 16px;">标题</div>
<!-- ✅ 正确:使用 Tailwind 类名 -->
<div class="text-[24px] text-gray-800 mt-4">标题</div>
<!-- ❌ 错误:内联样式定义位置和尺寸 -->
<div style="width: 50%; padding: 20px; background: #f0f0f0;">内容</div>
<!-- ✅ 正确:Tailwind 类名 -->
<div class="w-1/2 p-5 bg-gray-100">内容</div>
<!-- 封面页 -->
<div class="ppt-slide" type="cover" data-layout="cover-hero">
<div data-field="title">演示文稿标题</div>
<div data-field="presenter">演讲者姓名</div>
<div data-field="date">日期</div>
</div>
<!-- 目录页 -->
<div class="ppt-slide" type="table_of_contents" data-layout="agenda-rail">
<!-- 目录内容 -->
</div>
<!-- 章节过渡页 -->
<div class="ppt-slide" type="chapter" data-layout="chapter-statement">
<div data-field="chapter-number">1</div>
<div data-field="chapter-title">章节标题</div>
</div>
<!-- 内容页 -->
<div class="ppt-slide" type="content" data-layout="evidence-grid">
<!-- 正文内容 -->
</div>
<!-- 结束页 -->
<div class="ppt-slide" type="final" data-layout="final-summary">
<div data-field="presenter">演讲者姓名</div>
<div data-field="date">日期</div>
</div>
如用户选择了模板,封面、章节、结束页只需输出占位符:
<!-- 封面页占位符 -->
<div class="ppt-slide" type="cover" data-layout="cover-hero">
<div data-field="title">2025 人工智能产业发展趋势分析报告</div>
<div data-field="presenter">Kimi</div>
<div data-field="date">2025.11.18</div>
</div>
<!-- 章节页占位符 -->
<div class="ppt-slide" type="chapter" data-layout="chapter-statement">
<div data-field="chapter-number">1</div>
<div data-field="chapter-title">人工智能技术演进路径</div>
</div>
<!-- 结束页占位符 -->
<div class="ppt-slide" type="final" data-layout="final-summary">
<div data-field="presenter">Kimi</div>
<div data-field="date">2025.11.18</div>
</div>
封面页:
目录页:
章节过渡页:
内容页:
结束页:
| 页面类型 | 必需元素 | 说明 |
|---|---|---|
| 封面页 | title, presenter, date | 突出主题 |
| 目录页 | 4-6 个章节 | 序号 + 标题 + 简介 |
| 章节过渡页 | chapter-number, chapter-title | 醒目显示 |
| 内容页 | 标题 + 核心内容 | 图表/案例支撑 |
| 结束页 | 总结语 | 联系方式可选 |
三级密度策略:
| 密度等级 | 关键信息点数量 | 适用场景 | 核心要求 |
|---|---|---|---|
| 高密度 | 每页 3-5 个点 | 数据报告、分析总结、竞品对比 | 图文结合,数据可视化,压缩冗余描述 |
| 中密度 | 每页 2-3 个点 | 概念阐述、流程说明、方案展示 | 清晰层次,适度留白,图文平衡 |
| 低密度 | 每页 1 个核心 | 封面、章节过渡、content(强调类)、结尾页 | 视觉冲击,简洁有力,留白艺术 |
密度选择原则:
| 区域 | 尺寸限制 | 说明 |
|---|---|---|
| 内容安全区 | 左右 40px 边距,上下 40px 边距 | 即 1200×640px 可用区域 |
| 页眉区 | 高度 40-60px | 标题放置区 |
| 页脚区 | 高度 30-40px | 页码/日期/来源 |
| 核心内容区 | 剩余高度 | 主要信息展示 |
| 内容类型 | 截断策略 |
|---|---|
| 文字 | 单行字符数超限时截断并加"…"(标题≤40 字,说明≤80 字) |
| 列表 | 最多显示 5 项,超出折叠或滚动提示 |
| 图表 | 优先保证核心数据可见,标签可旋转或简化 |
| 图片 | 等比缩放至安全区域,允许裁剪边缘 |
当内容不足以填满可用空间时,采用以下扩展策略:
| 扩展技术 | 适用场景 | 操作方法 |
|---|---|---|
| 视觉化转换 | 文字描述过多 | 将关键数据转为图表、图标、示意图 |
| 数据补充 | 数据支撑不足 | 添加趋势线、对比柱状、占比图示 |
| 案例填充 | 概念空洞 | 添加真实案例/引用/行业示例 |
| 图标装饰 | 内容稀疏 | 添加相关图标、装饰线条、背景形状 |
| 引用增强 | 观点单薄 | 添加名人名言、数据来源、权威背书 |
| 空白程度 | 填充策略 |
|---|---|
| 轻度空白(<15%) | 添加图标装饰、背景线条 |
| 中度空白(15-25%) | 添加辅助图表、次要信息 |
| 重度空白(>25%) | 重新规划布局,考虑拆分页面 |
max-width: 100% 防止溢出| 元素类型 | 字号策略 |
|---|---|
| 主标题 | 固定 36-48px,确保层次感 |
| 副标题 | 主标题的 60-80%,形成梯度 |
| 正文 | 16-20px,保证可读性 |
| 辅助文字 | 12-14px,颜色淡化处理 |
| 响应式规则 | 容器宽度 < 400px 时,字号缩小 10-15% |
问题驱动型:背景 → 问题 → 分析 → 方案 → 效果(适用于商业提案) 时间线型:过去 → 现在 → 未来(适用于发展历程) 金字塔型:结论 → 论据 → 细节(适用于汇报总结) 对比型:现状 A→ 现状 B→ 对比分析 → 结论(适用于竞品分析)
const chartDom = document.getElementById("chart-id");
const myChart = echarts.init(chartDom);
const option = {
color: ["#4A6C8C", "#8D99AE", "#D4A373"],
grid: { left: "3%", right: "4%", bottom: "3%", containLabel: true },
xAxis: {
type: "category",
data: ["2020", "2021", "2022", "2023", "2024"],
axisLine: { lineStyle: { color: "#8D99AE" } },
},
yAxis: {
type: "value",
axisLine: { lineStyle: { color: "#8D99AE" } },
splitLine: { lineStyle: { color: "#E5E5E5" } },
},
series: [
{
data: [50, 85, 140, 220, 380],
type: "bar",
barWidth: "50%",
itemStyle: { borderRadius: [4, 4, 0, 0] },
},
],
};
myChart.setOption(option);
当任务要求分页生成 PPT 时(通过 generate_ppt_pages 工具触发),采用分页生成模式。
output/
├── pages/ # 分页产物目录
│ ├── page-1.pptx.html
│ ├── page-2.pptx.html
│ └── ...
├── generation_status.json # 生成状态文件
└── opencode.log # 执行日志
ppt_plan.md 获取页面规划output/pages/page-N.pptx.html每完成一页,可通过进度事件报告:
# 开始生成某页
event_type: "page_generating", page_number: N
# 某页完成
event_type: "page_completed", page_number: N, file_path: "output/pages/page-N.pptx.html"
每页 HTML 应该是独立可渲染的,包含:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<!-- 完整的 head 内容:Tailwind CSS、字体、图表库等 -->
</head>
<body class="bg-gray-50">
<div class="ppt-slide" type="content" data-layout="evidence-grid">
<!-- 单页内容 -->
</div>
</body>
</html>
ppt-slide 容器中| 检查项 | 验收标准 | 处理建议 |
|---|---|---|
| 文字溢出 | 单行文字不超过容器宽度,截断时显示"…" | 精简文字、缩小字号或增加容器宽度 |
| 图表标签溢出 | 坐标轴标签、图例完整显示无遮挡 | 旋转标签、缩小字号或改用简短标签 |
| 图片溢出 | 图片完整显示在容器内,无截断 | 使用 object-fit: contain 或调整尺寸 |
| 页边距溢出 | 内容不紧贴画布边缘(≥ 20px) | 调整内边距或容器尺寸 |
| 检查项 | 验收标准 | 处理建议 |
|---|---|---|
| 内容区利用率 | 内容覆盖有效区域 ≥ 70% | 补充信息、放大核心元素或添加装饰 |
| 视觉重心 | 画面重心在画布中心偏上 1/3 处 | 调整元素位置或尺寸以平衡重心 |
| 元素间距 | 相关元素间距 ≤ 50px,不相关元素间距 ≥ 50px | 重排布局或调整间距 |
| 留白质量 | 留白区域有目的(如引导视线、突出重点) | 添加装饰元素或渐变背景 |
| 检查项 | 验收标准 | 处理建议 |
|---|---|---|
| 对齐检查 | 同级元素左对齐或居中对齐,无参差 | 使用网格系统或 flex 布局 |
| 色彩检查 | 配色协调,主色不超过 3 种 | 引用配色方案的色板 |
| 层级检查 | 标题 > 副标题 > 正文 > 辅助文字 | 检查字号梯度是否清晰 |
| 阅读顺序 | 符合从左到右、从上到下的自然阅读习惯 | 调整元素顺序或添加视觉引导 |
output/pages/ 目录(或 prompt 上下文指定的输出目录)| 问题 | 原因 | 解决方案 |
|---|---|---|
| 字体加载失败 | 字体名称拼写错误 | 使用字体库中列出的确切名称 |
| 图表不显示 | 容器 ID 错误或脚本执行时机问题 | 使用立即执行函数 (IIFE) 包裹图表代码 |
| 样式不一致 | Tailwind 类名冲突 | 使用!important 或更具体的选择器 |
| 内容溢出 | 内容过多超出 540px 高度 | 精简内容或调整布局 |
| 图片加载失败 | 图片 URL 无效 | 使用可靠的图片源或 base64 编码 |
| 空白过多 | 内容不足或布局过于稀疏 | 增加图表、补充信息或紧凑布局 |
| 元素溢出边界 | 位置/尺寸计算错误 | 检查 Tailwind 类名和内联样式 |
绝对禁止:
overflow: hiddenfixed height + overflow 组合强烈建议:
position: relative 父容器| 问题类型 | 具体表现 | 解决方案 |
|---|---|---|
| 文字太多溢出 | 标题/正文超出容器边界 | ① 提炼核心文字,删除修饰词 ② 拆分为多页 ③ 启用智能换行或缩小字号 |
| 内容太少空白 | 画面空洞、留白过多 | ① 添加辅助图表或数据 ② 放大核心元素 ③ 添加图标装饰 ④ 补充案例/引用 |
| 图文比例失衡 | 图太大压文字 / 图太小看不清 | ① 文字多则图缩小做配图 ② 图为主则文字做说明标签 ③ 保持 6:4 或 7:3 的图文占比 |
| 元素相互遮挡 | 背景遮住文字 / 弹窗遮住关键信息 | ① 提高文字层 z-index ② 添加半透明背景 ③ 调整元素堆叠顺序 |
| 间距不协调 | 元素挤成一团 / 分散零乱 | ① 相关元素收紧(≤ 50px)② 不相关元素拉开(≥ 50px)③ 使用网格对齐 |
{output_dir}/page-N.pptx.html
output_dir 参数指向 {pages_dir}(即 {session_dir}/pages),而非 {session_dir} 本身output_dir 参数,必须报错终止output/pages/ 或任何其他硬编码路径.pptx.html.pptx(自动由 HTML 转换生成)type 属性标记本技能通过 prompt 中的路径参数确定输入输出位置。调用方必须显式指定输入和输出路径。
| 参数 | 类型 | 说明 |
|---|---|---|
ppt_plan_path | string | ppt_plan.md 文件的绝对路径 |
output_dir | string | HTML 页面的输出目录(即 {pages_dir},指向 {session_dir}/pages) |
research_path | string | 研究报告的绝对路径(可选,跳过研究阶段时不存在) |
{ppt_plan_path} - 大纲文件(必须存在){research_path} - 研究报告(如存在则读取,用于补充页面内容细节){output_dir}/pages.pptx - PPTX 文件(由 HTML 自动转换生成){output_dir}/page-N.pptx.html - HTML 文件(保留)如输出目录不存在,本技能将自动创建目录。
如调用时缺少必需参数,本技能将报错并终止:
错误:缺少必需参数。
本技能需要以下必需参数:
- ppt_plan_path: ppt_plan.md 文件的绝对路径
- output_dir: HTML 页面的输出目录(即 `{pages_dir}`,指向 `{session_dir}/pages`)
可选参数:
- research_path: 研究报告的绝对路径(跳过研究阶段时不存在,此时页面内容将基于大纲描述生成)
正确调用示例:
"请生成幻灯片,大纲在 /home/user/output/ppt_plan.md,输出到 /home/user/output/pages"
通过 pptx-craft 调用:
请根据 ppt_plan.md 生成 HTML 幻灯片。
大纲文件路径:{ppt_plan_path}
输出目录:{output_dir}(即 {pages_dir})
研究报告路径:{research_path}
独立使用:
请根据 ppt_plan.md 生成 HTML 幻灯片。
要求:
- 大纲文件路径:/home/user/output/ppt_plan.md
- 研究报告路径:/home/user/output/research.md
- 输出目录:/home/user/output/pages
"每一像素都应有其存在的意义"
每一像素都应服务于信息的传递与视觉的体验。没有无缘无故的留白,也没有毫无意义的装饰。
| 原则 | 含义 | 实践 |
|---|---|---|
| 必要性 | 每个元素都必须有存在的理由 | 删除无法解释其用途的元素 |
| 目的性 | 每个元素都应有明确的功能 | 装饰元素必须辅助信息理解 |
| 经济性 | 用最少的元素达成最好的效果 | 避免过度设计,信息密度适当 |
每个页面都应该有清晰的视觉层级,让读者在 3 秒内抓住重点。