Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Slide Writer

v1.0.0

把想法、大纲、文档或草稿变成结构清晰、设计精良的企业级 HTML 演示文稿。

0· 80· 1 versions· 0 current· 0 all-time· Updated 9h ago· MIT-0

Install

openclaw skills install slide-writer

Slide-Writer

把任意输入(想法、大纲、草稿文档、会议纪要)转化为企业级 HTML 演示文稿,自动匹配所在公司的品牌主题。

核心原则

  1. 品牌一致 — 从请求中自动识别公司,应用对应品牌色主题;内置 14 家互联网公司主题。
  2. 内容为王 — 自动润色每句话:去冗余、精简、让表达更有力。
  3. 不溢出 — 每张幻灯片必须在 100vh 内完整呈现,内容多则分页,绝不出现滚动条。
  4. 单文件交付 — 输出单个 .html 文件,CSS/JS 全部内联,零依赖,浏览器直接打开。

Phase 0:准备

自动更新(第一步,必须执行)

git pull --ff-only

成功 → 静默继续;失败(无网络 / 有冲突)→ 静默忽略,继续使用当前版本。

模式识别

  • Mode A:全新制作 — 从主题/大纲/草稿创建,进入 Phase 1。
    • A1:内容压缩 — 用户提供了演讲稿、大纲或草稿(输入字数 ≥ 200 字),目标是提炼精简,应用演讲稿转PPT规则和密度上限。
    • A2:主题创作 — 用户只提供了主题/标题(输入字数 < 200 字),目标是主动生成丰富内容,充分展开每个子话题,不受演讲稿压缩规则约束,卡片描述上限放宽至 120 字,页数默认 10–15 页。
  • Mode B:增强改稿 — 在现有 HTML 上修改或扩充内容:
    1. 完整读取现有 HTML,识别所有 <section>idclass、标题,输出当前幻灯片清单
    2. 范围判断:修改 ≤ 3 张 → 精确改稿;修改 > 30% 或新增 > 原有 → 建议用 Mode A 重新生成
    3. 识别原有主题(用户未要求更换则保留)
    4. 按用户描述(序号、标题关键词)定位目标 <section>确认后再操作
    5. 只改被点名的 <section>,新增页插入逻辑最合适的位置
    6. 未被点名的幻灯片保持原样,不做"顺手优化"
    7. 改完检查:目录议程项数与内容页数是否一致?章节逻辑是否连贯?不一致则列出,询问用户是否同步更新
    8. 执行与 Mode A 相同的质量检查

主题检测

读取 themes/_index.md,从用户请求提取公司关键词,优先级从高到低:

  1. 用户明确指定的公司名、产品名
  2. 署名中的部门/团队名称
  3. 内容中出现的公司名
  • 识别到 → 记录主题 ID 和 themes/[id].md 路径
  • 未识别到 → 默认蚂蚁集团+支付宝双 Logo 主题
  • 多品牌冲突 → 按 themes/_index.md 优先级链执行

Phase 1:内容收集

一次性收集以下信息(运行环境支持 AskUserQuestion 则用它补问,否则发一条消息补问):

字段说明
公司所在公司或品牌名称(用于匹配主题色)
主题演讲 / 汇报的核心主题
受众管理层 / 团队内部 / 跨部门 / 外部客户
页数5–8 页 / 10–15 页 / 20 页以上
内容粘贴大纲、草稿或关键要点;只有主题时说明即可
署名演讲者姓名 + 角色/岗位/Title(用于封面)
日期演讲日期(默认今天)

缺失字段的推断规则:

  • 公司 → 从内容、署名、部门名称推断;仍无法识别则默认蚂蚁集团
  • 受众 → 含"汇报/review/决策/管理层" → 管理层;含"分享/复盘/团队" → 团队内部;含"提案/客户/合作" → 外部客户;无法判断 → 内部汇报
  • 页数 → 按模式和字数推断:
    • Mode A2(主题创作):默认 10–15 页,主题内涵丰富(含多子话题、历史文化、数据等)可到 15–20 页;
    • Mode A1(内容压缩):< 500 字 → 4–6 页;500–1500 字 → 8–12 页;1500–3000 字 → 12–18 页;> 3000 字 → 18 页以上;
    • 推断结果与内容明显不符时,进入 Phase 2 前显式确认
  • 日期 → 默认今天
  • 署名 → 从内容或当前用户信息推断;无法推断则默认"演讲者"

Phase 1 完成后通知:已收集:[公司] · [受众] · [页数] 页 · [署名]


