Skywork PPT (skywork) - 用于处理PowerPoint演示文稿。触发条件:(1) 从主题生成新PPT - '生成PPT'、'创建PPT'等。
Five 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 intentWhich pathGenerate a new PPT from a topic, set of requirements or reference filesLayer 1 — GenerateUse an existing .pptx as a layout/style template to create a new presentationLayer 2 — ImitateEdit an existing PPT: modify slides, add slides, change style, split/mergeLayer 4 — EditConvert a NotebookLM-exported .pptx or .pdf into an editable .pptxLayer 5 — Convert to editable PPTXDelete / 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.
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
pythonwith the discovered$PYTHON_CMD(e.g.python3) in all subsequent commands.
REQUIRED FIRST STEP — Read workflow_generate.md NOW, before taking any other action. After reading, output exactly: ✅ workflow_generate.md loaded. — then proceed.
Environment check — run the check above to get $PYTHON_CMD.
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.
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.
Run the script:
Important: set exec tool
yieldMsto600000(10 minutes).
Deliver — provide the absolute .pptx path and the download URL.
REQUIRED FIRST STEP - Read workflow_imitate.md immidiately before any action you do!!!
Environment check — run the check above to get $PYTHON_CMD.
Locate the template — extract the absolute path of the local .pptx from the user's message; ask the user if it's unclear.
Upload the template — upload it and extract TEMPLATE_URL from the output.
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
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.
Run the script:
Important: set exec tool
yieldMsto600000(10 minutes).
Deliver — provide the absolute .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).
Detailed workflow - Read workflow_edit.md immediately before any action you do!!!
Environment check — run the check above to get $PYTHON_CMD.
Get PPTX URL — from the user's message or upload a local file first.
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
yieldMsto600000(10 minutes).
Deliver — provide download link, local path, and summary of changes.
Use this layer when the user provides a local .pptx or .pdf exported from NotebookLM and wants an editable .pptx.
Detailed workflow - Read workflow_convert_editable.md immediately before any action you do!!!
Environment check — run the check above to get $PYTHON_CMD.
Locate the source file — extract the absolute path of the local .pptx or .pdf; ask the user if the path is unclear.
Upload the source file — upload it and extract SOURCE_URL from the output.
Run the script: bash
$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).
Deliver — provide download link, local path, and the original filename used as the source.
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 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.)
ScenarioUseGenerate a PPT from a topic or existing reference filesLayer 1Imitate the layout/style of an existing .pptxLayer 2Edit/modify an existing PPT via natural languageLayer 4Convert NotebookLM-exported .pptx / .pdf into editable .pptxLayer 5Delete / reorder / extract / merge local .pptx files (no backend)Layer 3