Skywork-ppt について
Skywork-pptは、OpenClaw向けのプレゼンテーション作成スキルです。新規作成、既存PPTXのテンプレート化、編集、ローカルでのスライド操作に対応し、リモート生成と編集にはSKYWORK_API_KEYが必要です。
主な機能
- 01テーマや参考資料からのプレゼン作成
- 02PPTXテンプレートを使った新規作成
- 03既存プレゼンの編集
- 04スライドの削除・並べ替え・抽出・結合
活用シーン
- 01テーマと参考ファイルから資料を作成
- 02既存資料のスタイルを使って新規作成
- 03自然言語の指示でスライドを修正
- 04リモート処理なしでスライドを整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ skyworkai/ skywork-skills --skill skywork-pptインストール後、Claude Code で/skywork-pptを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
workflow_edit.mdworkflow_generate.mdworkflow_imitate.mdworkflow_local.mdreferences/apikey-fetch.mdscripts/constant.pyweb_search.pyskywork_auth.pyparse_file.pylocal_pptx_ops.pyrun_ppt_write.pyupload_files.py詳細
PPT Write スキル
4 つの機能:生成、テンプレートの模倣、既存の PPT の編集、ローカルファイル操作。
前提条件
API キーの設定(最初に必須)
このスキルを使用するには、OpenClaw で SKYWORK_API_KEY を設定する必要があります。
API キーをまだお持ちでない場合は、次のサイトにアクセスしてください: https://skywork.ai
詳しい設定手順については、次を参照してください: references/apikey-fetch.md
プライバシーとリモート呼び出し(使用前にお読みください)
- リモートアップロードと処理:レイヤー 1/2/4 では、ローカルファイルをアップロードし、ユーザーのクエリ全文をそのまま Skywork サービスに送信します。リモートサービスとそのデータ取り扱いポリシーを信頼できない場合は、機密情報や秘密情報を含めないでください。
- ローカルのみの操作:レイヤー 3(ローカル操作)はデバイス上だけで実行され、リモートゲートウェイを呼び出しません。厳密にローカルで処理する必要がある場合は、レイヤー 3 を使用してください。
- ポーリングの動作:生成/編集のワークフローでは、バックエンドのジョブを待つ間、定期的にステータスをポーリングします(約 5 秒ごと)。これは想定された動作です。
ルーティング — まずユーザーの意図を特定する
| ユーザーの意図 | 使用する経路 |
|---|---|
| トピック、要件、または参照ファイルをもとに新しい PPT を生成する | レイヤー 1 — 生成 |
| 既存の .pptx をレイアウト/スタイルのテンプレートとして使用し、新しいプレゼンテーションを作成する | レイヤー 2 — 模倣 |
| 既存の PPT を編集する:スライドの変更、追加、スタイルの変更、分割/結合 | レイヤー 4 — 編集 |
| ローカルファイル内のスライドを削除/並べ替え/抽出/結合する(バックエンドなし) | レイヤー 3 — ローカル操作 |
環境チェック(必ず最初に実行)
このスキルには Python 3(>=3.8)が必要です。スクリプトを実行する前に、次のコマンドを実行して有効な Python バイナリを見つけ、依存関係をインストールしてください。
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."
このチェックの後、以降のすべてのコマンドで
pythonを、見つかった$PYTHON_CMD(例:python3)に置き換えてください。
レイヤー 1 — PPT を生成
手順
- 最初に必ず実行 — 他の操作を行う前に、今すぐ workflow_generate.md を読んでください。読み終えたら、正確に
✅ workflow_generate.md loaded.と出力してから次に進んでください。 - 環境チェック — 上記のチェックを実行して
$PYTHON_CMDを取得します。 - 参照ファイルをアップロード(ユーザーがコンテンツソースとしてローカルファイルを提供した場合)— script/parse_file.py のツールでファイルを解析し、結果を
--filesに渡します。下記の--filesに関する注記を参照してください。 - ウェブ検索(会話内に関連するコンテンツがない場合は必須)— script 内の web_search ツールを呼び出してトピックを検索し、結果を 2000 語以内の
reference-fileファイルにまとめます。 - スクリプトを実行:
重要:exec ツールの
yieldMsを600000(10 分)に設定してください。 - 納品 —
.pptxの絶対パスとダウンロード URL を提示します。
レイヤー 2 — PPT を模倣(テンプレートベースの生成)
手順
- 最初に必ず実行 - 何らかの操作を行う直前に、すぐに workflow_imitate.md を読んでください!!!
- 環境チェック — 上記のチェックを実行して
$PYTHON_CMDを取得します。 - テンプレートを特定 — ユーザーのメッセージからローカル
.pptxの絶対パスを抽出します。不明な場合はユーザーに確認してください。 - テンプレートをアップロード — アップロードし、出力から
TEMPLATE_URLを抽出します。 - 参照ファイルをアップロード(ユーザーが追加のローカルファイルをコンテンツソースとして提供した場合)— script/parse_file.py のツールでファイルを解析し、結果を
--filesに渡します。--filesに関する注記を参照してください。 - ウェブ検索(会話内に関連するコンテンツがない場合は必須)— script 内の web_search ツールを呼び出して新しいトピックを検索し、結果を 2000 語以内の
reference-fileファイルにまとめます。 - スクリプトを実行:
重要:exec ツールの
yieldMsを600000(10 分)に設定してください。 - 納品 —
.pptxの絶対パス、ダウンロード URL、および使用したテンプレートのファイル名を提示します。
レイヤー 4 — PPT の編集(AI による変更)
自然言語で既存の PPT を変更したい場合は、このレイヤーを使用します。PPTX の OSS/CDN URL(以前に生成したもの、またはアップロードしたもの)が必要です。
手順
- 詳細なワークフロー — 何らかの操作を行う直前に、workflow_edit.md を必ず読んでください!!!
- 環境の確認 — 上記の確認を実行して
$PYTHON_CMDを取得します。 - PPTX URL の取得 — ユーザーのメッセージから取得するか、先にローカルファイルをアップロードします。
- スクリプトの実行 —
--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重要:exec ツールの
yieldMsを600000(10 分)に設定してください。 - 成果物の提供 — ダウンロードリンク、ローカルパス、変更内容の概要を提示します。
レイヤー 3 — ローカルファイルの操作
# 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
操作を行う直前に、workflow_local.md を必ず読んでください!!!
エラー処理
- 特典不足:スクリプト(generate、imitate、edit)の呼び出し時に、スクリプトまたはログに
Insufficient benefit. Please upgrade your account at {url}のようなメッセージが表示される場合があります。これは、このスキルの利用要件をユーザーの特典レベルが満たしていないことを意味します。
特典が不足している場合の返信方法
上記を検出した場合は、ユーザーが現在使用している言語で返信してください。英語のメッセージをそのまま繰り返さないでください。次の形式を使用します。
- 「申し訳ありません。PPT の生成に失敗しました。このスキルを利用するには、Skywork メンバーシップのアップグレードが必要です。」という内容と、1 つのリンクを提示します。
- 形式:ユーザーの言語で短い文を 1 つ記述し、
[今すぐアップグレード →](url)またはその言語に相当するリンクを付けます。 - URL:ログまたはスクリプトの出力(例:
at https://...の部分)からアップグレード URL を取得します。
注:アップグレードを提案するのは、エラーが Insufficient benefit の場合に限ります。
NO_TOKEN/INVALID_TOKEN/401/「invalid API key」などの認証エラーの場合は、エラーコード/生のメッセージをそのまま保持し、ユーザーにSKYWORK_API_KEYの更新を案内してください。メンバーシップのアップグレードを提案してはいけません。
依存関係
- Python 3.8 以降(必須)—
python3/pythonが PATH 上にある必要があります - レイヤー 3 のローカル操作:
pip install python-pptx --break-system-packages
(環境確認の手順で、必要な依存関係はすべて自動的にインストールされます。)
どのレイヤーを使用するか?
| シナリオ | 使用するレイヤー |
|---|---|
| トピックまたは既存の参考ファイルから PPT を生成する | レイヤー 1 |
| 既存の .pptx のレイアウト/スタイルを模倣する | レイヤー 2 |
| 自然言語で既存の PPT を編集/変更する | レイヤー 4 |
| ローカルの .pptx ファイルを削除/並べ替え/抽出/結合する(バックエンドなし) | レイヤー 3 |