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. Triggers on: "做PPT", "做个演示", "生成PPT", "做幻灯片", "发送PDF", "转PDF", "做报告", or when a PPT/slide task is completed and needs delivery. This skill covers the full pipeline: HTML slides → font scaling → PDF conversion → Feishu file upload & send.

3,891 stars

Best use case

ppt-delivery is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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. Triggers on: "做PPT", "做个演示", "生成PPT", "做幻灯片", "发送PDF", "转PDF", "做报告", or when a PPT/slide task is completed and needs delivery. This skill covers the full pipeline: HTML slides → font scaling → PDF conversion → Feishu file upload & send.

Teams using ppt-delivery should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/sjht-ppt-delivery/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/aowind/sjht-ppt-delivery/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/sjht-ppt-delivery/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How ppt-delivery Compares

Feature / Agentppt-deliveryStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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. Triggers on: "做PPT", "做个演示", "生成PPT", "做幻灯片", "发送PDF", "转PDF", "做报告", or when a PPT/slide task is completed and needs delivery. This skill covers the full pipeline: HTML slides → font scaling → PDF conversion → Feishu file upload & send.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# PPT Delivery — HTML 演示文稿转 PDF 并发送飞书

完整流程:生成 HTML 幻灯片 → 放大字体 → 转 PDF → 上传飞书发送给用户。

## 前置依赖

- `chromium-browser`(已安装)
- `puppeteer-core`(全局 npm 包)
- `pdf-lib`(全局 npm 包)
- Python 3 + `requests`(已安装)
- 飞书机器人已配置(openclaw.json 中有 APP_ID/SECRET)

## 工作流程

### Step 1: 生成 HTML 幻灯片

使用 `frontend-slides` 或 `jobs-style-ppt-generator` skill 生成 HTML 文件。

### Step 2: 字体放大(必须)

用户通常反馈字体太小,默认执行两轮放大:

**第一轮放大**(CSS 修改):
- body font-size → `22px`
- 所有 ≤1rem → ×1.25
- 所有 1~1.5rem → ×1.35
- 所有 clamp() 值 → ×1.2
- 卡片 padding → ×1.2

**第二轮放大**(如用户仍嫌小):
- body font-size → `26px`
- 所有字号 → 再 ×1.2
- clamp() 值 → 再 ×1.15
- 卡片 padding → 再 ×1.15

始终保持标题/正文层级关系。

### Step 3: HTML 转 PDF

使用脚本逐 slide 截图嵌入 PDF,保证视觉一致性:

```bash
NODE_PATH=$(npm root -g) node <skill_dir>/scripts/html2pdf.cjs <input.html> <output.pdf>
```

参数:
- `--width 1920`(默认)
- `--height 1080`(默认)

输出:多页 PDF(每页一张幻灯片截图)。

### Step 4: 发送飞书文件

将 PDF 通过飞书 Bot API 发送给用户:

```bash
python3 <skill_dir>/scripts/send_file_feishu.py <pdf_path> <user_open_id>
```

user_open_id 从消息的 inbound metadata `sender_id` 获取。

## 完整示例

```
1. UI agent 生成 /root/projects/report.html
2. 字体放大(两轮)
3. NODE_PATH=$(npm root -g) node ppt-delivery/scripts/html2pdf.cjs /root/projects/report.html /root/projects/report.pdf
4. python3 ppt-delivery/scripts/send_file_feishu.py /root/projects/report.pdf ou_xxxxx
5. 回复用户:"PDF 已发送 📎"
```

## 注意事项

- PDF 文件大小通常 1-3MB(5-10 页)
- 如果 chromium 截图有渲染问题,检查字体是否加载完成(脚本内置 3 秒等待)
- 飞书发送需要 bot 有 `im:message:send_as_bot` 权限
- 文件类型支持:pdf、doc、xls、ppt、mp4、opus

Related Skills

Presentation Mastery — Complete Slide Design & Delivery System

3891
from openclaw/skills

You are a Presentation Architect. You help build presentations that persuade, inform, and move people to action. You cover the full lifecycle: audience analysis → narrative structure → slide design → delivery coaching → post-presentation follow-up.

Content & Documentation

Project Manager — Complete Project Delivery System

3891
from openclaw/skills

You are a world-class project manager. You plan, track, and deliver projects on time and under budget. You use proven frameworks adapted to the project's size and complexity.

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities

tavily-search

3891
from openclaw/skills

Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.

Data & Research

baidu-search

3891
from openclaw/skills

Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.

Data & Research

agent-autonomy-kit

3891
from openclaw/skills

Stop waiting for prompts. Keep working.

Workflow & Productivity

Meeting Prep

3891
from openclaw/skills

Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.

Workflow & Productivity

self-improvement

3891
from openclaw/skills

Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.

Agent Intelligence & Learning

botlearn-healthcheck

3891
from openclaw/skills

botlearn-healthcheck — BotLearn autonomous health inspector for OpenClaw instances across 5 domains (hardware, config, security, skills, autonomy); triggers on system check, health report, diagnostics, or scheduled heartbeat inspection.

DevOps & Infrastructure

linkedin-cli

3891
from openclaw/skills

A bird-like LinkedIn CLI for searching profiles, checking messages, and summarizing your feed using session cookies.

Content & Documentation