Skill flagged — suspicious patterns detected

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

md-to-nanobanana-ppt

v1.0.0

将Markdown分析报告转换为完整PPT:先提供5种以上配色方案供用户选择,再拆分为不超过20张幻灯片,生成对应的 nano-banana 图片提示词,调用 nano-banana2-apiyi 出图,最后合成 `.pptx` 并按文件大小分流交付。当用户需要把 Markdown 报告转成 PPT、从现有报告生...

1· 106·0 current·0 all-time
byHeaven@yunni123

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for yunni123/md-to-nanobanana-ppt.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "md-to-nanobanana-ppt" (yunni123/md-to-nanobanana-ppt) from ClawHub.
Skill page: https://clawhub.ai/yunni123/md-to-nanobanana-ppt
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install md-to-nanobanana-ppt

ClawHub CLI

Package manager switcher

npx clawhub@latest install md-to-nanobanana-ppt
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The name/description match the instructions (convert MD → PPT with nano-banana images, offer color schemes, split to ≤20 slides, choose delivery method). However, the skill expects access to external services (nano-banana2-apiyi for image generation, Feishu for progress messages, and email-mail-master/QQ email for large-file delivery) yet declares no required environment variables, credentials, or config paths. A legitimate implementation would need API keys/webhook tokens; omission is a coherence problem.
!
Instruction Scope
SKILL.md instructs the agent to read user-provided Markdown, create plan.md, write all outputs to a hard-coded path (~/.openclaw/media/ai-choise/md-to-nanobanana-ppt/), and proactively send progress via Feishu and call external image/email services. These instructions go beyond simple local processing and require network access and credentials that are not declared. The hard-coded output directory in the user's home is also noteworthy and should be explicit/optional.
Install Mechanism
Instruction-only skill with no install spec and no code files — lowest-risk install mechanism. Nothing is written to disk by an installer, though the runtime instructions do write files during execution.
!
Credentials
The runtime clearly needs credentials or webhooks (nano-banana API key, Feishu webhook/token, and QQ/email credentials or delegated email-sending skill configuration) but requires.env lists nothing. That is disproportionate and opaque: either the implementer expects platform-provided implicit credentials (not documented) or they forgot to declare required secrets. Both are problematic for security and user consent.
Persistence & Privilege
always is false and there is no install-time persistence. The skill will write files into ~/.openclaw/media/..., create plan.md, and invoke other services/skills at runtime. Those behaviors are not privileged changes to system-wide settings, but they do create persistent data in a hard-coded user path and trigger external communications — the user should be aware and consent to that.
What to consider before installing
This skill mostly does what it says (MD → PPT with AI images), but it expects to call external services (nano-banana2-apiyi), send progress to Feishu, and use an email-sending skill — yet it declares no API keys or webhooks. Before installing/use, ask the publisher to: (1) list all required credentials and endpoints (nano-banana API key(s), Feishu webhook/token, email-mail-master configuration/QQ credentials); (2) explain where and why files are written (confirm or change the hard-coded ~/.openclaw/media/... path); (3) describe what data is sent to external services and obtain explicit consent for sending report content to third-party image-generation APIs; (4) confirm whether the platform will supply any implicit credentials or if the user must provide them; and (5) verify the trustworthiness and scope of the email-mail-master skill. If the developer cannot provide clear answers or if you cannot supply/inspect the required credentials, do not enable this skill, or run it only in a tightly controlled sandbox with network access restricted to known endpoints.

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

latestvk9797ec0kbjc7tf62576zegyw5843q7y
106downloads
1stars
1versions
Updated 3w ago
v1.0.0
MIT-0

Markdown转NanoBanana PPT(增强版)

概述

将Markdown分析报告转换为完整的PPT演示文稿:

  1. 配色方案 - 先提供至少5种风格方案供用户选择
  2. PPT大纲文件 - NanoBanana可直接导入的MD格式幻灯片结构
  3. 图片提示词 - 每张幻灯片(除结尾页外)对应的AI绘图提示词
  4. 生成图片 - 使用nano-banana2-apiyi生成每页图片
  5. 合成PPT - 将所有图片按顺序合成为PPT文件
  6. 分流交付 - 按 30MB 阈值决定是飞书直接发送还是 email-mail-master 邮件发送

