← Back to Skills Marketplace
jianglingling007

Claw Presenter

by jianglingling007 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
95
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install claw-presenter
Description
准备PPT/PDF讲解稿。将幻灯片转为图片并生成逐页演讲词。触发词:准备PPT讲解稿、准备演讲稿、生成演讲词、prepare presentation narration.
README (SKILL.md)

🎤 Claw Presenter — Prepare Presentation Narration

Converts PPT/PPTX/PDF files into a ready-to-present package: per-slide images + narration scripts.

What This Skill Does

Two jobs only:

  1. Split — Convert each slide/page into a PNG image
  2. Script — Generate a narration script for each slide

Output is a folder that Claw Body can load for presentation playback with digital avatar narration.

Works With Claw Body

This skill is designed to pair with the claw-body skill (digital avatar). The workflow:

  1. Claw Presenter (this skill) → parses PPT/PDF, generates slide images + narration scripts
  2. Claw Body → loads the output folder, displays slides with the digital avatar narrating each page

Typical usage:

  1. User: "帮我准备 xxx.pptx 的讲解稿" → triggers claw-presenter
  2. After preparation is done, user: "讲解 presentations/xxx" → triggers claw-body presentation mode

⚠️ Make sure the claw-body skill is also installed if you want avatar-powered presentation playback.

When To Use

When user says anything like:

  • "帮我准备PPT讲解稿"
  • "准备讲解 xxx.pptx"
  • "帮我准备演讲稿"
  • "生成PPT演讲词"
  • "prepare presentation for xxx.pdf"
  • "生成演讲词"
  • "准备讲稿"

Do NOT use this skill when user just says "讲PPT" without preparation — that implies they want to present, and they should use Claw Body's presentation mode with an already-prepared folder.

Step 0: Get the File

If user didn't provide a file path, ask:

"请告诉我PPT/PDF文件的路径,例如 ~/Desktop/我的演讲.pptx"

Wait for user to provide the path before proceeding.

Step 1: Parse the File

Run the parse script to extract slides and text:

python3 \x3Cskill-dir>/scripts/parse-presentation.py "\x3Cfile-path>"

This creates:

\x3Cworkspace>/presentations/\x3Cfilename>/
  presentation.json    — metadata, per-slide text, notes
  slides/
    001.png, 002.png, ...

Step 2: Generate Narration Scripts

After parsing, read presentation.json. For each slide:

  • If slide.script is already filled (from speaker notes) → keep it, but optionally polish
  • If slide.script is empty → generate natural narration based on slide.title and slide.content

Style Guidelines

Ask the user (if not specified):

  • 风格: 正式汇报 / 轻松分享 / 教学讲解 / 幽默风趣
  • 受众: 老板/领导 / 同事 / 客户 / 学生
  • 语言: 中文 / English / 跟随原文
  • 时长: 简短(每页15-30秒)/ 标准(30-60秒)/ 详细(1-2分钟)

Writing Good Narration

  • Open naturally: "首先我们来看..." / "接下来..."
  • Don't just read the slide — explain, add context, connect to previous slide
  • Keep transitions smooth between slides
  • Match the style throughout

Step 3: Save the Scripts

After generating all scripts, update presentation.json — fill in the script field for each slide, then write back:

# Read, update scripts, write back
import json
with open('\x3Coutput-dir>/presentation.json', 'r') as f:
    data = json.load(f)
for slide in data['slides']:
    if not slide['script']:
        slide['script'] = '\x3Cyour generated narration>'
with open('\x3Coutput-dir>/presentation.json', 'w') as f:
    json.dump(data, f, ensure_ascii=False, indent=2)

Step 4: Confirm with User

Show a summary:

📊 演讲稿准备完成!

  • 文件: xxx.pptx
  • 共 12 页,其中 3 页使用了原始备注,9 页已生成演讲词
  • 风格: 轻松分享
  • 输出目录: presentations/xxx/

你可以:

  • 预览/修改某页的演讲词
  • 在 Claw Body 中说"讲解 presentations/xxx" 开始演讲
  • 或直接在这里文字预览

Output Format

presentation.json structure:

{
  "source": "filename.pptx",
  "total_pages": 12,
  "output_dir": "/path/to/presentations/filename",
  "slides": [
    {
      "page": 1,
      "title": "封面",
      "content": ["标题文字", "副标题"],
      "notes": "原始备注",
      "has_notes": true,
      "image": "slides/001.png",
      "script": "各位好,今天我来跟大家分享..."
    }
  ]
}

Setup