Phase 2:结构规划

必须包含的页面

页面类型Slide Class豁免条件
封面页slide-cover无豁免
目录页slide-white总页数 ≤ 6 时省略
章节过渡页slide-section该章节内容页 < 3 时省略;章节页总数不超过内容页的 1/3
结尾页slide-qa无豁免

小型 PPT(≤ 6 页):封面 + 内容页 + 结尾,不强插目录和章节页。

演讲稿转 PPT 规则(仅 Mode A1 执行,Mode A2 跳过)

  1. PPT 是辅助,不是原文上墙 — 禁止逐段照搬,单页文字量必须明显少于讲稿密度。
  2. 一页一判断 — 提炼一个结论句作为标题,保留 2–4 个支撑点;多论点拆成多页。
  3. 留金句,删铺垫 — 保留数字、判断、类比;删寒暄、重复、口语化过渡;引用只取 1 句。
  4. 3 秒可读 — 满足任一条即达标:① 单页总字数 ≤ 80 字;② bullet ≤ 4 条且每条 ≤ 15 字;③ 数字 ≤ 3 个且说明 ≤ 30 字;④ 视觉块占页面 ≥ 40%。
  5. 第一视角 — 标题优先用"我们 / 今天想讲",不用"作者认为""整场发言围绕"。

不适合搬到 PPT 的内容:开场寒暄、重复表达、口语化连接词、大段故事细节、抒情句、可口头补充的背景说明。

主题创作原则(仅 Mode A2 执行)

  1. 内容深度优先 — 每个子话题充分展开,给出背景、细节、意义,让读者看完幻灯片本身就能获得完整信息,无需演讲者补充。
  2. 完整性 — 凡主题中含有明确数量的事物(如"十景"、"三原则"、"五步骤"),必须全部列出,不得因排版便利而截断;超出单页容量则拆分为多页并在标题注明"(上)""(下)"。
  3. 引用原话 — 文化/历史类主题应引用原始诗句、史料或名言,不用泛泛描述代替。
  4. 卡片描述上限放宽 — 信息卡片描述 ≤ 120 字,步骤卡描述 ≤ 80 字,单页总字数 ≤ 300 字;超出则拆页,不压缩内容。
  5. 标题是结论,不是话题 — 即便是介绍性内容,标题也应给出判断("苏堤是人工干预自然的最美典范"而非"苏堤简介")。

视觉化原则

  1. 先做结构,再放文字 — 优先用数字、卡片、对比、流程承载内容。
  2. 主视觉节奏清晰 — 多个视觉区块间必须有明确层级和分组;内容超出屏幕时拆页,不缩字号强塞。
  3. 把段落改成组件 — 长段优先改写成组件;可复用 stat-blockstep-cardquote-boxagenda-item,也可按内容需要设计新的页面骨架与信息组件。
  4. 关键词可扫读 — 数字、判断句必须一眼能扫到;长句只作补充。
  5. 多横向,少纵向 — 优先并列卡片、对比、矩阵,少用连续纵向文字。
  6. 每 3–4 页变换节奏 — 穿插章节页、金句页、大字判断页或轻内容页。
  7. 先判内容形态,再选版式 — 见「内容类型 → 组件选择」表。
  8. 标题区固定 — 所有内容页标题区位置一致,不因正文密度漂移。
  9. SVG 优先 — 数量对比、趋势、占比、流程优先用内联 SVG;禁止纯数字+文字句子描述可视化数据。
  10. 视觉效果分层 — 重点卡片叠加渐变背景 + 顶部色条 + pill 标签;径向渐变光圈作点缀,不要每张卡都加。
  11. 组件库是起点,不是边界components.md 提供的是高频可复用参考,不是完整上限;当主题更适合地图、时间带、关系网、年表、分镜、注释图、海报式大字、档案卡、实物标注、时间切片、城市剖面等表达时,应优先为内容发明更合适的新组件。

内容类型 → 组件选择

在写每页 HTML 前,先判断内容形态,再选布局。优先级:页面骨架 > 成组组件 > 普通 bullet。下表是推荐起点,不是限制清单;若现有组件不够贴合,应自定义新骨架而不是勉强套用。

