Agent Skill
2/7/2026

slide-studio

Create and modify PowerPoint presentations (PPTX) through direct XML manipulation. Use this skill when: (1) Creating presentations from scratch, (2) Adding/editing/deleting slides, (3) Inserting images or custom shapes, (4) Applying POTX templates for consistent branding, (5) Editing existing PPTX files, (6) Working with slide layouts and placeholders, (7) User asks to make a "presentation", "slides", "deck", or mentions ".pptx". Supports all 11 standard Office slide layouts.

T
trkbt10
35GitHub Stars
1Views
npx skills add trkbt10/claude-skills

SKILL.md

Nameslide-studio
DescriptionCreate and modify PowerPoint presentations (PPTX) through direct XML manipulation. Use this skill when: (1) Creating presentations from scratch, (2) Adding/editing/deleting slides, (3) Inserting images or custom shapes, (4) Applying POTX templates for consistent branding, (5) Editing existing PPTX files, (6) Working with slide layouts and placeholders, (7) User asks to make a "presentation", "slides", "deck", or mentions ".pptx". Supports all 11 standard Office slide layouts.

name: slide-studio description: | Create and modify PowerPoint presentations (PPTX) through direct XML manipulation. Use this skill when: (1) Creating presentations from scratch, (2) Adding/editing/deleting slides, (3) Inserting images or custom shapes, (4) Applying POTX templates for consistent branding, (5) Editing existing PPTX files, (6) Working with slide layouts and placeholders, (7) User asks to make a "presentation", "slides", "deck", or mentions ".pptx". Supports all 11 standard Office slide layouts.

Slide Studio

PowerPointプレゼンテーションをXML直接編集で作成。

Step 1: 目的を確認

必ず最初にユーザーに確認する:

何をしたいですか?

  1. 新規作成: 新しいプレゼンテーションを作成
  2. テーマ適用: 既存のPPTXに新しいテーマ(POTX)を適用してデザインを変更
  3. 編集: 既存のPPTXの内容を編集(テーマ変更なし)

テンプレートについて

プレゼンテーションのテンプレート(POTX)はお持ちですか?

持っている場合: テンプレートのテーマ、色、レイアウトを適用します 持っていない場合: クリエイティブなテンプレートを探すお手伝いをしましょうか?

クリエイティブなテンプレートが欲しい場合

以下のサイトで無料のPOTX/PPTXテンプレートを入手可能:

サイト特徴
Slidesgoモダン、多彩なスタイル、Google Slides/PPTX両対応
SlidesCarnivalビジネス向け、シンプル、完全無料
ALLPPT大量のテンプレート、業界別カテゴリ
Canvaデザイン性高い、PPTXエクスポート可能
Microsoft 365公式、Office最適化

ユーザーへの提案例:

  • 「どんな雰囲気のプレゼンを作りたいですか?(ビジネス/クリエイティブ/ミニマル/カラフル)」
  • 「Slidesgoで『[キーワード] presentation template』で検索すると良いテンプレートが見つかります」
  • 「テンプレートをダウンロードしたら、POTXまたはPPTXファイルを共有してください」

Step 2: ワークフロー選択

シナリオワークフロー
テンプレートあり(新規作成)テンプレート適用
テンプレートなし(新規作成)ベースから作成
既存PPTXにテーマ適用既存ファイルへのテーマ適用
既存ファイル編集(テーマ変更なし)編集ワークフロー

テンプレート適用ワークフロー

# 1. ベース展開
node scripts/unpack.js assets/base.pptx ./work

# 2. テンプレート適用
node scripts/apply-potx.js ./work user-template.potx

# 3. レイアウト確認
node scripts/list-layouts.js ./work

# 4. スライド構築
node scripts/add-slide.js ./work --layout 2
node scripts/edit-text.js ./work --slide 2 --placeholder title --text "タイトル"

# 5. パック
node scripts/pack.js ./work output.pptx

ベースから作成ワークフロー

# 1. ベース展開
node scripts/unpack.js assets/base.pptx ./work

# 2. スライド構築
node scripts/add-slide.js ./work --layout 1  # タイトルスライド
node scripts/add-slide.js ./work --layout 2  # コンテンツスライド

# 3. テキスト編集
node scripts/edit-text.js ./work --slide 1 --placeholder ctrTitle --text "タイトル"

# 4. パック
node scripts/pack.js ./work output.pptx

既存ファイルへのテーマ適用ワークフロー

既存のPPTXファイルに新しいテーマ(POTX)を適用して、デザインを一新する。 スライドの内容は保持しつつ、色、フォント、背景、レイアウトスタイルが変更される。

# 1. 既存PPTXを展開
node scripts/unpack.js existing-presentation.pptx ./work

# 2. 現在の構造を確認
node scripts/list-slides.js ./work
node scripts/list-layouts.js ./work

# 3. テーマ(POTX)を適用
node scripts/apply-potx.js ./work new-theme.potx

# 4. 新しいレイアウトを確認
node scripts/list-layouts.js ./work

