Skill flagged — suspicious patterns detected

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

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 · 17 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
Skill claims to auto-generate PPTs and send via Feishu, which is plausible, but the manifest declares no environment variables or credentials while SKILL.md repeatedly references GEMINI_API_KEY, GOOGLE_BASE_URL and a Feishu USER. It also expects local skill libraries under ~/.openclaw/skills/..., which are not declared. Required artifacts (API keys, local scripts) are missing from the declared requirements — this is an incoherence.
!
Instruction Scope
Runtime instructions tell the agent to read files under the user's home (~/.openclaw/skills/... and ~/.zshrc), create directories on the Desktop, run npx/bun to execute local TypeScript scripts, and call a Feishu send script. These steps access other skills' files, local shell config (potentially sensitive), and execute code on the machine — scope extends beyond a simple 'PPT helper' and includes local file I/O and remote API usage.
Install Mechanism
There is no install spec (instruction-only), which is lower risk in principle. However, the SKILL.md instructs using 'npx -y bun' to run scripts and sets NODE_TLS_REJECT_UNAUTHORIZED=0. Using npx can fetch packages at runtime and the explicit disabling of TLS validation is insecure — these runtime execution patterns raise concerns even without an explicit install step.
!
Credentials
The manifest lists no required env vars or credentials, but the instructions require GEMINI_API_KEY and GOOGLE_BASE_URL (for image generation) and a Feishu user/token implied by the send script. The skill also reads ~/.zshrc for env configuration. Requesting/using these secrets without declaring them is disproportionate and opaque.
!
Persistence & Privilege
always is false, but the skill's instructions read and execute scripts from ~/.openclaw/skills/* (other skills' directories). Accessing other skills' files/config is a cross-skill scope escalation risk. The skill also writes files to Desktop and system paths. Combined with autonomous invocation (platform default), these behaviors increase the blast radius if misused.
What to consider before installing
This skill's design is inconsistent: SKILL.md requires API keys (GEMINI_API_KEY, GOOGLE_BASE_URL) and local scripts under ~/.openclaw/skills, but the manifest declares none. Before installing or running it, do the following: 1) Verify and supply only the minimal, scoped API keys (preferably scoped service accounts) and do not store broad credentials in ~/.zshrc; 2) Inspect the referenced local scripts (~/.openclaw/skills/baoyu-*) and TOOLS.md to ensure they are trusted and contain no arbitrary exec/network calls; 3) Do not run commands that set NODE_TLS_REJECT_UNAUTHORIZED=0 — this disables TLS verification and is unsafe; 4) Confirm how Feishu credentials are provided and limit their permissions; 5) Prefer running in a sandboxed/test environment first (no access to your real HOME or production credentials); and 6) Ask the author to update the manifest to declare required env vars, explain all referenced local files, and remove/justify insecure runtime flags. If you cannot validate these points, treat the skill as risky and avoid enabling it for autonomous use.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.1.0
Download zip
latestvk970v4esxjk33j6r0namfjybk58304js

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

PPT AFP — 全自动幻灯片生成流

角色:你是顶级视觉设计师 + PPT产品经理,擅长将内容转化为震撼的演示文稿。


⛔ 执行前必读(三条铁律)

  1. 每次执行前必须重新 read 本 SKILL.md,不能凭印象走
  2. 每完成一个阶段,显式报告:说出"P阶段完成"再进入下一阶段
  3. 每阶段结束对照下方 Phase Gate 逐条核查,全部打勾才能继续

📊 进度仪表盘(每阶段更新)

PPT AFP 进度
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
P0 参数收集     [⬜/🔄/✅]
P1 风格确认     [⬜/🔄/✅]  风格:___  张数:___  受众:___
P2 大纲生成     [⬜/🔄/✅]  共___张已确认
P3 Prompt生成   [⬜/🔄/✅]  ___个prompt已确认
P4 AI生图       [⬜/🔄/✅]  ___/___张完成
P5 打包发送     [⬜/🔄/✅]  PPTX已发送
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

P0:参数收集

收集以下信息(未提供则主动询问):

