Install
openclaw skills install @cqcmj74/html-slides-to-pptx编写可无损还原为 PPTX 的 HTML 幻灯片。先经引导式访谈确认样式/形式/结构并落盘 deck-brief,再生成完整目录结构(assets/theme.css、slides/*.html、playlist.json), 每页严格遵循 html-spec.md 规范,经 validate.js 预检零 ERROR 后用 convert.js 转成 PowerPoint。TRIGGER when: 用户要求"做PPT/幻灯片/slides/演示文稿"、"把内容做成 HTML幻灯片"、"生成可转PPTX的slides",或调用 /html-slides-to-pptx。DO NOT TRIG
openclaw skills install @cqcmj74/html-slides-to-pptx转换器(scripts/convert.js + 浏览器端提取管线)只无损支持 HTML/CSS 的一个子集。
每页 HTML 必须严格遵循 reference/html-spec.md —— 这是契约,不是建议。
写页面之前必须先完成 Step 1 访谈并让用户确认 slides/deck-brief.md。
以下命令中的
SKILL_DIR指本技能的根目录(即 SKILL.md 所在目录)。 技能加载时系统会显示 "Base directory for this skill: <路径>",用该路径替换SKILL_DIR。
SKILL_DIR="<技能根目录,即 Base directory>"
ls "$SKILL_DIR/scripts/node_modules/playwright" >/dev/null 2>&1 \
&& echo OK || (cd "$SKILL_DIR/scripts" && npm install && npx playwright install chromium)
若输出 OK 则跳过安装;否则等待安装完成再继续。
读 reference/interview-guide.md 并严格执行:五阶段(定位→结构→视觉→版式→输出)
10 问 + 大纲确认,每问有默认值与智能跳过规则。配套查询:
reference/narrative-skeletons.md(脚手架非模具;用户可选"自由结构")reference/theme-presets.md(5 套预设 + 自定义 hex 推导)reference/density-tiers.md(演讲/混合/阅读 三档参数)访谈收尾:按 assets/deck-brief.template.md 生成确认卡展示给用户,
用户确认后落盘 slides/deck-brief.md —— 此后它是唯一执行事实源;
后续"改第 N 页/换色板"类迭代直接读它,不重访谈。
在当前工作目录生成:
assets/theme.css # 按 brief 色板:复制 assets/presets/<选定预设>.css(自定义色则按推导值生成)
slides/NN-slug.html # 每页一个文件,两位数字前缀排序
slides/playlist.json # 从 assets/playlist.template.json 实例化,playlist 按顺序列全页面
slides/deck-brief.md # Step 1 落盘的需求确认卡
slides/slides.config.json # 可选:项目级转换配置(键见 scripts/config/default.config.js)
目录已存在时,保留用户已有文件,只补缺失项。
assets/slide-template.html(方式 A)/ slide-template-flex.html(B)/ slide-template-layout.html(C)assets/snippets/(14 个片段:页头/卡片/KPI/流程步骤/时间线节点/对比卡/代码块/引用块/数据表格/渐变英雄区等,INDEX.md 有参数表)reference/layout-recipes.md(三卡片/分栏/统计带/条目堆叠)
2.5 P2 高级特性(按需使用,详见 html-spec.md §5):data-shape="chevron|star5|rightArrow|..." → 80+ 预设几何(流程图/箭头/星形)data-chart='{"type":"bar",...}' → 原生可编辑图表(bar/line/area/pie)<img data-object="true"> → 原生可编辑图片(object-fit 映射)<video poster src> / <audio src> → 原生音视频嵌入1920x1080,.slide-container relative + overflow hiddendata-object="true";嵌套标记 = ERRORline-height;字重只用 400/600/700/800/900transform:rotate() 已支持(scale/skew/translate 仍禁);方式 C 子级禁写 position/left/top/width/height<template data-slide-notes>node "$SKILL_DIR/scripts/validate.js" slides/
node "$SKILL_DIR/scripts/convert.js" ./slides ./slides/playlist.json output.pptx
告知用户:PPTX 路径、页数、validate 结果(残留 WARN 及理由)、备注写入情况、deck-brief.md 位置。 如用户装了 PowerPoint,可提示可直接打开 output.pptx 检查。
<sup>/<sub> 原生上下标config/default.config.js 是唯一事实源;项目级 slides/slides.config.json 覆盖(如 {"nativeGradient":true} 开启原生渐变;{"master":{"pageNumbers":true}} 开启页码;{"incrementalCache":false} 关闭增量缓存){"file":"01.html","transition":"fade"} → p:transition(fade/push/wipe/cover/split)<video poster src> / <audio src> → addMedia 原生嵌入<template data-slide-notes> → 写入该页备注reference/creative-layouts.md 含 8 种模式 + 特性决策树;写页前必读node "$SKILL_DIR/scripts/test/golden.js" verify 三层等价(L1 提取+L2 XML+L3 截图);行为契约见 reference/behavior-baseline.mdreference/interview-guide.md — 引导式访谈指南(Step 1 必读)reference/narrative-skeletons.md — 4 套叙事骨架(脚手架非模具)reference/theme-presets.md — 通用色板预设速查 + 自定义推导reference/brand-styles.md — 11 个品牌风预设档案 + 58 品牌按需蒸馏 SOPreference/density-tiers.md — 信息密度三档参数reference/html-spec.md — 编写规范(契约),写页面前必读reference/layout-recipes.md — 版式配方(方式 B/C 基础骨架)reference/creative-layouts.md — 创意布局手册(P2 新特性组合技巧:渐变/预设几何/上下标/原生图表表格/旋转/虚线/阴影的 8 种创意模式 + 特性选择决策树;写页前必读)reference/behavior-baseline.md — 行为快照与怪癖决策(改转换器前必读)assets/theme.css — 默认色板;assets/presets/ — 5 套色板预设assets/deck-brief.template.md — 需求确认卡模板assets/slide-template{,-flex,-layout}.html — 三套样板页(方式 A/B/C)assets/snippets/ — 14 个高频片段(页头/卡片/KPI/流程/时间线/对比/代码/引用/表格/渐变英雄区;INDEX.md 索引)assets/playlist.template.json — playlist 模板scripts/validate.js — 规范预检器(ERROR/WARN 分级)scripts/convert.js — 转换 CLI(config/core/extract/render 分层)scripts/test/ — golden 回归 harness、测绘、阶段验收、walkthrough、preset-parity