为 oh-my-ppt 生成 PPT 风格包的 AI skill。
oh-my-ppt 内置 60+ 风格(极光、赛博霓虹、包豪斯、国风水墨…),每个风格就是一个风格包——三件套文件。这个 skill 把任意输入(文字描述 / PPTX / 一张参考图)一次性产出一个可被 oh-my-ppt 加载的风格包。
<style-slug>/
style.json # 元数据(风格名、分类、别名、版本…,不放正文)
SKILL.md # 给生成模型读的风格正文(配色/排版/装饰/布局/动画/不要)
preview.html # 一张 16:9 演示页,纯 inline,零外部资源,让风格自己说话
这三个文件的契约见 SKILL.md 正文。
这个仓库本身就是这个 skill。它不依赖 oh-my-ppt 源码,自包含。装到任意 Claude Code / Codex CLI / Cursor 环境里,跟 AI 说"把这张图做成风格包"、"提取这个 PPTX 的风格"、"做个赛博朋克风格",它就会按 oh-my-ppt 风格包格式产出三件套。
style-generate-skill/
├── SKILL.md # 主入口(事实来源,唯一规范)
├── agents/openai.yaml # Codex skill UI 元数据
├── scripts/ # 确定性写盘、PPTX 提取与整包校验
├── references/ # Progressive disclosure,按需加载
│ ├── schema.md # style.json 字段/校验/source 规则
│ ├── image-pipeline.md # 图片→base64→多模态,含反幻觉兜底
│ ├── preview-spec.md # preview.html 硬约束
│ ├── pptx-pipeline.md # PPTX 提取与证据边界
│ └── style-skill-guide.md # styleSkill 正文写法
├── assets/ # 模板
│ ├── style.json.template
│ └── preview.html.template
└── compat/ # 跨 agent 适配层(正文只有 SKILL.md 一份)
├── AGENTS.md # Codex CLI 入口
├── cursor-rules.mdc # Cursor 入口
└── README.md # 各 agent 安装路径
cp -r . ~/.claude/skills/style-package-generate/重启会话,自动按 description 触发。
把整个目录安装到 ~/.codex/skills/style-package-generate/。Codex 通过根目录 SKILL.md 发现技能,agents/openai.yaml 提供展示元数据;compat/AGENTS.md 不是自动发现入口。
把整个目录复制到 <project>/.cursor/skills/style-package-generate/,再把 compat/cursor-rules.mdc 复制到 <project>/.cursor/rules/style-package-generate.mdc。
装好后,跟 AI 自然说话即可:
- "把这张图做成风格包"(图片输入,走多模态解析路径)
- "提取这个 PPTX 的风格"(PPTX 解析路径)
- "做一个赛博朋克霓虹风格,深色 + 霓虹粉青"
- "导入这个风格" + 一段 Markdown 描述
产出落在指定目录或当前工作目录下的 <slug>/ 子目录,可直接拷进 oh-my-ppt 的 resources/styles/ 使用。
- 三件套各司其职:
style.json不放正文,正文只在SKILL.md;preview.html只用 inline CSS+HTML。 source永远是custom:本 skill 不产 builtin,不覆盖 builtin;slug 冲突 builtin 时改 slug。- preview 自包含:禁主动内容和外部资源,并用
scripts/validate_style_package.py做结构化检查。 - 图片反幻觉兜底:模型若说"没看到图",必须报错不落盘,防止幻觉风格混进库。
完整规范、失败边界、why 解释见 SKILL.md 和 references/。
- 风格包格式参考 oh-my-ppt 的
resources/styles/。 - Skill 结构与写法参考
skill-creator的 progressive disclosure 范式。
Apache-2.0