内容形态推荐组件 / 骨架避免
全文总览 / 章节预告agenda-item、分组目录页普通 bullet 平铺目录
开场判断 / 问题定义开场钩子页、highlight-box + info-card整页长段正文
单一核心结论highlight-boxstat-block、大数字密集列表或多主题混页
核心结论 + 数据支撑insight-panel判断句和数字分散在两张独立卡片
并列要点 / 三原则three-colinfo-cardstat-block三个平级观点写成纵向长段
双对象对比two-col、左右图文混排单列顺序写法
分阶段推进step-cardstep-flow-grid普通 bullet 描述"第一第二第三"
月度 / 季度路线图roadmap-col普通 step-card 忽略时间轴感
工作流 / 研发流程flow-item(4列×N行)有序列表平铺 8 个步骤
能力成熟度 / 等级体系level-row普通 bullet 描述各等级
组织支撑 / 能力体系support-boardsupport-cardrole-card多段正文描述体系
责任清单 / 人员分工support-mini-card + @负责人普通 bullet 列名字
多角色流转 / 跨方协同demand-flow-board静态列表描述角色
数据 / 占比 / 趋势stat-block、进度条、SVG 图表、表格只写数字句子无图形支撑
排名 / 优先级bar-rank纯数字列表
业务线 / 产品集合tag-cloud等高等大标签平铺
产品截图browser-mockup裸放图片无上下文
引用原话quote-boxinsight堆多段长引用
结尾总结分组总结页、agenda-itemhighlight-box结尾再展开大量新信息

组件约束:

  • 先选骨架,再选骨架内组件;强结构页(support-boarddemand-flow-board)不退回普通卡片页。
  • 卡片未铺满一行时容器收窄居中:1张→40%、2张→60%、3张→80%、4张以上→100%;用 style="max-width:X%;margin:0 auto;" 写在容器上。
  • 内容偏少时 slide-body 显式加 justify-content:center,避免内容贴在上半屏。
  • components.md 是参考库,不是白名单。允许自定义 HTML、CSS class 和新的信息组件,只要遵守当前模板的 CSS 变量、字号体系、留白系统与交互约束。
  • 自定义组件应优先解决“现有组件表达不清”的问题,而不是只换视觉皮肤;新组件必须有清晰的信息任务,例如表达时间跨度、地理关系、因果链、空间层级、证据标注、版本差异、结构剖面。
  • 新组件优先保持语义化命名,例如 timeline-bandmap-note-cardartifact-calloutsplit-metric-stagecity-axis-board,避免无语义的 box-1layout-a
  • 新组件可以是整页骨架,不必退化成卡片拼贴;允许使用注释线、时间轴带、分层底图、局部放大框、编号锚点、档案标签、印章式视觉、报纸栏、策展墙、编年表、示意地图等展示方式。
  • 叙述型卡片页禁止 5 列:含标题+描述+bullet 的解释型页面最多 4 列;5 列只用于极短标签卡或纯图标卡。
  • 禁止"上实下空":页面底部留白明显大于顶部时,视为未完成布局。

新组件设计规则

当需要超出 components.md 时,按以下规则设计:

  1. 先定义信息任务 — 先说清楚这页要表达的是时间、空间、关系、证据、对照、层次还是叙事,再决定组件形态。
  2. 一页只引入 1 个主创意 — 可以有辅助组件,但主视觉语言必须单一,避免一页内同时出现时间轴 + 地图 + 大表格 + 多层卡片。
  3. 可扫读优先于炫技 — 新组件必须让读者 3 秒内看懂主结论,不能为了“新”而牺牲信息获取速度。
  4. 结构先于装饰 — 先确定信息区块、阅读顺序、锚点和对齐关系,再加渐变、阴影、纹理、印章、边框等装饰。
  5. 允许为主题定制组件 — 历史类可用编年轴、文物注释卡、古今对照图;战略类可用战区图、优先级棋盘;产品类可用分镜、界面放大镜、漏斗剧场;教育类可用黑板式推演、题眼拆解图。
  6. 复用已有设计语言 — 即便新建组件,也要继续使用现有颜色变量、圆角、阴影、字号层级和 reveal 动画,不要做成另一个完全割裂的系统。
  7. 能抽象再抽象 — 如果某个新组件在 2 页以上重复出现,第二次开始应抽成稳定 class 命名,而不是每页一套散装内联样式。

内容密度规则