参数说明
主题PPT的核心主题(必须)
内容来源已有大纲/文档路径,或从零开始
目标用途直播/演讲/分享/内部汇报
张数偏好不填则根据内容自动推荐(8-15张)
是否发飞书默认是

Phase Gate P0:

  • 主题明确
  • 内容来源确认
  • 用途清晰

P1:风格确认(⚠️ 必须让用户选,不能自行决定)

Step 1:发送风格图鉴

发送飞书预览文档链接,让用户直观浏览37种风格:

📎 风格图鉴文档https://sgl0nnj5ev.feishu.cn/docx/YV09dH7KHoKUGgxZKGVcm4MHnkf

打开后可以看到所有37种风格的预览图,按场景分类,每个风格都有编号和说明。

发送话术示例(直接发给用户):

我为你准备了37种PPT风格预览 👉 https://sgl0nnj5ev.feishu.cn/docx/YV09dH7KHoKUGgxZKGVcm4MHnkf

打开看看,选一个你喜欢的编号(1-37)告诉我就行!

Step 2:等待用户选择 + 确认参数

用户选择风格后,同时确认:

  • 受众:一般读者 / 初学者 / 专家 / 高管
  • 张数:推荐N张(基于内容量),用户可调整
  • 是否审查大纲:是/否(建议是)
  • 是否审查Prompt:是/否(建议否,节省时间)

风格编号速查表

#风格名分类
1bold-editorial🔥 演讲
2dark-atmospheric🔥 演讲
3minimal🔥 演讲
4magazine-editorial-light🔥 演讲
5gradient-aurora🔥 演讲
6warm-gradient🔥 演讲
7corporate💼 商务
8notion💼 商务
9data-dashboard💼 商务
10isometric-3d💼 商务
11chalkboard📚 教育
12sketch-notes📚 教育
13scientific📚 教育
14blueprint📚 教育
15intuition-machine📚 教育
16storybook📚 教育
17watercolor🎨 创意
18vector-illustration🎨 创意
19fantasy-animation🎨 创意
20paper-cut🎨 创意
21bauhaus🎨 创意
22neon-pop🎨 创意
23candy-pastel🎨 创意
24neon-cyberpunk🔮 科技
25retro-synthwave🔮 科技
26terminal-hacker🔮 科技
27glassmorphism🔮 科技
28pixel-art🔮 科技
29ink-wash🏛 文化
30chinese-national-tide🏛 文化
31japanese-zen🏛 文化
32vintage🏛 文化
33earth-organic🏛 文化
34newspaper⚔️ 特殊
35military-tactical⚔️ 特殊
36brutalist⚔️ 特殊
37editorial-infographic⚔️ 特殊

Phase Gate P1:

  • 已发送风格图鉴链接
  • 用户已选择风格
  • 受众已确认
  • 张数已确认

P2:大纲生成

执行步骤:

  1. 创建工作目录:

    ~/Desktop/二饼文件夹/openclaw 二饼/slide-deck/{topic-slug}/
    
  2. 调用 baoyu-slide-deck 生成大纲:

    • 读取 ~/.openclaw/skills/baoyu-slide-deck/references/outline-template.md
    • 读取对应风格文件:references/styles/{style}.md
    • 按确认的张数、受众、语言生成 outline.md
  3. 如果用户选择"审查大纲",展示大纲摘要表:

    | # | 标题 | 类型 | 布局 |
    |---|------|------|------|
    | 1 | xxx  | 封面 | title-hero |
    | 2 | xxx  | 内容 | ... |
    

    等待用户确认后继续。

Phase Gate P2:

  • outline.md 已生成
  • 用户已确认大纲结构(或跳过审查)

P3:Prompt生成

执行步骤:

  1. 读取 ~/.openclaw/skills/baoyu-slide-deck/references/base-prompt.md

  2. 为每张幻灯片生成 prompt 文件,保存到 prompts/ 目录

  3. 每个 prompt 包含:

    • base-prompt 内容
    • STYLE_INSTRUCTIONS(从 outline.md 提取)
    • 该张幻灯片的具体内容描述
  4. 生成 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"
        }
      ]
    }
    
  5. 如果用户选择"审查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_KEYGOOGLE_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 total
Select a file
Select a file to preview.

Comments

Loading comments…