Skill flagged — suspicious patterns detected

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

一句话生成PPT

v1.0.0

AI演示文稿全流程制作:内容结构化→设计选型→AI插画/HTML构建→PPTX导出。17种实战验证的视觉风格(漫画/极简/数据叙事/国风),可编辑HTML与全AI视觉两条路径自由选择。当用户提到"做PPT"、"制作幻灯片"、"演示文稿"、"Keynote"、"slides"、"课件"、"汇报材料"、"路演"时使用。

0· 128·0 current·0 all-time
bydream-boy@lifenglei

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for lifenglei/duan-skill.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "一句话生成PPT" (lifenglei/duan-skill) from ClawHub.
Skill page: https://clawhub.ai/lifenglei/duan-skill
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 duan-skill

ClawHub CLI

Package manager switcher

npx clawhub@latest install duan-skill
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
技能的目的是生成 PPT 并包含图像生成、HTML→PPTX 转换和图片组装,代码文件(generate_image.py、html2pptx.js、create_slides.py)与该目的对得上。但元数据声明“无需环境变量/凭证”,而运行文档与脚本明确使用 GEMINI_API_KEY(或 --api-key),存在声明与实际需求不一致。
!
Instruction Scope
SKILL.md 指示在执行前用 grep 从 ~/.claude/.env 提取 GEMINI_API_KEY 并 export(export $(grep GEMINI_API_KEY ~/.claude/.env)),这直接要求读取用户主目录下的特定文件 —— 未在元数据中声明且可能包含多个敏感令牌。还要求使用 Glob 扫描文件系统以定位脚本目录(“**/duan-slides/scripts/generate_image.py”),这会让代理遍历用户文件路径以查找脚本位置,扩大了读文件的范围。总体上,指令包含读取用户本地敏感配置和全盘搜索的行为,超出仅“生成 PPT”所必需的最小范围。
Install Mechanism
仓内包含 package.json、Python script 注释里列出依赖(python-pptx、Pillow、google-genai、playwright、sharp 等),但没有 install spec(没有声明如何安装这些依赖或何处下载二进制)。html2pptx.js 依赖 Playwright/Chromium,会在首次运行时下载浏览器二进制,且没有说明应在受控环境中安装或审核依赖版本。缺少安装/沙箱建议增加了运行时风险和意外网络/磁盘行为的概率。
!
Credentials
脚本和文档明确使用 GEMINI_API_KEY,且 generate_image.py 需要该密钥或 --api-key 参数来调用 Google genai。技能元数据却未声明任何 required env 或 primary credential,这不一致。更重要的是 SKILL.md 建议直接从 ~/.claude/.env 提取并 export 令牌,这会读取可能包含其他秘密的文件。请求单一图像生成 API key 对功能是合理的,但读取用户主目录特定文件以及未在元数据中说明凭证需求是过度/不透明的。
Persistence & Privilege
技能未设置 always:true,也不请求修改其他技能或系统级配置。默认允许模型自主调用(平台默认),但在与未声明凭证访问和文件读取相结合时,自主调用会扩大攻击面;当前单项本身无异常。
What to consider before installing
要点与建议: 1) 不一致与凭证暴露:这个技能确实需要一个 Gemini(Google)API key 来生成图像,但元数据没有声明任何环境变量。不要运行 SKILL.md 中提供的命令(尤其是 export $(grep GEMINI_API_KEY ~/.claude/.env))除非你确认 ~/.claude/.env 只包含你愿意共享的那个单一键。更安全的做法是直接在受控环境中以参数 --api-key 或在运行前显式设置一个临时环境变量。 2) 文件系统访问:SKILL.md 建议用 Glob 在文件系统中查找脚本,这会让代理搜索你的目录结构。若你担心隐私,请在受控目录(例如专门的工作目录)里放置该技能文件,并避免让代理扫描整个主目录。 3) 依赖与安装:仓库声明了 Node/Python 依赖但没有安装步骤。运行前请在隔离环境(虚拟环境 / container)中安装依赖并审查它们。注意 Playwright 会下载 Chromium 二进制并启用网页渲染与网络访问。 4) 网络与数据流:generate_image.py 使用 google-genai/httpx,运行时会把 prompts 和(可选)输入图像发送到远端 API;不要在 prompt 或输入图像中包含敏感或机密信息。 5) 操作建议:在信任来源前,要求作者/发布者补充: - 在技能元数据中声明所需的 GEMINI_API_KEY(primaryEnv)和任何其他凭证; - 提供明确的安装说明或 Docker/venv 快照; - 将“从 ~/.claude/.env 抽取凭证”的做法改为可选的、明确告知的步骤或删除; - 说明是否会向外部端点发送任何额外元数据(例如匿名使用统计)。 如果你决定安装或运行:仅在隔离环境中运行(容器或干净虚拟机),并使用专门为该技能创建的最小权限 API key(可随时撤销)。

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