内容类型Mode A2(主题创作)Mode A1(内容压缩)
文字要点10–15 条 bullet,每条 ≤ 40 字6–8 条,每条 ≤ 25 字
信息卡片(横向)5–6 列,描述 ≤ 120 字4–5 列,描述 ≤ 50 字
信息卡片(纵向)单列 ≤ 10 张,描述 ≤ 120 字/张单列 ≤ 6 张,描述 ≤ 35 字/张
数据统计6–9 个 stat-block,配 1–2 句解读6 个,配 1 句解读
对比/流程4–6 个 step-card,描述 ≤ 80 字4 个,描述 ≤ 35 字
表格最多 12 行 × 6 列最多 8 行 × 5 列
引用原话1–3 段,每段 ≤ 150 字1 段,≤ 80 字
卡片描述正文3–5 句话,≤ 120 字2–3 句话,≤ 50 字
单页总字数≤ 300 字≤ 150 字

超出限制 → 自动拆成多页,页间用连贯的过渡标题衔接。

布局多样性

规划完成后,进入 Phase 3 前必须执行以下自检:

  1. 统计各类型布局的页数(多列卡片、流程、bullet、纯视觉)
  2. 检查局部连续约束:
    • three-col / info-card ≥ 4 连续 → 中间插入过渡页或大字判断页
    • step-card ≥ 3 连续 → 第 4 页换其他骨架
    • styled-list ≥ 4 连续 → 至少 1 页改为卡片或图表
  3. 检查全局约束:
    • 多列卡片页占内容页 > 55% → 替换超出部分
    • 总页数 > 10 且无纯视觉页 → 插入至少 1 页(建议放中段)
  4. 有调整则在规划清单中用 [调整] 标注改动位置

文字润色(自动执行)

  1. 去冗余 — 删除"我们认为""需要指出的是"等无信息量前缀。
  2. 名词化 — "进行分析"→"分析","做出决策"→"决策"。
  3. 数字化 — 只润色原文已有数字的表达("百分之三十七"→"37%");禁止编造原文无源的具体数字。
    • ✅ 原文含"50+"→ 保留"50+ 轮测试";原文含"故障率""下降"→ 可补"故障率下降 40%"
    • ❌ 原文"取得成果"→ 不可杜撰"节省 200 万元";原文"反馈不错"→ 不可杜撰"满意度 92%"
  4. 动词有力 — 用"推进""落地""打通""提升"替代"做""进行""开展"。
  5. 层级清晰 — 主标题是结论/判断,副标题是补充说明,内容是支撑。
  6. 引用克制 — 只保留最有代表性的 1 句;同页不出现多段长引用。

Phase 2 完成后通知:规划完成,共 N 张,开始生成…


Phase 3:生成 HTML

Step 3.1:准备文件

① 复制模板

cp template.html [输出文件名].html
  • 禁止直接编辑 template.html 本身
  • 文件名使用英文小写 + 连字符,例如 antgroup-q1-review.html

② 并行读取(同时发起)

  • themes/[id].md — 获取 CSS 变量、.slide-section / .slide-qa 覆盖、logo 路径

  • components.md — 只 Grep Phase 2 中用到的组件章节,不必全读

  • components.md — 作为高频组件参考;若规划包含创新布局,只需读取相关章节借鉴命名、字号和留白,不要把它当成白名单

  • icons.md(含图标槽时按需 Grep)— 中文主题 → 英文图标名参考:

    中文关键词推荐图标名
    安全、防护、权限、合规shield, lock, eye-off
    数据、分析、统计、报告bar-chart-2, pie-chart, trending-up
    用户、客户、团队、人员users, user, user-check
    流程、步骤、推进、路径arrow-right, git-branch, navigation
    目标、战略、方向、规划target, flag, compass
    技术、系统、架构、平台cpu, server, layers
    效率、性能、速度、优化zap, clock, activity
    成本、金融、收益、预算dollar-sign, credit-card, trending-down
    协同、沟通、对接、整合link, share-2, message-circle
    风险、问题、告警、异常alert-triangle, x-circle, bell
    创新、产品、功能、特性star, package, box
    运营、推广、增长、运作trending-up, repeat, refresh-cw

Step 3.2:填充占位符

template.html 已内置蚂蚁集团默认值(双 logo、页脚文字)。标题、主题样式、logo 全部改为脚本直接写回 HTML,不再手工替换。

① 标题 ② 主题样式 ③ Logo

# `theme-id` 默认为 `ant-group`
python3 scripts/apply-template-branding.py [文件名].html \
  --title "[演讲主题]" \
  --speaker "[演讲者]" \
  --theme-id [theme-id]