# 5. (オプション)内容の微調整
# テーマ変更後、レイアウトの調整が必要な場合
node scripts/edit-text.js ./work --slide 1 --placeholder title --text "調整後タイトル"

# 6. パック
node scripts/pack.js ./work themed-output.pptx

注意点

  • レイアウトマッピング: テンプレートに同じ番号のレイアウトがあれば自動的にマッピングされる。存在しない場合はレイアウト1(タイトルスライド)にフォールバック
  • 内容の保持: テキストや画像などのコンテンツは保持されるが、位置やスタイルはテーマに依存
  • 確認推奨: 適用後は必ずPowerPoint/Google Slidesで開いて表示を確認する

PPTXをテンプレートとして使用

POTXファイルがなくても、PPTXファイルからテーマを抽出できる:

# PPTXファイルでも同じコマンドで適用可能
node scripts/apply-potx.js ./work design-source.pptx

編集ワークフロー

# 1. 展開
node scripts/unpack.js existing.pptx ./work

# 2. 構造確認
node scripts/list-slides.js ./work

# 3. 編集
node scripts/edit-text.js ./work --slide 1 --placeholder title --text "新タイトル"

# 4. パック
node scripts/pack.js ./work updated.pptx

スクリプト一覧

スクリプト用途使用例
unpack.jsPPTX展開node scripts/unpack.js input.pptx ./work
pack.jsPPTX作成node scripts/pack.js ./work output.pptx
apply-potx.jsテンプレート適用node scripts/apply-potx.js ./work template.potx
add-slide.jsスライド追加node scripts/add-slide.js ./work --layout 2
delete-slide.jsスライド削除node scripts/delete-slide.js ./work --slide 3
clone-slide.jsスライド複製node scripts/clone-slide.js ./work --source 1
edit-text.jsテキスト編集node scripts/edit-text.js ./work --slide 1 --placeholder title --text "..."
add-image.js画像追加node scripts/add-image.js ./work --slide 1 --image logo.png
list-layouts.jsレイアウト一覧node scripts/list-layouts.js ./work
list-slides.jsスライド一覧node scripts/list-slides.js ./work
visualize-slide.jsASCII構造表示node scripts/visualize-slide.js ./work --slide 1
add-shape.jsシェイプ自由配置node scripts/add-shape.js ./work --slide 1 --type textbox ...

レイアウト

#名前プレースホルダー
1Title SlidectrTitle, subTitle
2Title and Contenttitle, body
3Section Headertitle, body
4Two Contenttitle, body×2
5Comparisontitle, body×4
6Title Onlytitle
7Blank(なし)
8Content with Captiontitle, body×2
9Picture with Captiontitle, body, pic
10Title and Vertical Texttitle, body
11Vertical Title and Texttitle, body

カスタムレイアウト(自由配置)

標準レイアウトでは表現できない場合、add-shape.jsでシェイプを自由配置。

構造確認(ASCII可視化)

# スライドのシェイプ配置をASCIIアートで表示
node scripts/visualize-slide.js ./work --slide 1

出力例:

+----------------------------------------------------------------------+
|                                                                      |
|          +--------------------------+                                |
|          |            [1]           |                                |
|          +--------------------------+                                |
|                                                                      |
+----------------------------------------------------------------------+

Shapes:
[1] TextBox 4
    Position: (2.00", 3.00")  Size: 5.00" × 1.00"
    Text: "Custom Text..."

シェイプ追加

# テキストボックス追加(テーマ色対応)
node scripts/add-shape.js ./work --slide 1 --type textbox \
    --text "見出し" --x 2 --y 1 --width 5 --height 1 \
    --color accent1 --font-size 24 --bold

# 矩形追加
node scripts/add-shape.js ./work --slide 1 --type rect \
    --x 1 --y 5 --width 10 --height 0.5 --fill accent2

テーマ色

テンプレート適用後、以下のテーマ色が使用可能:

色名用途
dk1, dk2ダーク(テキスト向け)
lt1, lt2ライト(背景向け)
accent1accent6アクセントカラー
hlink, folHlinkハイパーリンク

RGB直接指定も可能: --color FF0000

add-shape.js オプション

オプション説明
--typetextbox または rect
--x, --y位置(インチ)
--width, --heightサイズ(インチ)
--textテキスト内容
--colorテキスト色(テーマ色 or RGB)
--fill塗りつぶし色
--font-sizeフォントサイズ(pt)
--bold, --italic太字/斜体
--alignleft, center, right

手動編集が必要な場合

複雑なシェイプや高度な書式は ./work/ppt/slides/slideN.xml を直接編集。 詳細は references/slide-patterns.md を参照。


確認方法

テキスト抽出

# markitdownでテキスト内容を確認(インストール済みの場合)
python -m markitdown output.pptx

構造確認

# スライド一覧
node scripts/list-slides.js ./work

# XMLを直接読む
# slideN.xmlの<p:sp>要素でシェイプ構造を確認

ユーザー確認

生成後、ユーザーにPowerPoint/Google Slidesで開いて確認してもらう。

Skills Info
Original Name:slide-studioAuthor:trkbt10