Skywork-ppt — скилл для Claude Code: генерация и правка PPTX
Скилл для работы с презентациями PowerPoint: собирает новую колоду по теме, повторяет стиль готового шаблона и правит слайды словами.
npx skills add SkyworkAI/Skywork-Skills --skill skywork-ppt -a claude-codeЧто делает Skywork-ppt
Скилл закрывает четыре сценария. Генерация новой презентации по теме или набору требований, имитация вёрстки существующего .pptx как шаблона, правка готовой колоды естественным языком и локальные операции с файлом без обращения к серверу. Локальный слой умеет удалять слайды, менять их порядок, извлекать и объединять — по индексам вида 3,5,7-9.
Перед первым запуском нужен ключ SKYWORK_API_KEY и Python 3.8 или новее. Скилл сам ищет подходящий бинарник в цикле по python3, python и версиям от 3.13 до 3.8, затем ставит python-pptx. Генерация, имитация и правка отправляют локальные файлы и полный текст запроса на сервис Skywork, поэтому с закрытыми документами лучше оставаться на локальном слое: он работает целиком на устройстве. Это повод проверить, что за материалы вы отдаёте наружу.
Фоновые задачи ждут ответа сервера с опросом статуса примерно каждые 5 секунд, а запуск скрипта рассчитан на длинное ожидание — в инструкции для exec-инструмента выставлено yieldMs в 600000. На выходе скилл отдаёт абсолютный путь к .pptx и ссылку на скачивание.
Какие задачи решает
- собрать презентацию по теме с нуля
- повторить оформление готового шаблона в новой колоде
- переписать слайд по текстовой инструкции
- удалить или переставить страницы в локальном файле
- объединить несколько
.pptxв один
Примеры запросов агенту
- сгенерируй презентацию про итоги квартала, 10 слайдов
- используй этот шаблон и сделай колоду про новый продукт
- измени слайд 4: поменяй фон и заголовок
Как установить Skywork-ppt
1Через Skills CLI (Vercel)
npx skills add SkyworkAI/Skywork-Skills --skill skywork-ppt -a claude-code2Вручную: положить файлы
~/.claude/skills/skywork-ppt/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/skywork-ppt/
1Через Skills CLI (Vercel)
npx skills add SkyworkAI/Skywork-Skills --skill skywork-ppt -a codex2Вручную: положить файлы
.agents/skills/skywork-ppt/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add SkyworkAI/Skywork-Skills --skill skywork-ppt -a cursor2Вручную: положить файлы
.cursor/skills/skywork-ppt/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install SkyworkAI/Skywork-Skills skywork-ppt2Вручную: положить файлы
.github/skills/skywork-ppt/SKILL.md1Через Skills CLI (Vercel)
npx skills add SkyworkAI/Skywork-Skills --skill skywork-ppt -a gemini-cli2Командой платформы
gemini skills install https://github.com/SkyworkAI/Skywork-Skills --path skywork-pptВручную: положить файлы
.devin/skills/skywork-ppt/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add SkyworkAI/Skywork-Skills --skill skywork-ppt -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о Skywork-ppt
Как установить Skywork-ppt в Claude?
Выполните npx skills add SkyworkAI/Skywork-Skills --skill skywork-ppt -a claude-code. Скилл встанет в ~/.claude/skills/skywork-ppt/SKILL.md.
Что делает Skywork-ppt?
Генерирует новые презентации, повторяет стиль готового .pptx, правит слайды по текстовой команде и выполняет локальные операции с файлом.
Нужен ли ключ API для работы скилла?
Да, для генерации, имитации и правки нужен SKYWORK_API_KEY. Локальные операции со слайдами идут без обращения к серверу.
Исходный текст
SKILL.md · MIT
---
name: Skywork-ppt
description: |
Use this skill when the user wants to work with PowerPoint presentations. Triggers include:
- Generating a new PPT from a topic: 'generate a PPT' / '帮我做个PPT' / 'PPTを作って' / 'PPT 만들어줘', 'create a presentation about X' / '生成关于X的演示文稿' / 'Xについてのプレゼンを作って' / 'X에 대한 발표 자료 만들어줘', 'help me make slides' / '帮我做幻灯片' / 'スライドを作って' / '슬라이드 만들어줘'
- Imitating an existing .pptx style/template: 'use this template' / '用这个模板' / 'このテンプレートを使って' / '이 템플릿을 써줘', 'imitate this PPT' / '仿照这个PPT' / 'このPPTを真似して' / '이 PPT를 따라 해줘', 'imitate this style' / '仿照这个风格' / 'このスタイルを真似して' / '이 스타일을 따라 해줘'
- Editing an existing PPT via natural language: 'modify slide N' / '修改第N页' / 'N枚目のスライドを修正して' / 'N번 슬라이드 수정해줘', 'change the background' / '更换背景' / '背景を変えて' / '배경 바꿔줘', 'add a slide' / '新增一页幻灯片' / 'スライドを追加して' / '슬라이드 추가해줘', 'make it more beautiful' / '美化一下PPT' / 'もっときれいにして' / '더 예쁘게 다듬어줘', 'edit this PPT' / '改一下这个PPT' / 'このPPTを編集して' / '이 PPT 수정해줘'
- Local file operations on .pptx (no backend): 'delete slide N' / '删除第N页' / 'N枚目のスライドを削除して' / 'N번 슬라이드 삭제해줘', 'reorder slides' / '调整幻灯片顺序' / 'スライドを並べ替えて' / '슬라이드 순서 바꿔줘', 'merge pptx' / '合并PPT' / 'pptxを結合して' / 'pptx 합쳐줘', 'extract slides' / '提取幻灯片' / 'スライドを抽出して' / '슬라이드 추출해줘', 'how many slides' / '有多少页幻灯片' / 'スライドは何枚ある' / '슬라이드 몇 장이야'
metadata:
openclaw:
requires:
bins:
- python3
env:
- SKYWORK_API_KEY
primaryEnv: SKYWORK_API_KEY
---
# PPT Write Skill
Four capabilities: **generate**, **template imitation**, **edit existing PPT**, and **local file operations**.
---
## Prerequisites
### API Key Configuration (Required First)
This skill requires a **SKYWORK_API_KEY** to be configured in OpenClaw.
If you don't have an API key yet, please visit:
**https://skywork.ai**
For detailed setup instructions, see:
[references/apikey-fetch.md](references/apikey-fetch.md)
---
## Privacy & Remote Calls (Read Before Use)
- **Remote upload & processing**: Layers 1/2/4 upload local files and send the full, verbatim user query to the Skywork service. Avoid sensitive or confidential content unless you trust the remote service and its data handling policies.
- **Local-only operations**: Layer 3 (local ops) runs entirely on-device and does **not** call the remote gateway. Use Layer 3 if you need strict local processing.
- **Polling behavior**: The generation/edit workflows include periodic status polling (about every 5 seconds) while waiting for backend jobs. This is expected.
---
## Routing — Identify the user's intent first
| 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 |
| Delete / reorder / extract / merge slides in a local file (no backend) | **Layer 3** — Local ops |
---
## Environment check (always run this first)
**This skill requires Python 3 (>=3.8). Run the following before any script to locate a valid Python binary and install dependencies.**
```bash
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 `python` with the discovered `$PYTHON_CMD` (e.g. `python3`) in all subsequent commands.
---
## Layer 1 — Generate PPT
### Steps
0. **REQUIRED FIRST STEP** — Read [workflow_generate.md](workflow_generate.md) NOW, before taking any other action. After reading, output exactly: `✅ workflow_generate.md loaded.` — then proceed.
1. **Environment check** — run the check above to get `$PYTHON_CMD`.
2. **Upload reference files** (if the user provides local files as content source) — parse the file using tool in script/parse_file.py and pass the result to `--files`. See the `--files` note below.
3. **Web search** (required if no relevant content is already in the conversation) — call web_search tool in script to search the topic and distill results into a `reference-file` file of ≤ 2000 words.
4. **Run the script**:
> **Important**: set exec tool `yieldMs` to `600000` (10 minutes).
5. **Deliver** — provide the absolute `.pptx` path and the download URL.
---
## Layer 2 — Imitate PPT (template-based generation)
### Steps
0. **REQUIRED FIRST STEP** - Read [workflow_imitate.md](workflow_imitate.md) immidiately before any action you do!!!
1. **Environment check** — run the check above to get `$PYTHON_CMD`.
2. **Locate the template** — extract the absolute path of the local `.pptx` from the user's message; ask the user if it's unclear.
3. **Upload the template** — upload it and extract `TEMPLATE_URL` from the output.
4. **Upload reference files** (if the user provides additional local files as content source) — parse the file using tool in script/parse_file.py and pass the result to `--files`. See the `--files`
5. **Web search** (required if no relevant content is already in the conversation) — call web_search tool in script to search the new topic and distill results into a `reference-file` file of ≤ 2000 words.
6. **Run the script**:
> **Important**: set exec tool `yieldMs` to `600000` (10 minutes).
7. **Deliver** — provide the absolute `.pptx` path, the download URL, and the template filename used.
---
## Layer 4 — Edit PPT (AI-powered modification)
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).
### Steps
0. **Detailed workflow** - Read [workflow_edit.md](workflow_edit.md) immediately before any action you do!!!
1. **Environment check** — run the check above to get `$PYTHON_CMD`.
2. **Get PPTX URL** — from the user's message or upload a local file first.
3. **Run the script** with `--pptx-url`:
```bash
$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 `yieldMs` to `600000` (10 minutes).
4. **Deliver** — provide download link, local path, and summary of changes.
---
## Layer 3 — Local file operations
```bash
# 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](workflow_local.md) immidiately before any action you do!!!
---
## Error Handling
- **Insufficient benefit**: When calling scripts (generate, imitate, or edit), the script or log may show a message like `Insufficient benefit. Please upgrade your account at {url}`, meaning the user's benefit level does not meet the requirement for this skill.
### How to reply when benefit is insufficient
When you detect the above, **reply in the user's current language** — do not echo the English message. Use this pattern:
- Convey: "Sorry, PPT generation failed. This skill requires upgrading your Skywork membership to use." then a single call-to-action link.
- **Format**: One short sentence in the user's language + a link like `[Upgrade now →](url)` or the equivalent in their language .
- **URL**: Extract the upgrade URL from the log/script output (e.g. the `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 update `SKYWORK_API_KEY`. **Do not** suggest upgrading membership.
---
## Dependencies
- **Python 3.8+** (required) — `python3` / `python` must be on PATH
- Layer 3 local ops: `pip install python-pptx --break-system-packages`
(The environment check step installs all required dependencies automatically.)
---
## Which layer to trigger?
| 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 |
| Delete / reorder / extract / merge local .pptx files (no backend) | Layer 3 |
© SkyworkAI · MIT · SkyworkAI/Skywork-Skills