规则:

  • theme-id=ant-group 时保留 <!-- %%THEME_STYLE%% -->
  • 其他主题从 themes/[id].md## CSS 代码块注入 <style>...</style>
  • #globalLogoGroup 是唯一 logo 节点,禁止在任何 <section> 内写 logo
  • logo 文件缺失时按脚本 fallback;必要时自动隐藏并输出 warning

④ 幻灯片内容(必填)

old: <!-- %%SLIDES%% -->
new: 所有 <section> 幻灯片 HTML

主题应用说明:

  • .slide-section / .slide-qa 必须用 !important 覆盖基础 CSS 中的硬编码渐变
  • --primary-pale 会自动影响 info-card 背景、agenda-item hover 等,无需逐一覆盖

Step 3.3:写幻灯片

每张写入前先输出进度:→ 03/12 技术架构现状(序号补零到总数位数)

封面页

<section class="slide slide-cover" id="slide-1">
    <div class="cover-arcs" aria-hidden="true">
        <div class="arc arc-1"></div><div class="arc arc-2"></div><div class="arc arc-3"></div>
    </div>
    <div class="cover-top reveal" style="display:flex;align-items:center;">
        <span style="color:rgba(255,255,255,0.65);font-size:clamp(0.65rem,1.1vw,0.85rem);">[部门]</span>
    </div>
    <div class="cover-main">
        <h1 class="cover-title reveal">[主标题]</h1>
        <p class="cover-subtitle reveal">[副标题]</p>
        <p class="reveal" style="font-size:clamp(0.85rem,1.5vw,1.1rem);color:#fff;font-weight:700;">[姓名|角色/Title]</p>
    </div>
    <div class="cover-bottom"><div class="cover-date reveal">[日期]</div></div>
</section>

内容页(白色)

<section class="slide slide-white" id="slide-N">
    <div class="slide-header center-stack">
        <span class="header-mark"></span>
        <h2 class="header-title">[结论/判断句]</h2>
        <p class="header-sub">[补充说明]</p>
    </div>
    <div class="slide-body" style="justify-content:center;">
        <!-- 组件区 -->
    </div>
</section>

章节过渡页

<section class="slide slide-section" id="slide-N">
    <p class="section-num reveal">PART [N]</p>
    <h2 class="section-title reveal">[章节标题]</h2>
    <p class="section-desc reveal">[一句话说明本章节要回答的问题]</p>
</section>

结尾页

<section class="slide slide-qa" id="slide-N">
    <h2 class="qa-title reveal">Q&amp;A</h2>
    <p class="qa-sub reveal">[感谢语]</p>
</section>

写入约束(所有幻灯片必须遵守):

场景写法
普通间距、字号clamp() 或 CSS 变量
固定 px 尺寸calc(Npx * var(--vp-scale, 1))
容器最大宽度min(calc(XYZpx * var(--vp-scale, 1)), 100%)
max-width 写死 px禁止
内容区宽度<div style="width:min(100%,var(--deck-safe-width));margin:0 auto;">

密度自检(每页必须执行,按模式选对应上限):

检查项A2 主题创作上限A1 内容压缩上限处理
bullet 条数≤ 15 条≤ 8 条超出则拆页
每条 bullet 字数≤ 40 字≤ 25 字超出则压缩
单页总字数≤ 300 字≤ 150 字超出则拆页
info-card 描述≤ 120 字/张≤ 35 字/张A1 超出则精简;A2 超出则拆页
标题类型结论句结论句话题词改判断句

Phase 4:输出

Step 4.1:保存

文件名英文小写 + 连字符;中文关键词转拼音或英译。

Step 4.2:单体化兜底扫描

