← Back to Skills Marketplace
147
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install sjht-ppt-delivery
Description
Convert HTML slide deck to PDF and send to Feishu user. Use when the user asks to generate a PPT/presentation and deliver it as a PDF file via Feishu message...
Usage Guidance
This skill appears to do what it says, but it reads your OpenClaw config file (~/.openclaw/openclaw.json) to find Feishu APP_ID/APP_SECRET even though the registry entry declared no required config or env vars. Before installing or running: (1) review ~/.openclaw/openclaw.json contents to ensure it doesn't contain unrelated secrets you don't want read; (2) consider providing FEISHU_APP_ID and FEISHU_APP_SECRET as environment variables instead of relying on the config file, or modify the script to accept explicit credentials; (3) verify the Feishu bot permissions and that the app credentials are scoped appropriately; (4) ensure chromium-browser and global npm packages (puppeteer-core, pdf-lib) are installed in a controlled environment; (5) if you require higher assurance, ask the publisher to update the skill metadata to declare the config path and required credentials, or to accept credentials via parameters rather than reading your whole config file.
Capability Analysis
Type: OpenClaw Skill
Name: sjht-ppt-delivery
Version: 1.0.0
The skill bundle contains scripts that perform high-risk operations, specifically reading sensitive credentials from `~/.openclaw/openclaw.json` and uploading local files to the Feishu API (`send_file_feishu.py`). While these actions are aligned with the stated purpose of delivering generated presentations, the capability to access system secrets and exfiltrate data to an external endpoint is inherently risky. Additionally, `html2pdf.cjs` executes a headless browser using the `--no-sandbox` flag, which increases the potential impact of browser-based vulnerabilities.
Capability Assessment
Purpose & Capability
The skill's name/description (HTML→PDF + Feishu delivery) matches the included scripts: html2pdf.cjs produces screenshots->PDF and send_file_feishu.py uploads via Feishu API. However, the registry metadata declares no required env vars or config paths, while the runtime actually depends on Chromium, global npm packages (puppeteer-core, pdf-lib) and reading ~/.openclaw/openclaw.json for Feishu credentials. That undeclared dependency is a mismatch.
Instruction Scope
SKILL.md instructs running the included scripts and to pull the recipient id from inbound metadata — that is reasonable. But the instructions also assume an OpenClaw config file (openclaw.json) exists with Feishu APP_ID/APP_SECRET and do not document that this file will be read. The runtime will load the entire config file from the user's home directory (~/ .openclaw/openclaw.json), which is broader access than the skill's metadata claims.
Install Mechanism
No install spec (instruction-only + included scripts). The scripts rely on locally installed Chromium and global npm packages (puppeteer-core, pdf-lib) and Python requests — these are plausible for the task. No external downloads or archive extraction are performed by the skill bundle itself.
Credentials
The skill did not declare required env vars or config paths, yet send_file_feishu.py reads ~/.openclaw/openclaw.json (and will fall back to FEISHU_APP_ID / FEISHU_APP_SECRET env vars if present). Reading a full config file can expose unrelated secrets stored there. Requesting Feishu credentials is reasonable for delivering files, but the skill's metadata should have declared that it needs access to that config path or to explicit env vars.
Persistence & Privilege
The skill does not request always:true, does not modify other skills or system configuration, and does not persist new credentials. It runs on demand and has no elevated persistence behavior.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install sjht-ppt-delivery - After installation, invoke the skill by name or use
/sjht-ppt-delivery - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
# Changelog
## [1.0.0] - 2026-03-20
### Added
- **html2pdf.cjs** — HTML 幻灯片转 PDF 脚本(chromium + puppeteer-core 逐页截图 + pdf-lib 合成)
- 支持自定义页面尺寸(默认 1920×1080)
- 自动等待字体加载和动画触发
- 自动检测 `.slide` 元素数量
- **send_file_feishu.py** — 飞书 Bot 文件发送脚本
- 自动从 openclaw.json 读取飞书凭证(APP_ID/SECRET)
- 支持多种文件类型(pdf/doc/xls/ppt/mp4/opus)
- 通过飞书 im API 上传并发送文件消息
- **SKILL.md** — 完整工作流文档
- HTML 生成 → 字体放大 → PDF 转换 → 飞书发送
- 字体放大标准参数(两轮,body 22px→26px,全局 ×1.5)
- 依赖清单和使用示例
### Design Decisions
- 采用逐页截图(screenshot→embed)而非直接 `page.pdf()`,保证 CSS 动画、渐变、特效与预览一致
- 飞书发送使用 `receive_id_type=open_id` 作为 query parameter(body 参数无效,已验证)
- 脚本设计为零交互命令行工具,适合被 Agent 自动调用
Metadata
Frequently Asked Questions
What is sjht-ppt-delivery?
Convert HTML slide deck to PDF and send to Feishu user. Use when the user asks to generate a PPT/presentation and deliver it as a PDF file via Feishu message... It is an AI Agent Skill for Claude Code / OpenClaw, with 147 downloads so far.
How do I install sjht-ppt-delivery?
Run "/install sjht-ppt-delivery" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is sjht-ppt-delivery free?
Yes, sjht-ppt-delivery is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does sjht-ppt-delivery support?
sjht-ppt-delivery is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created sjht-ppt-delivery?
It is built and maintained by Aowind (@aowind); the current version is v1.0.0.
More Skills