latestvk971wwxnvecj1jh0fy52qwwy7183jcnc
128downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

AI Presentation Workflow

设计哲学:Context, not control。 理解目标和风格感觉,自主做出设计决策。参考文件是灵感库,不是逐字执行的清单。


Skill 路径

脚本安装路径因用户不同而不同。执行脚本前,先用 Glob 工具搜索 **/duan-slides/scripts/generate_image.py,取所在目录作为 SKILL_SCRIPTS_DIR


启动:三个决策

每次任务开始,确认以下三项。

协作模式

模式适合检查点
Full Auto信任AI交付,只需最终PPTX确认主题即可
Guided(默认)把控方向,不管细节大纲 / 风格选定 / 组装前
Collaborative逐张审阅,全程掌控每张slide

制作路径

Path A:可编辑HTML(默认)Path B:全AI视觉
做法HTML slides + 选择性AI插画 → PPTX每张slide全AI生成图片 → PPTX
优势文字可在PPT中继续编辑,中文渲染完美视觉震撼,风格高度统一
适合商务汇报、需要反复修改的场景艺术感强、发布演讲、快速草稿
注意中文偶有错误,文字不可后期编辑

个人形象融入

检查 assets/character/ 目录:

  • *-sheet.png → 直接使用
  • original.* 无设定图 → 自动生成设定图
  • 为空 → 询问用户是否需要

生成角色设定图:

export $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv run [SKILL_SCRIPTS_DIR]/generate_image.py \
  --input-image "assets/character/original.jpg" \
  --prompt "Character design sheet in [STYLE] style. Keep facial features faithfully. Show 3 expressions: neutral explaining, surprised/eureka, thinking. White background, no text." \
  --filename "assets/character/[style-name]-sheet.png" \
  --resolution 2K

同一风格只生成一次,后续复用。


Step 1: 内容梳理

将原始材料转为逐张slide大纲。每张定义:

  • 标题:断言句,不是主题词 — 「Q3销售增长23%,新用户是主要驱动力」✓,「Q3销售」✗
  • 要点:最多3-4条
  • 视觉类型:插画 / 图表 / 流程图 / 引言
  • Path A:是否需要AI插画?Yes/No + 一行场景描述
  • Path B:完整视觉场景描述(布局+内容+情绪)

slide内容全部中文,仅保留必要英文(人名、品牌、技术术语)。

Checkpoint(Guided/Collaborative): 表格展示大纲,用户确认后进入Step 2。


Step 2: 风格选择

核心洞察:插画/漫画类风格AI生成效果远优于「专业极简」。 漫画风格有明确视觉语言,AI可充分发挥;暗色底+大留白缺乏视觉元素,生成结果「空」且「平」。

按主题推荐3个风格:

主题类型第一推荐第二推荐第三推荐
品牌/产品Snoopy漫画Neo-Pop浮世绘/敦煌
教育/培训Neo-Brutalism学習漫画Snoopy漫画
技术分享xkcd白板Neo-BrutalismLigne Claire
数据报告NYT MagazinePentagram编辑Ligne Claire
年轻受众Neo-Pop像素画孔版印刷
国风/东方敦煌壁画浮世绘Takram思辨
正式商务NYT MagazinePentagram编辑Build极简
路演/发布苏联构成主义NYT MagazineNeo-Pop
行业分析Pentagram编辑NYT MagazineFathom数据
培训课件Takram思辨温暖叙事学習漫画
内部分享Neo-BrutalismThe Oatmealxkcd白板