输出目录规范

所有输出文件统一保存到以下目录:

~/.openclaw/media/ai-choise/md-to-nanobanana-ppt/

目录结构:

~/.openclaw/media/ai-choise/md-to-nanobanana-ppt/
├── pic/                    # 生成的幻灯片图片
│   ├── 幻灯片01.png
│   ├── 幻灯片02.png
│   └── ...
└── [PPT文件名].pptx        # 合成的PPT文件

核心原则

  1. 长任务必须拆分 - 执行前先创建plan.md,拆分任务步骤,每步标记[x]已完成
  2. 进度可视化 - 每个关键节点完成后立即通过飞书消息回复进度
  3. 幻灯片数量限制 - 不超过20张,在范围内尽可能精简
  4. 结尾页无图 - 结尾页不生成图片
  5. 交付先测大小 - PPT 合成后必须先检查文件大小,再决定走飞书还是 QQ 邮箱
  6. 输出目录统一 - 所有图片和PPT文件必须保存到 ~/.openclaw/media/ai-choise/md-to-nanobanana-ppt/ 目录

长任务拆分规范

重要:当任务需要多个步骤(>3步)且可能耗时较长时,必须遵循以下流程:

判断标准

  • 步骤数量 > 3
  • 预估耗时 > 1分钟
  • 涉及外部API调用(如图片生成)

执行流程

  1. 创建 plan.md - 在工作区创建任务拆分文件
  2. 拆分任务 - 将大任务拆分为清晰的子步骤
  3. 逐个执行 - 严格按顺序执行每个子步骤
  4. 标记完成 - 每完成一步,在plan.md中标记[x]及完成时间
  5. 飞书通知 - 每个关键节点完成后回复进度到飞书

plan.md 格式

# 任务计划:XXX

## 步骤
- [ ] Step 1: 描述
- [ ] Step 2: 描述  
- [ ] Step 3: 描述

## 执行记录

示例 plan.md

# 任务计划:MD转PPT(尚品宅配产品打分报告)

## 步骤
- [ ] Step 1: 读取MD文件,分析主题
- [ ] Step 2: 提供5种以上配色方案
- [ ] Step 3: 等待用户选择配色
- [ ] Step 4: 生成幻灯片结构
- [ ] Step 5: 生成图片提示词
- [ ] Step 6: 生成图片
- [ ] Step 7: 合成PPT并检查文件大小
- [ ] Step 8: 按大小分流交付(飞书 / QQ邮箱)

## 执行记录
- [x] Step 1 - 2026-03-30 17:05 完成
- [x] Step 2 - 2026-03-30 17:05 完成
- [ ] Step 3 - 等待用户选择配色方案

进度反馈机制

重要:每个关键步骤完成时,必须立即通过飞书消息回复进度日志

进度日志格式

【进度更新】
✅ 已完成:Step X - 描述
🔄 进行中:Step Y - 描述
📋 等待中:Step Z - 描述

关键节点列表

节点步骤消息内容
1开始🔄 Step 1/8 - 正在读取Markdown文件...
2文件读取完成Step 1/8 - 文件读取完成,正在分析主题...
3配色方案已提供📋 Step 2/8 - 配色方案已提供,等待选择...
4用户选择完成Step 3/8 - 用户选择配色方案[X],开始生成幻灯片结构...
5幻灯片结构完成Step 4/8 - 幻灯片结构生成完成(共N张),开始生成图片提示词...
6提示词生成完成Step 5/8 - 图片提示词生成完成,开始生成图片...
7图片生成进度🔄 Step 6/8 - 图片生成中:{current}/{total} ({percentage}%)
8所有图片生成完成Step 6/8 - 所有图片生成完成(N张),开始合成PPT...
9PPT合成完成Step 7/8 - PPT合成完成,正在检查文件大小...
10文件≤30MBStep 8/8 - 文件小于等于30MB,正在通过飞书发送PPT...
11文件>30MB📋 Step 8/8 - 文件超过30MB,需要用户提供邮箱地址以通过QQ邮箱发送...
12全部完成🎉 全部完成! 输出文件:xxx,交付方式:飞书 / QQ邮箱

飞书消息示例

