Install
openclaw skills install skywork-pptSkywork PPT (skywork) - Use when the user wants to work with PowerPoint presentations. Triggers: (1) Generate a new PPT from a topic — 'generate a PPT', 'create a presentation about X', 'make slides', '帮我做个PPT', '生成演示文稿', 'PPTを作って', 'スライドを作って', 'PPT 만들어줘', '슬라이드 만들어줘'; (2) Imitate an existing .pptx style/template — 'use this template', 'imitate this PPT/style', '用这个模板', '仿照这个PPT', 'このテンプレートを使って', '이 템플릿 써줘'; (3) Edit existing PPT via natural language — 'modify slide N', 'change background', 'add a slide', 'make it more beautiful', '修改第N页', '更换背景', '新增一页', '美化一下', 'N枚目を修正', '背景を変えて', 'きれいにして', 'N번 슬라이드 수정', '배경 바꿔줘'; (4) Convert NotebookLM-exported pptx/pdf into editable pptx — 'make this notebooklm ppt editable', 'convert notebooklm export to editable pptx', '把这个notebooklm导出的pptx改成可编辑pptx', '把这个pdf转成可编辑pptx'; (5) Local .pptx file ops — 'delete slide N', 'reorder slides', 'merge pptx', 'extract slides', 'how many slides', '删除第N页', '调整顺序', '合并PPT', '提取幻灯片', 'スライドを削除/並べ替え/結合/抽出', '슬라이드 삭제/순서 변경/합치기/추출'.
openclaw skills install skywork-pptFive capabilities: generate, template imitation, edit existing PPT, convert NotebookLM export to editable PPTX, and local file operations.
This skill requires a SKYWORK_API_KEY to be configured before use.
If you don't have an API key yet, please visit: https://skywork.ai
For detailed setup instructions, see: references/apikey-fetch.md
| User intent | Which path |
|---|---|
| Generate a new PPT from a topic, set of requirements or reference files | Layer 1 — Generate |
| Use an existing .pptx as a layout/style template to create a new presentation | Layer 2 — Imitate |
| Edit an existing PPT: modify slides, add slides, change style, split/merge | Layer 4 — Edit |
Convert a NotebookLM-exported .pptx or .pdf into an editable .pptx | Layer 5 — Convert to editable PPTX |
| Delete / reorder / extract / merge slides in a local file (no backend) | Layer 3 — Local ops |
This skill requires Python 3 (>=3.8). Run the following before any script to locate a valid Python binary and install dependencies.
PYTHON_CMD=""
for cmd in python3 python python3.13 python3.12 python3.11 python3.10 python3.9 python3.8; do
if command -v "$cmd" &>/dev/null && "$cmd" -c "import sys; exit(0 if sys.version_info >= (3,8) else 1)" 2>/dev/null; then
PYTHON_CMD="$cmd"
break
fi
done
if [ -z "$PYTHON_CMD" ]; then
echo "ERROR: Python 3.8+ not found."
echo "Install on macOS: brew install python3 or visit https://www.python.org/downloads/"
exit 1
fi
echo "Found Python: $PYTHON_CMD ($($PYTHON_CMD --version))"
$PYTHON_CMD -m pip install -q --break-system-packages python-pptx
echo "Dependencies ready."
After this check, replace
pythonwith the discovered$PYTHON_CMD(e.g.python3) in all subsequent commands.
✅ workflow_generate.md loaded. — then proceed.$PYTHON_CMD.--files. See the --files note below.reference-file file of ≤ 2000 words.Important: set exec tool
yieldMsto600000(10 minutes).
.pptx path and the download URL.$PYTHON_CMD..pptx from the user's message; ask the user if it's unclear.TEMPLATE_URL from the output.--files. See the --filesreference-file file of ≤ 2000 words.Important: set exec tool
yieldMsto600000(10 minutes).
.pptx path, the download URL, and the template filename used.Use this layer when the user wants to modify an existing PPT using natural language. Requires an OSS/CDN URL of the PPTX (from a previous generation or upload).
$PYTHON_CMD.--pptx-url:
$PYTHON_CMD scripts/run_ppt_write.py "edit instruction" \
--language Chinese \
--pptx-url "https://cdn.example.com/file.pptx" \
-o /absolute/path/output.pptx
Important: set exec tool
yieldMsto600000(10 minutes).
Use this layer when the user provides a local .pptx or .pdf exported from NotebookLM and wants an editable .pptx.
$PYTHON_CMD..pptx or .pdf; ask the user if the path is unclear.SOURCE_URL from the output.$PYTHON_CMD scripts/run_editable_convert.py \
--file-url "https://cdn.example.com/source.pptx" \
--file-type "pptx" \
-o /absolute/path/output_editable.pptx
Important: set exec tool
yieldMsto600000(10 minutes).
# Inspect slide count and titles
$PYTHON_CMD scripts/local_pptx_ops.py info --file my.pptx
# Delete slides (1-based index; supports ranges like 3,5,7-9; omit -o to overwrite in place)
$PYTHON_CMD scripts/local_pptx_ops.py delete --file my.pptx --slides 3,5,7-9 -o trimmed.pptx
# Reorder slides (must list every slide, no omissions)
$PYTHON_CMD scripts/local_pptx_ops.py reorder --file my.pptx --order 2,1,4,3,5
# Extract a subset of slides into a new file
$PYTHON_CMD scripts/local_pptx_ops.py extract --file my.pptx --slides 1-3 -o subset.pptx
# Merge multiple files
$PYTHON_CMD scripts/local_pptx_ops.py merge --files a.pptx b.pptx -o merged.pptx
Read workflow_local.md immidiately before any action you do!!!
Insufficient benefit. Please upgrade your account at {url}, meaning the user's benefit level does not meet the requirement for this skill.When you detect the above, reply in the user's current language — do not echo the English message. Use this pattern:
[Upgrade now →](url) or the equivalent in their language .at https://... part).Note: Only suggest upgrading when the error is Insufficient benefit. For auth errors like
NO_TOKEN/INVALID_TOKEN/401/ “invalid API key”, keep the error code / raw message and guide users to updateSKYWORK_API_KEY. Do not suggest upgrading membership.
python3 / python must be on PATHpip install python-pptx --break-system-packages(The environment check step installs all required dependencies automatically.)
| Scenario | Use |
|---|---|
| Generate a PPT from a topic or existing reference files | Layer 1 |
| Imitate the layout/style of an existing .pptx | Layer 2 |
| Edit/modify an existing PPT via natural language | Layer 4 |
Convert NotebookLM-exported .pptx / .pdf into editable .pptx | Layer 5 |
| Delete / reorder / extract / merge local .pptx files (no backend) | Layer 3 |