PPT AFP
PPT全自动生成流(AFP:Auto-Flow Prompt)。用户提供主题和内容,Agent自动完成:风格选择 → 大纲生成 → Prompt生成 → AI生图 → 打包PPTX → 发送飞书。当用户说"帮我做PPT"、"生成幻灯片"、"制作演示文稿"、"ppt-afp"时触发。
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 0 · 14 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
OpenClaw
Suspicious
high confidencePurpose & Capability
The skill claims to generate PPTX and send via Feishu, which is coherent at a high level, but the SKILL.md expects many local helper scripts and reference files under ~/.openclaw/skills/baoyu-slide-deck and ~/.openclaw/skills/baoyu-image-gen. Those dependencies are not declared in the registry metadata (no required config paths, no required env vars). Requiring access to other skill directories and a Desktop write path is not justified in the metadata and is disproportionate to the declared 'instruction-only' skill.
Instruction Scope
The instructions tell the agent to create ~/Desktop directories, read files under ~/.openclaw/skills/* (outline templates, style files, base prompt), run node/bun scripts from those locations, generate images via an external provider, and call a Feishu send script. They also reference reading ~/.zshrc for environment variables. This touches user home config and other skills' files, and gives the agent discretion to run arbitrary scripts — scope is broader than the simple description implies.
Install Mechanism
No install spec (instruction-only), which reduces upfront install risk, but it means at runtime the agent will execute commands (npx -y bun, python scripts) and rely on code in the user's filesystem. Because no code shipped with this skill, the security posture depends entirely on the external scripts and local files the skill expects to exist.
Credentials
The SKILL.md expects environment variables (GEMINI_API_KEY, GOOGLE_BASE_URL) and references a Feishu user id and send script, yet the registry metadata lists no required env vars or credentials. Additionally, the instructions include NODE_TLS_REJECT_UNAUTHORIZED=0 (disables TLS certificate validation) when invoking image generation and merge scripts — a dangerous practice that is not justified by the stated purpose.
Persistence & Privilege
The skill is not always:true (good), but it instructs the agent to execute code from other skill directories and to run npx -y bun which can fetch and run remote packages at runtime. That gives it effective execution privilege over arbitrary local scripts and potentially remote packages; combined with reading ~/.zshrc and home directory paths, this elevates the operational risk.
What to consider before installing
This skill has plausible functionality but the runtime instructions expect and run local scripts and environment variables that are not declared. Before installing or running it: 1) Verify the exact contents and provenance of ~/.openclaw/skills/baoyu-slide-deck and ~/.openclaw/skills/baoyu-image-gen (ensure you trust those scripts). 2) Do not allow the agent to run these commands on your primary machine until you inspect them; run in a sandbox or VM. 3) Require the skill metadata to declare GEMINI_API_KEY, GOOGLE_BASE_URL, and any Feishu credentials it uses — do not provide secrets blindly. 4) Remove or question the use of NODE_TLS_REJECT_UNAUTHORIZED=0 (it disables TLS checks). 5) Ask the publisher for a manifest of all external commands and network endpoints the skill will call. If you cannot confirm these, treat the skill as risky and avoid granting it execution on sensitive systems.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.0
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
PPT AFP — 全自动幻灯片生成流
角色:你是顶级视觉设计师 + PPT产品经理,擅长将内容转化为震撼的演示文稿。
⛔ 执行前必读(三条铁律)
- 每次执行前必须重新 read 本 SKILL.md,不能凭印象走
- 每完成一个阶段,显式报告:说出"P阶段完成"再进入下一阶段
- 每阶段结束对照下方 Phase Gate 逐条核查,全部打勾才能继续
📊 进度仪表盘(每阶段更新)
PPT AFP 进度
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
P0 参数收集 [⬜/🔄/✅]
P1 风格确认 [⬜/🔄/✅] 风格:___ 张数:___ 受众:___
P2 大纲生成 [⬜/🔄/✅] 共___张已确认
P3 Prompt生成 [⬜/🔄/✅] ___个prompt已确认
P4 AI生图 [⬜/🔄/✅] ___/___张完成
P5 打包发送 [⬜/🔄/✅] PPTX已发送
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
P0:参数收集
收集以下信息(未提供则主动询问):
| 参数 | 说明 |
|---|---|
| 主题 | PPT的核心主题(必须) |
| 内容来源 | 已有大纲/文档路径,或从零开始 |
| 目标用途 | 直播/演讲/分享/内部汇报 |
| 张数偏好 | 不填则根据内容自动推荐(8-15张) |
| 是否发飞书 | 默认是 |
Phase Gate P0:
- 主题明确
- 内容来源确认
- 用途清晰
P1:风格确认(⚠️ 必须让用户选,不能自行决定)
展示风格选项,让用户选择:
| 编号 | 风格名 | 特点 | 适合场景 |
|---|---|---|---|
| 1 | bold-editorial | 黑底大字,杂志封面感,强视觉冲击 | 直播、产品发布、keynote ✨推荐 |
| 2 | dark-atmospheric | 暗色沉浸,电影质感 | 娱乐、游戏、品牌故事 |
| 3 | minimal | 极简留白,高级感 | 高管汇报、学术分享 |
| 4 | notion | 清晰结构,产品感 | 产品演示、SaaS、工具介绍 |
| 5 | chalkboard | 手写黑板风,亲切感 | 教育、教程、课程 |
| 6 | corporate | 专业商务风 | 投资人、季报、提案 |
| 7 | sketch-notes | 手绘风格,有温度 | 知识分享、社区运营 |
| 8 | vector-illustration | 插画风,活泼 | 创意、儿童、文化内容 |
同时确认:
- 受众:一般读者 / 初学者 / 专家 / 高管
- 张数:推荐N张(基于内容量),用户可调整
- 是否审查大纲:是/否(建议是)
- 是否审查Prompt:是/否(建议否,节省时间)
Phase Gate P1:
- 用户已选择风格
- 受众已确认
- 张数已确认
P2:大纲生成
执行步骤:
-
创建工作目录:
~/Desktop/二饼文件夹/openclaw 二饼/slide-deck/{topic-slug}/ -
调用
baoyu-slide-deck生成大纲:- 读取
~/.openclaw/skills/baoyu-slide-deck/references/outline-template.md - 读取对应风格文件:
references/styles/{style}.md - 按确认的张数、受众、语言生成
outline.md
- 读取
-
如果用户选择"审查大纲",展示大纲摘要表:
| # | 标题 | 类型 | 布局 | |---|------|------|------| | 1 | xxx | 封面 | title-hero | | 2 | xxx | 内容 | ... |等待用户确认后继续。
Phase Gate P2:
- outline.md 已生成
- 用户已确认大纲结构(或跳过审查)
P3:Prompt生成
执行步骤:
-
读取
~/.openclaw/skills/baoyu-slide-deck/references/base-prompt.md -
为每张幻灯片生成 prompt 文件,保存到
prompts/目录 -
每个 prompt 包含:
- base-prompt 内容
- STYLE_INSTRUCTIONS(从 outline.md 提取)
- 该张幻灯片的具体内容描述
-
生成 batch.json,格式:
{ "jobs": 3, "tasks": [ { "id": "01-slide-cover", "promptFiles": ["prompts/01-slide-cover.md"], "image": "01-slide-cover.png", "provider": "google", "ar": "16:9", "quality": "2k" } ] } -
如果用户选择"审查Prompt",展示 prompt 列表等待确认
Phase Gate P3:
- 所有 prompt 文件已生成(数量 = 张数)
- batch.json 已生成
- 用户已确认(或跳过审查)
P4:AI生图
默认模型配置(已验证中文渲染正确):
# 从环境变量读取(已配置在 ~/.zshrc)
# GEMINI_API_KEY=<your-key>
# GOOGLE_BASE_URL=<your-url>
MODEL=gemini-3-pro-image-preview
执行命令:
cd {工作目录} && \
NODE_TLS_REJECT_UNAUTHORIZED=0 \
npx -y bun ~/.openclaw/skills/baoyu-image-gen/scripts/main.ts \
--batchfile batch.json --jobs 3 \
--provider google --model gemini-3-pro-image-preview
实时报告进度: 每完成3张报告一次 "已完成 X/N 张"
Phase Gate P4:
- 所有图片生成成功(Succeeded: N,Failed: 0)
- 图片分辨率正确(应为约 2752×1536)
P5:打包 & 发送
步骤1:用 merge-to-pptx.ts 打包
cd {工作目录} && \
NODE_TLS_REJECT_UNAUTHORIZED=0 \
npx -y bun ~/.openclaw/skills/baoyu-slide-deck/scripts/merge-to-pptx.ts .
步骤2:移动到标准目录
~/Desktop/二饼文件夹/openclaw 二饼/PPT/{主题名称}.pptx
步骤3:发送飞书(使用标准飞书API发送脚本)
# 见 TOOLS.md 中的飞书发文件脚本
# USER = ou_74c5a7816fcb78172bfca68a7f7449e8
步骤4:确认本地路径
Phase Gate P5:
- PPTX 已生成(文件存在,大小 > 1MB)
- 已发送飞书(返回 code=0)
- 本地路径已告知用户
关键经验(血泪教训)
✅ 已验证可用的配置
- 生图模型:
gemini-3-pro-image-preview(中文完全正确,2752×1536高分辨率) - API:通过环境变量
GEMINI_API_KEY和GOOGLE_BASE_URL配置(见 ~/.zshrc) - merge-to-pptx.ts:输出文件名为
..pptx(需要手动 cp 重命名)
❌ 已知问题
gemini-2.5-flash-image中文乱码 → 不要用ar=16:9参数对某些模型无效 → gemini-3-pro 已解决- merge-to-pptx.ts 输出路径是上一级目录的
..pptx→ 用 find 找到后 cp
📐 一定要让用户选风格
- P1 是强制步骤,不能自行决定风格
- 展示风格对比表,让用户做选择
触发关键词
- "帮我做PPT"、"做个幻灯片"、"制作演示"
- "ppt-afp"、"启动PPT流程"
- 提供了内容/大纲并希望转成PPT
Files
1 totalSelect a file
Select a file to preview.
Comments
Loading comments…