【进度更新】
🔄 Step 1/8 - 正在读取Markdown文件...
   文件:选品分析报告.md

✅ Step 1/8 - 文件读取完成
   主题:尚品宅配选品分析报告
   数据:3个品类、7个评估维度

📋 Step 2/8 - 配色方案已提供
   方案A:深蓝+金色(高端商务)
   方案B:深灰蓝+红色(专业数据)
   方案C:深海蓝+天蓝(现代科技)
   方案D:深蓝+活力橙(活力商务)
   方案E:深灰+玫红(简约专业)
   方案F:青绿+薄荷(清新自然)
   请回复 A/B/C/D/E/F 选择配色方案

✅ Step 3/8 - 用户选择方案D
   配色:活力商务(深蓝#1e3d59 + 活力橙#ee6c4d)
   开始生成幻灯片结构...

✅ Step 4/8 - 幻灯片结构生成完成
   共生成10张幻灯片
   开始生成图片提示词...

✅ Step 5/8 - 图片提示词生成完成
   开始调用nano-banana生成图片...

🔄 Step 6/8 - 图片生成中:3/9 (33%)
   幻灯片01.png ✓
   幻灯片02.png ✓
   幻灯片03.png ✓
   幻灯片04.png 生成中...

✅ Step 7/8 - PPT合成完成
   文件大小:18.42MB
   正在通过飞书发送...

或

✅ Step 7/8 - PPT合成完成
   文件大小:42.83MB
   该文件超过30MB
   请提供收件邮箱地址,我将通过QQ邮箱发送附件

完整工作流程

Step 1:读取输入文件并分析主题

  • 读取Markdown内容
  • 分析报告主题(品牌、行业、场景)
  • 识别主要章节和关键数据
  • 飞书进度:读取完成、主题分析完成

Step 2:根据标题和内容主题思考配色方案

重要:必须先提供配色方案供用户选择

  1. 分析MD标题和内容主题
  2. 根据主题自行思考匹配的配色方案(至少5种),每种包含:
    • 主色调(颜色代码+颜色名)
    • 辅色(颜色代码+颜色名)
    • 风格描述
    • 适用场景
    • 英文配色描述

配色思考逻辑:

  • 报告标题含"产品落地"、"评估"、"筛选" → 活力商务/简约专业风格
  • 报告标题含"科技"、"技术"、"AI"、"数据" → 现代科技/专业数据风格
  • 报告标题含"品牌"、"高端"、"旗舰" → 高端商务风格
  • 报告标题含"消费"、"生活"、"清新" → 清新自然风格
  • 根据内容复杂度,可叠加"专业数据"、"活力商务"等补充风格

配色方案输出格式:

方案主色调辅色风格适用场景英文配色描述
方案A#xxx(颜色名)#xxx(颜色名)风格描述适用场景English description with color codes

示例(标题:尚品宅配产品落地评估): 根据标题主题"产品落地评估",推荐以下方案:

方案主色调辅色风格适用场景英文配色描述
方案A#1e3d59(深蓝)#ee6c4d(活力橙)活力商务商业分析报告Deep blue (#1e3d59) combined with vibrant orange (#ee6c4d), dynamic business style
..................
  • 飞书进度:配色方案已提供,等待选择

Step 3:用户确认配色方案

等待用户选择配色方案后,再进行下一步。

  • 飞书进度:用户选择完成,开始生成幻灯片结构

Step 4:优化拆分幻灯片(不超过20张)

重要:必须在20张以内尽可能精简

拆分原则:

  1. 封面页 - 标题、副标题、日期、版本信息(1张)
  2. 目录页 - 列出所有主要章节(1张)
  3. 核心内容页 - 每页一个核心概念,内容精简
  4. 数据页 - 表格数据尽量合并在一页内展示
  5. 总结页 - 最终建议和结论(1张)
  6. 结尾页 - 感谢观看(不生成图片
  • 飞书进度:幻灯片结构生成完成(共N张),开始生成图片提示词

Step 5:生成图片提示词

使用用户选中的配色方案,按照规范生成提示词:

  • 飞书进度:图片提示词生成完成,开始生成图片

Step 6:使用nano-banana2-apiyi生成图片

为每张幻灯片**(除结尾页外)**生成图片:

重要:必须将幻灯片内容 + 图片要求一起发送给nano-banana2-apiyi

  1. 提取每张幻灯片的标题和内容

  2. 提取每张幻灯片的【nano-banana图片提示词】

  3. 组合发送给nano-banana2-apiyi的prompt格式:

    [内容]:「幻灯片标题:XXX」
    「内容摘要:XXX」
    
    [要求]:
    [用户选择的配色方案英文描述], Used for PowerPoint presentations, 16:9 widescreen ratio, All text in the image must be rendered in Chinese characters (禁止使用英文标签、英文说明文字,所有内容必须以中文呈现), It is prohibited to add any text or labels unrelated to the content
    

关键说明:

  • [内容]区域使用中文引号「」包起来,作为图片内容描述,告诉模型这张幻灯片要展示什么内容
  • 「」内的文字是**内容描述」,不是要在图片上直接显示的文字
  • 图片上实际显示的文字由模型根据内容描述和[要求]中的风格指引来生成
  • 所有要求图片显示的文字必须在中文环境下以中文呈现

示例(幻灯片2:目录):

[内容]:「目录页:展示6个章节,分别是打分规则、数据清洗记录、标准化得分、企业定位评估、综合得分与决策、结论」
「章节列表:01打分规则 / 02数据清洗记录 / 03标准化得分 / 04企业定位评估 / 05综合得分与决策 / 06结论」

[要求]:
Minimalist professional table of contents page with deep teal background (#006266) and mint green accent (#1dd1a1), left side has mint green vertical line decoration, right side displays 6 chapters numbered 01-06 vertically with white bold Chinese text (chapter titles rendered in Chinese characters), chapter titles in light mint color, mint green circular icons for numbers, simple leaf-inspired geometric shapes as decoration, clean and natural aesthetic, All text in the image must be rendered in Chinese characters, Used for PowerPoint presentations, 16:9 widescreen ratio, It is prohibited to add any text or labels unrelated to the content
  1. 调用nano-banana2-apiyi生成图片
  2. 图片命名规则:幻灯片XX.png
  3. 保存到 ~/.openclaw/media/ai-choise/md-to-nanobanana-ppt/pic/ 文件夹
  • 飞书进度:实时更新生成进度

Step 7:合成PPT

将所有生成的图片合成为PPT文件:

  1. 使用python-pptx库创建PPT
  2. 每张图片插入一页幻灯片
  3. 结尾页单独创建(不使用图片,纯色背景+感谢文字)
  4. 幻灯片尺寸:16:9宽屏
  5. 保存到 ~/.openclaw/media/ai-choise/md-to-nanobanana-ppt/ 目录,命名为与MD文件同名的.pptx
  6. 合成完成后立即检查PPT文件大小(单位:MB)
  • 飞书进度:PPT合成完成,并开始检查文件大小

Step 8:按文件大小分流交付

情况A:PPT文件 ≤ 30MB

  1. 直接在当前飞书对话中发送该 .pptx 文件
  2. 回复用户文件已发送
  3. 同时告知本地输出路径

情况B:PPT文件 > 30MB

  1. 不要直接在飞书对话中发送PPT
  2. 立即告知用户:文件超过30MB,需改用QQ邮箱附件发送
  3. 向用户索要收件邮箱地址(必须由用户明确提供,禁止猜测)
  4. 收到邮箱地址后,调用 email-mail-master skill,使用QQ邮箱发送该 .pptx 文件作为附件
  5. 邮件发送成功后,在飞书中回复:已通过QQ邮箱发送,并说明收件地址
  6. 同时告知本地输出路径

文件大小判断规则

  • 使用本地文件真实大小判断,不按估算值
  • 阈值固定为 30MB
  • 30MB 以下(含 30MB) → 飞书直接发送
  • 大于 30MB → email-mail-master + QQ邮箱发送
  • 检查文件大小时,优先使用以下命令之一获取字节数
    • macOS / Linux:stat -f%z <file>(macOS)或 stat -c%s <file>(Linux)
    • Python:python3 -c "import os; print(os.path.getsize('xxx.pptx'))"
  • 统一换算规则:MB = bytes / 1024 / 1024
  • 回复用户时必须明确写出:文件大小:XX.XXMB

飞书直接发送执行规范(≤30MB)

  1. 检查 .pptx 文件大小
  2. ≤ 30MB,直接使用消息发送能力把 .pptx 文件发到当前飞书对话
  3. 回复用户:
    • 已通过飞书发送PPT
    • 文件名
    • 文件大小
    • 本地输出路径
  4. 不再要求用户提供邮箱

email-mail-master 执行规范(>30MB)

  1. 检查 .pptx 文件大小
  2. > 30MB,先在飞书中提示:
    • 当前PPT超过30MB
    • 飞书不直接发送
    • 需要用户提供收件邮箱地址
  3. 只有在用户明确提供邮箱地址后,才允许继续执行
  4. 调用 email-mail-master skill 时,默认使用 QQ邮箱 作为发件邮箱
  5. 邮件标题建议格式:<PPT文件名>
  6. 邮件正文建议格式:请查收附件 <PPT文件名>。
  7. 邮件发送成功后,必须在飞书中回复:
    • 已通过QQ邮箱发送
    • 收件地址
    • 文件名
    • 文件大小
    • 本地输出路径
  8. 若用户未提供邮箱地址,则流程停在"等待用户提供邮箱"这一步,不得擅自继续

email-mail-master 推荐命令模板

python3 skills/email-mail-master/scripts/mail.py send \
  --to user@example.com \
  --subject "文件名.pptx" \
  --content "请查收附件 文件名.pptx。" \
  --attach "/absolute/path/to/file.pptx"
  • 飞书进度:根据文件大小进入对应交付分支

Step 9:保存交付

  • 图片统一保存到 ~/.openclaw/media/ai-choise/md-to-nanobanana-ppt/pic/ 目录
  • PPT文件保存到 ~/.openclaw/media/ai-choise/md-to-nanobanana-ppt/ 目录
  • 必须先检查文件大小,再决定交付方式
  • 若文件 ≤ 30MB:飞书对话框直接发送PPT
  • 若文件 > 30MB:等待用户提供邮箱后,通过 email-mail-master skill 的QQ邮箱发送PPT附件
  • 最终回复中必须包含:
    • 文件名
    • 文件大小
    • 本地输出路径
    • 实际交付方式(飞书 / QQ邮箱)
  • 飞书进度:全部完成,输出文件路径 + 实际交付方式

输出产物

  1. 配色方案列表 - 至少5种选项
  2. 用户选择确认 - 等待用户回复方案编号
  3. PPT大纲MD文件 - 包含幻灯片结构和提示词
  4. 图片文件夹 - ~/.openclaw/media/ai-choise/md-to-nanobanana-ppt/pic/幻灯片01.png ~ 幻灯片XX.png(不含结尾页)
  5. PPT文件 - ~/.openclaw/media/ai-choise/md-to-nanobanana-ppt/[PPT文件名].pptx
  6. 交付记录 - 飞书直接发送 / QQ邮箱附件发送(二选一)
  7. 幻灯片数量统计

核心规则

规则说明
原文不变md内的原文内容不应该改变,如果是中文请保持完整的中文输入,如果是英文请保持完整英文输出
内容引号描述发送给nano-banana的[内容]区域,必须用中文引号「」包起来作为内容描述,告诉模型要展示什么,而不是直接渲染文字
中文强制声明[要求]部分必须包含"All text in the image must be rendered in Chinese characters",确保图片内所有文字以中文呈现
进度可视化每个节点完成后立即飞书回复进度日志
20张上限幻灯片数量不允许超过20张
内容精简在20张内尽可能减少页数
结尾页无图结尾页不生成图片提示词
配色先于生成必须先提供至少5种方案供用户选择
30MB分流交付PPT ≤ 30MB 直接发飞书;PPT > 30MB 必须改走 email-mail-master 的QQ邮箱附件发送
邮箱必须用户提供超过30MB时,必须向用户索要明确的收件邮箱地址,禁止擅自猜测或复用历史模糊地址

技术依赖

  • nano-banana2-apiyi - 图片生成(需配置APIYI_API_KEY)
  • python-pptx - PPT合成
  • Python 3.x - 运行环境

Comments

Loading comments...