Slide-Writer
把想法、大纲、文档或草稿变成结构清晰、设计精良的企业级 HTML 演示文稿。
Free to install — no account needed
Copy the command below and paste into your agent.
Instant access • No coding needed • No account needed
What you get in 5 minutes
- Full skill code ready to install
- Works with 2 AI agents
- Lifetime updates included
Description
--- name: slide-writer display_name: Slide-Writer description: 把想法、大纲、文档或草稿变成结构清晰、设计精良的企业级 HTML 演示文稿。 version: 1.0.0 author: Feei homepage: https://github.com/FeeiCN/slide-writer repository: https://github.com/FeeiCN/slide-writer license: MIT tags: - presentation - slides - ppt - keynote - html - storytelling - enterprise entry: SKILL.md language: zh-CN compatible_with: - claude-code - codex --- # Slide-Writer 把任意输入(想法、大纲、草稿文档、会议纪要)转化为企业级 HTML 演示文稿,自动匹配所在公司的品牌主题。 ## 核心原则 1. **品牌一致** — 从请求中自动识别公司,应用对应品牌色主题;内置 14 家互联网公司主题。 2. **内容为王** — 自动润色每句话:去冗余、精简、让表达更有力。 3. **不溢出** — 每张幻灯片必须在 100vh 内完整呈现,内容多则分页,绝不出现滚动条。 4. **单文件交付** — 输出单个 `.html` 文件,CSS/JS 全部内联,零依赖,浏览器直接打开。 --- ## Phase 0:准备 ### 自动更新(第一步,必须执行) ```bash git pull --ff-only ``` 成功 → 静默继续;失败(无网络 / 有冲突)→ 静默忽略,继续使用当前版本。 ### 模式识别 - **Mode A:全新制作** — 从主题/大纲/草稿创建,进入 Phase 1。 - **A1:内容压缩** — 用户提供了演讲稿、大纲或草稿(输入字数 ≥ 200 字),目标是提炼精简,应用演讲稿转PPT规则和密度上限。 - **A2:主题创作** — 用户只提供了主题/标题(输入字数 < 200 字),目标是**主动生成丰富内容**,充分展开每个子话题,**不受演讲稿压缩规则约束**,卡片描述上限放宽至 120 字,页数默认 10–15 页。 - **Mode B:增强改稿** — 在现有 HTML 上修改或扩充内容: 1. 完整读取现有 HTML,识别所有 `<section>` 的 `id`、`class`、标题,输出当前幻灯片清单 2. **范围判断**:修改 ≤ 3 张 → 精确改稿;修改 > 30% 或新增 > 原有 → 建议用 Mode A 重新生成 3. 识别原有主题(用户未要求更换则保留) 4. 按用户描述(序号、标题关键词)定位目标 `<section>`,**确认后再操作** 5. 只改被点名的 `<section>`,新增页插入逻辑最合适的位置 6. 未被点名的幻灯片保持原样,不做"顺手优化" 7. 改完检查:目录议程项数与内容页数是否一致?章节逻辑是否连贯?不一致则列出,询问用户是否同步更新 8. 执行与 Mode A 相同的质量检查 ### 主题检测 读取 [themes/_index.md](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-block`、`step-card`、`quote-box`、`agenda-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-box`、`stat-block`、大数字 | 密集列表或多主题混页 | | 核心结论 + 数据支撑 | `insight-panel` | 判断句和数字分散在两张独立卡片 | | 并列要点 / 三原则 | `three-col`、`info-card`、`stat-block` | 三个平级观点写成纵向长段 | | 双对象对比 | `two-col`、左右图文混排 | 单列顺序写法 | | 分阶段推进 | `step-card`、`step-flow-grid` | 普通 bullet 描述"第一第二第三" | | 月度 / 季度路线图 | `roadmap-col` | 普通 step-card 忽略时间轴感 | | 工作流 / 研发流程 | `flow-item`(4列×N行) | 有序列表平铺 8 个步骤 | | 能力成熟度 / 等级体系 | `level-row` | 普通 bullet 描述各等级 | | 组织支撑 / 能力体系 | `support-board`、`support-card`、`role-card` | 多段正文描述体系 | | 责任清单 / 人员分工 | `support-mini-card` + `@负责人` | 普通 bullet 列名字 | | 多角色流转 / 跨方协同 | `demand-flow-board` | 静态列表描述角色 | | 数据 / 占比 / 趋势 | `stat-block`、进度条、SVG 图表、表格 | 只写数字句子无图形支撑 | | 排名 / 优先级 | `bar-rank` | 纯数字列表 | | 业务线 / 产品集合 | `tag-cloud` | 等高等大标签平铺 | | 产品截图 | `browser-mockup` | 裸放图片无上下文 | | 引用原话 | `quote-box`、`insight` | 堆多段长引用 | | 结尾总结 | 分组总结页、`agenda-item`、`highlight-box` | 结尾再展开大量新信息 | **组件约束:** - 先选骨架,再选骨架内组件;强结构页(`support-board`、`demand-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-band`、`map-note-card`、`artifact-callout`、`split-metric-stage`、`city-axis-board`,避免无语义的 `box-1`、`layout-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:准备文件 **① 复制模板** ```bash 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** ```bash # `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 技术架构现状`(序号补零到总数位数) **封面页** ```html <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> ``` **内容页(白色)** ```html <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> ``` **章节过渡页** ```html <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> ``` **结尾页** ```html <section class="slide slide-qa" id="slide-N"> <h2 class="qa-title reveal">Q&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` 写入。此步骤仅处理其他外部图片遗漏的边缘情况: ```bash python3 scripts/inline-images.py [文件名].html ``` **Step 4.3:Smoke Test(必须执行,不得跳过)** 生成完成后立即运行静态检查;失败时必须修复后重跑,不得跳过也不得仅凭”看起来没问题”省略: ```bash ./scripts/smoke-test.sh [文件名].html ``` > **执行后在回复中明确写出:** `smoke-test: passed(N 张幻灯片)` 或 `smoke-test: FAILED — [原因]`。未写出视为未执行。 **Step 4.4:用浏览器直接打开文件(必须执行,不得跳过)** ```bash 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](template.html) | 预构建引擎壳(含完整 CSS/JS) | Step 3.1 `cp`(必须) | | [themes/_index.md](themes/_index.md) | 主题识别规则 + 子品牌表 + logo 索引 | Phase 0 主题检测 | | `themes/[id].md` | CSS 变量 + logo 路径 + 补充规则 | Step 3.1 并行读取 | | [components.md](components.md) | 组件 HTML 片段参考 | Step 3.1 按需 Grep | | [icons.md](icons.md) | 287 个 Feather Icons 内联 SVG | 有图标槽时按需 Grep | | `themes/logos/` | 品牌 logo 的 data URI 文本文件 | Step 3.2 ③ 直接读取 `.txt` | | [examples/index.html](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 - 不自动抓取互联网内容,除非用户提供素材 - 不伪造演讲者身份、职位、部门 - 不擅自修改未被点名的现有页面 - 不保证所有品牌主题与官方品牌规范完全一致
Security Status
Scanned
Passed automated security checks
Related AI Tools
More Career Boost tools you might like
PPT Generator Pro - Claude Code Skill
Free- **Skill 名称**: ppt-generator-pro - **版本**: 2.0.0 - **描述**: 基于 AI 自动生成高质量 PPT 图片和视频,支持智能转场和交互式播放
Humanizer: Remove AI Writing Patterns
FreeTransforms AI-generated text into natural, human-sounding writing by detecting and fixing common AI patterns like inflated symbolism, promotional language, and passive voice
Color Expert
FreeUse when working with color naming, color theory, color spaces, color definitions, or any task involving color knowledge - palettes, ramps, gradients, conversions, accessibility, perceptual matching, pigment mixing, print-vs-screen color, CSS color s
Jest Testing Skill
FreeGenerates Jest unit and integration tests in JavaScript or TypeScript with mocking, snapshots, async testing, and React component testing
Jasmine Testing Skill
FreeGenerates Jasmine BDD-style JavaScript tests with spies, async support, and comprehensive matchers for unit testing
JUnit 5 Testing Skill
FreeGenerates production-grade JUnit 5 unit and integration tests in Java with assertions, parameterized tests, lifecycle hooks, and Mockito mocking