Run the setup script to install all dependencies:

bash \x3Cskill-dir>/setup.sh

Or install manually:

Python Packages

pip3 install python-pptx Pillow pdf2image pdfplumber

System Dependencies

poppler (required — converts PDF to images):

Platform Command
macOS (Homebrew) brew install poppler
Debian / Ubuntu sudo apt-get install -y poppler-utils
Fedora / RHEL sudo dnf install -y poppler-utils
Arch sudo pacman -S poppler

LibreOffice (optional — high-fidelity PPTX→image conversion):

Platform Command
macOS (Homebrew) brew install --cask libreoffice
Debian / Ubuntu sudo apt-get install -y libreoffice
Other libreoffice.org/download

Without LibreOffice, PPTX slides will fall back to simple text rendering (lower quality images).

Verify Installation

python3 -c "import pptx; print('python-pptx ✅')"
python3 -c "from PIL import Image; print('Pillow ✅')"
python3 -c "from pdf2image import convert_from_path; print('pdf2image ✅')"
which pdftoppm && echo "poppler ✅"
which soffice && echo "LibreOffice ✅" || echo "LibreOffice ❌ (optional)"
Usage Guidance
This skill appears to do what it says, but review and run it with usual caution: 1) Inspect scripts (already done) and run setup.sh in a controlled environment (use a Python virtualenv) because it will pip-install packages and may call system package managers (sudo apt/pacman) to install poppler. 2) The conversion step invokes external binaries (pdftoppm, soffice/LibreOffice); avoid feeding untrusted/malicious office/PDF files into those converters if you are concerned about vulnerabilities in those tools. 3) Outputs are written to OPENCLAW_WORKSPACE or the current directory under presentations/<name>—verify that location and clean up any leftover temporary directories (LibreOffice conversion creates a persistent temp dir). 4) If you prefer tighter isolation, run the script inside a sandbox/container or VM before installing globally.
Capability Analysis
Type: OpenClaw Skill Name: claw-presenter Version: 1.0.0 The 'claw-presenter' skill is designed to convert PPT/PDF files into images and narration scripts. The code in 'scripts/parse-presentation.py' uses standard libraries (python-pptx, pdfplumber) and system utilities (poppler, LibreOffice) for file processing, and 'setup.sh' installs these dependencies through legitimate package managers. No evidence of data exfiltration, malicious execution, or harmful prompt injection was found.
Capability Assessment
Purpose & Capability
Name/description match the included Python script and SKILL.md: the repo contains a parse-presentation.py that extracts text/notes and produces slide PNGs + presentation.json, and setup.sh installs the expected image/PDF/PPT libraries. Required binary python3 is appropriate and sufficient.
Instruction Scope
SKILL.md limits runtime actions to asking for a file path, running the included parse script, and generating/updating presentation.json. The script reads the provided input file and writes into a presentations/<name> workspace; it does not access unrelated system credentials or network endpoints. Note: the script invokes external CLIs (pdftoppm, LibreOffice) to convert files.
Install Mechanism
There is no registry install spec, but a provided setup.sh will pip-install python packages and attempt to install poppler via system package managers (brew/apt/dnf/pacman). This is expected for PDF→image conversion; it uses standard package managers (no arbitrary URL downloads). It may require sudo for system installs.
Credentials
The skill declares no required environment variables or credentials. The code optionally respects OPENCLAW_WORKSPACE to determine output location (fallbacks to cwd), which is reasonable for output placement.
Persistence & Privilege
always=false and the skill does not modify other skills or system-wide agent settings. One implementation detail: pptx→pdf conversion uses tempfile.mkdtemp with a persistent temp directory (not auto-cleaned), which may leave temporary files behind; setup.sh may run privileged package installs.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install claw-presenter
  3. After installation, invoke the skill by name or use /claw-presenter
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: PPT/PDF parser with slide images + narration script generation. Works with claw-body for avatar-powered presentations.
Metadata
Slug claw-presenter
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Claw Presenter?

准备PPT/PDF讲解稿。将幻灯片转为图片并生成逐页演讲词。触发词:准备PPT讲解稿、准备演讲稿、生成演讲词、prepare presentation narration. It is an AI Agent Skill for Claude Code / OpenClaw, with 95 downloads so far.

How do I install Claw Presenter?

Run "/install claw-presenter" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Claw Presenter free?

Yes, Claw Presenter is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Claw Presenter support?

Claw Presenter is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Claw Presenter?

It is built and maintained by jianglingling007 (@jianglingling007); the current version is v1.0.0.

💬 Comments