用户说「想要XX风格」「不确定」「有例子吗」→ 查 references/design-movements.md 转换美学语言。

展示风格: 主动用 Read 工具显示 assets/style-samples/style-NN-name.png 样例图(不只是文字描述)。图片编号:01-snoopy, 02-manga, 03-ligne-claire, 04-neo-pop, 05-xkcd, 06-constructivism, 07-dunhuang, 08-ukiyo-e, 09-warm-narrative, 10-oatmeal, 11~17=第三梯队。

每个风格完整参数(色值/排版/构图/prompt规范)→ references/proven-styles-gallery.md

Checkpoint(Guided/Collaborative): 展示3个风格 + 样例图,用户选定后进入Step 3。


Step 3: 构建

Path A:HTML + 选择性插画

每张slide生成独立HTML文件(720pt × 405pt)。生成前必须遵守 4 条 html2pptx 硬性约束(见 references/prompt-templates.md 第2节),否则导出会报错:

  • DIV 里的文字必须用 <p><h1>-<h6> 包裹,不能裸文字
  • 不支持 CSS 渐变,只能纯色(linear-gradient 会报错)
  • <p>/<h*> 不能有背景/边框,这些放在外层 <div>
  • <div> 不能用 background-image,改用 <img> 标签

AI插画生成:

export $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv run [SKILL_SCRIPTS_DIR]/generate_image.py \
  [--input-image "assets/style-samples/style-NN-name.png"] \
  --prompt "[scene description in [STYLE] style]" \
  --filename "slide-NN-illustration.png" \
  --resolution 2K

垫图机制:--input-image 传入风格样例图或角色设定图,强制AI生成与参照图风格一致的插画。

Path B:全AI视觉

每张slide生成完整图片(含所有文字和布局):

export $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv run [SKILL_SCRIPTS_DIR]/generate_image.py \
  --input-image "assets/style-samples/style-NN-name.png" \
  --prompt "[完整视觉描述:布局+内容+风格+情绪]" \
  --filename "slide-NN-name.png" \
  --resolution 2K

短prompt比长prompt效果更好。 描述mood和内容,不要约束颜色比例、构图位置、字号数字。详细提示词模板 → references/prompt-templates.md


Step 4: 组装 PPTX

Path A(html2pptx):

node [SKILL_SCRIPTS_DIR]/html2pptx.js \
  slide-01.html slide-02.html ... \
  -o output.pptx

Path B(create_slides.py):

uv run [SKILL_SCRIPTS_DIR]/create_slides.py \
  slide-01.png slide-02.png ... \
  --layout fullscreen \
  -o output.pptx

Step 5: 收尾

  • Path A:可用 Playwright 截图预览关键slides
  • Path B:直接用 Read 工具显示生成的PNG

Checkpoint(所有模式): 展示预览,交付PPTX,汇报:完成X张,风格Y,文件路径Z。

Keynote/PowerPoint中可添加动画和Speaker Notes;Path A文字可继续编辑,Path B如有文字错误需重新生成该张图片。


Assets 目录

assets/
├── style-samples/     # 17种风格样例图(视觉参照 + 垫图两用)
│   └── style-NN-name.png
└── character/         # 用户个人形象
    ├── original.jpg   # 用户提供的照片
    └── [style]-sheet.png  # 各风格的角色设定图(首次使用时生成)

参考文件

需要文件
17种风格完整参数(色值/排版/构图/prompt规范)references/proven-styles-gallery.md
HTML规范 + Path A/B提示词模板references/prompt-templates.md
设计运动 → 风格映射(美学词汇转换)references/design-movements.md
设计原则与视觉规范references/design-principles.md
Snoopy风格专项深度指南references/proven-styles-snoopy.md

Comments

Loading comments...