skyworkai/skywork-skills

Skywork-ppt

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' / '生成? - Imitating an existing .pptx style/template: 'use this template' / '用这个模板' / 'このテンプレートを使って' / '이 ? - Editing an existing PPT via natural language: 'modify slide N' / '修改第N页' / 'N枚目のスライドを修正して' / 'N번 슬라이드 수정해줘', 'change …

First seen Mar 19, 2026

Installation

$ npx skills add skyworkai/skywork-skills --skill skywork-ppt

Also in this package

Other skills from skyworkai/skywork-skills.

npx skills add skyworkai/skywork-skills

Browse all from skyworkai/skywork-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 202
License LICENSE
Default branch main
Open issues 2
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents clawdbot
More metadata
openclaw
{"requires":{"bins":["python3"],"env":["SKYWORK_API_KEY"]},"primaryEnv":"SKYWORK_API_KEY"}

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 9,964 B
  • docs SUMMARY.md 1,957 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 642 installs

SKILL.md

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 SKYWORKAPIKEY 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.

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

  1. REQUIRED FIRST STEP — Read [workflowgenerate.md](workflowgenerate.md) NOW, before taking any other action. After reading, output exactly: ✅ workflow_generate.md loaded. — then proceed.
  2. Environment check — run the check above to get $PYTHON_CMD.
  3. 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.
  4. 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.
  5. Run the script:

> Important: set exec tool yieldMs to 600000 (10 minutes).

  1. Deliver — provide the absolute .pptx path and the download URL.

Layer 2 — Imitate PPT (template-based generation)

Steps

  1. REQUIRED FIRST STEP - Read [workflowimitate.md](workflowimitate.md) immidiately before any action you do!!!
  2. Environment check — run the check above to get $PYTHON_CMD.
  3. Locate the template — extract the absolute path of the local .pptx from the user's message; ask the user if it's unclear.
  4. Upload the template — upload it and extract TEMPLATE_URL from the output.
  5. 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
  6. 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.
  7. Run the script:

> Important: set exec tool yieldMs to 600000 (10 minutes).

  1. 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

  1. Detailed workflow - Read [workflowedit.md](workflowedit.md) immediately before any action you do!!!
  2. Environment check — run the check above to get $PYTHON_CMD.
  3. Get PPTX URL — from the user's message or upload a local file first.
  4. Run the script with --pptx-url:

``bash $PYTHONCMD scripts/runppt_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).

  1. Deliver — provide download link, local path, and summary of changes.

Layer 3 — Local file operations

# 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 [workflowlocal.md](workflowlocal.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 NOTOKEN / INVALIDTOKEN / 401 / “invalid API key”, keep the error code / raw message and guide users to update SKYWORKAPIKEY. 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