logo 应在 Step 3.2 ③ 直接从 themes/logos/*.txt 写入。此步骤仅处理其他外部图片遗漏的边缘情况:

python3 scripts/inline-images.py [文件名].html

Step 4.3:Smoke Test(必须执行,不得跳过)

生成完成后立即运行静态检查;失败时必须修复后重跑,不得跳过也不得仅凭”看起来没问题”省略:

./scripts/smoke-test.sh [文件名].html

执行后在回复中明确写出: smoke-test: passed(N 张幻灯片)smoke-test: FAILED — [原因]。未写出视为未执行。

Step 4.4:用浏览器直接打开文件(必须执行,不得跳过)

open [文件名].html

执行后在回复中明确写出: 已用 open 打开浏览器受环境限制无法打开 — [原因]。未写出视为未执行。

成功标准:浏览器直接打开本地 HTML 文件,且不依赖本地 HTTP 服务。

Step 4.5:最终交付摘要(必须输出,格式固定)

在回复的最后输出以下固定格式的摘要块,所有字段必填,缺任何一项视为未完成:

📦 交付摘要
文件路径:[绝对路径或相对路径]
文件大小:[X KB]
幻灯片数:[N] 张
主题:[theme-id]
smoke-test:通过 / 失败([原因])
浏览器:已打开 / 无法打开([原因])
导航:方向键 / 空格翻页 · 右侧圆点 · F 全屏

Phase 4 完成门槛(硬性约束)

在以下全部条件满足前,禁止输出”完成””Done””已生成”或任何等价的结束表述。

  • Step 4.1 文件已保存,文件名符合命名规范
  • Step 4.2 inline-images.py 已执行
  • Step 4.3 smoke-test.sh 已执行,结果已在回复中明确写出
  • Step 4.4 open 已执行,结果已在回复中明确写出
  • Step 4.5 交付摘要已按固定格式输出
  • Step 4.5 已向用户回报上述结果

如果任一步未完成,最终答复必须改为“当前进度 + 阻塞原因”,不能伪装成完整交付。


附录 A:支持文件

文件用途何时读取
template.html预构建引擎壳(含完整 CSS/JS)Step 3.1 cp(必须)
themes/_index.md主题识别规则 + 子品牌表 + logo 索引Phase 0 主题检测
themes/[id].mdCSS 变量 + logo 路径 + 补充规则Step 3.1 并行读取
components.md组件 HTML 片段参考Step 3.1 按需 Grep
icons.md287 个 Feather Icons 内联 SVG有图标槽时按需 Grep
themes/logos/品牌 logo 的 data URI 文本文件Step 3.2 ③ 直接读取 .txt
examples/index.html完整示例文档需要查阅组件骨架时

附录 B:进度通知规范

格式统一为纯文本,不用 markdown 列表或标题。

时机格式示例
Phase 1 完成后一句话确认元数据已收集:腾讯 · 管理层汇报 · 12 页 · 张三 总监
Phase 2 完成后一句话说明页数规划完成,共 12 张,开始生成…
Step 3.3 每张写入前→ 序号/总数 标题→ 03/12 技术架构现状
Step 4.2 完成后一句话含文件大小单体化完成,1.2 MB,无外部依赖。
Step 4.3见 Phase 4 Step 4.3

序号统一补零到总数位数(总数 12 则写 01,总数 100 则写 001)。


附录 C:执行检查清单

Phase 0

  • git pull --ff-only(失败则静默忽略)
  • 提取公司关键词,确定主题文件路径

Phase 1

  • 一次性收集所有字段;缺失项按推断规则补全
  • 页数推断结果与内容不符时,显式确认

Phase 2

  • 演讲稿输入:应用"演讲稿转换规则",禁止逐段照搬
  • 内容密度符合对应场景上限
  • 布局多样性自检通过(局部连续 + 全局比例)
  • 封面、目录、章节过渡、结尾均已规划

Phase 3

  • cp template.html 完成
  • 填充 ① 标题 ② 主题样式 ③ logo(base64)④ 幻灯片内容
  • 当前主题所需的 logo .txt 文件存在并已直接写入;文件缺失时执行 Fallback
  • 每张幻灯片密度自检通过
  • 所有 info-card / step-card 包含图标

Phase 4

  • Step 4.1 保存
  • Step 4.2 扫描无残留外部引用
  • Step 4.3 smoke-test 已执行并检查结果
  • Step 4.4 已执行浏览器直接打开本地文件;若受限,已明确说明阻塞
  • Step 4.5 已告知用户文件信息与验证结果

最终答复模板(必须对照)

  • 文件路径
  • 文件大小 / 幻灯片总数 / 主题名称
  • smoke-test 结果
  • 浏览器打开结果或阻塞原因
  • 下一步可选动作

禁止项

  • ❌ 在 <section> 内写 logo 代码
  • max-width 写死 px
  • ❌ 直接编辑 template.html
  • ❌ 编造原文无源的具体数字
  • ❌ 演讲稿逐段照搬
  • ❌ info-card 不加图标
  • ❌ 少量卡片在全宽容器里偏左留白

非目标

  • 不生成 .pptx,只输出单个 HTML
  • 不自动抓取互联网内容,除非用户提供素材
  • 不伪造演讲者身份、职位、部门
  • 不擅自修改未被点名的现有页面
  • 不保证所有品牌主题与官方品牌规范完全一致

Version tags

latestvk97dt5hb851k0q8aak4twgadj9853ba6