Claude Codeで会社テンプレートを完全活用するPowerPoint自動生成ワークフロー
キャリア

Claude Codeで会社テンプレートを完全活用するPowerPoint自動生成ワークフロー

カジュアルモードは準備中です

Claude Codeで会社テンプレートを完全活用するPowerPoint自動生成ワークフロー

この記事について: 2026年1月時点の情報に基づいています。Claude Code CLIでの操作を想定しています。

手軽に始めたい方へ: セットアップ不要で今すぐ試せる方法もあります。Claude Desktop/Web版の資料作成ガイドをご覧ください。精密な制御が不要なら、そちらの方が早いです。

Note: Claude Desktop/Webでのテンプレート機能は有料プラン(Max, Teams, Enterprise)が必要ですが、Claude Code + PPTXスキルは無料で使用できます。

「Claude Desktopでもプレゼンは作れるけど、細かいフォントサイズや配置がズレる...」

エンジニアであれば、より精密な制御が欲しいと思うことがあるでしょう。

Claude Code の公式PPTXスキルを使えば、会社テンプレートのフォント、色、配置、スペーシングを 完全に維持 したまま、テキストだけを差し替えることができます。

この記事では、公式スキルのワークフローを実践的に解説します。


2つのワークフロー: テンプレート活用 vs リッチデザイン

Claude CodeでPowerPointを作成する方法は2つあります。それぞれ得意なことが異なります。

比較表

項目 テンプレート活用 (replace.py) リッチデザイン (html2pptx)
テンプレートのロゴ・ヘッダー ◎ そのまま維持 ✕ 手動で追加が必要
書式(フォント・色・配置) ◎ 完全維持 △ CSSで再現
カスタム図形・アイコン ✕ 追加不可 ◎ 自由に追加
色付きボックス・カラムレイアウト ✕ プレースホルダーのみ ◎ HTMLで自由設計
視覚的な豊かさ △ テンプレート依存 ◎ 高い自由度
ブランド統一性 ◎ 確実 △ 手動で担保

どちらを選ぶか?

テンプレート活用が向いているケース:

  • 会社のブランドガイドラインを厳守する必要がある
  • テンプレートに十分なレイアウトパターンがある(図形・ボックス付き)
  • 文字中心の資料(報告書、提案書など)

リッチデザイン(html2pptx)が向いているケース:

  • 図解、フローチャート、アイコンを多用したい
  • テンプレートにないレイアウトを使いたい
  • 視覚的にインパクトのある資料を作りたい

⚠️ よくある誤解と注意点

「テンプレートを使えば、テンプレートのデザインがそのまま適用される」は半分正しく、半分間違いです。

テンプレート活用ワークフローで維持されるのは:

  • ✅ ヘッダー・フッターのデザイン
  • ✅ ロゴの配置
  • ✅ カラースキーム
  • ✅ フォント設定
  • プレースホルダー内のテキスト書式

維持されない・追加できないのは:

  • ❌ テンプレートにない図形やボックス
  • ❌ カスタムアイコン
  • ❌ 複雑なレイアウト(プレースホルダー外)

つまり、テンプレートのプレースホルダーがシンプル(タイトル+本文のみ)だと、出力もシンプルになります

重要: テンプレートの質がアウトプットの質を決める

テンプレート活用ワークフローでは、テンプレートに含まれるレイアウト以上のことはできません。

シンプルなテンプレート(タイトル+本文のみ)
  → シンプルな出力しか得られない

リッチなテンプレート(図形・ボックス・アイコン付きレイアウト)
  → リッチな出力が得られる

テンプレートを評価する際は、以下をチェックしてください:

チェック項目 良いテンプレート 悪いテンプレート
レイアウト数 10種類以上 3-5種類
図形・ボックス 各レイアウトに含まれる タイトル+本文のみ
カラムレイアウト 2列、3列、4列など多様 なし
数字強調・引用 専用レイアウトあり なし

ハイブリッドアプローチ

両方の良いとこ取りをする方法もあります。

方法1: テンプレート自体を拡張する(推奨)

最も確実な方法です。PowerPointでテンプレートを編集し、図形付きレイアウトを追加します。

  1. テンプレートを開く
  2. 「表示」→「スライドマスター」
  3. 新しいレイアウトを追加(図形・ボックス付き)
  4. 保存してからreplace.pyワークフローを使用

方法2: html2pptx + ブランディング後処理

html2pptxで自由にデザインした後、テンプレートのヘッダー/ロゴを追加します。

# add_branding.py
from pptx import Presentation
from pptx.util import Inches
from pptx.dml.color import RGBColor
from pptx.enum.shapes import MSO_SHAPE

def add_branding(input_pptx, output_pptx, header_color="181B24", logo_path=None):
    """html2pptxで生成したPPTXにブランディングを追加"""
    prs = Presentation(input_pptx)

    for slide in prs.slides:
        # ヘッダーバーを追加(例: 青い帯)
        header = slide.shapes.add_shape(
            MSO_SHAPE.RECTANGLE,
            Inches(0), Inches(0),
            prs.slide_width, Inches(0.8)
        )
        header.fill.solid()
        header.fill.fore_color.rgb = RGBColor.from_string(header_color)
        header.line.fill.background()

        # ロゴを追加(画像として)
        if logo_path:
            slide.shapes.add_picture(
                logo_path,
                prs.slide_width - Inches(1.5), Inches(0.1),
                height=Inches(0.6)
            )

    prs.save(output_pptx)

# 使用例
# add_branding("html2pptx-output.pptx", "branded-output.pptx", logo_path="logo.png")

方法3: スライドマスター適用(PowerPoint手動)

  1. html2pptxでスライドを生成
  2. PowerPointで開く
  3. 「デザイン」→「テーマの参照」でテンプレートを選択
  4. 各スライドにレイアウトを適用

この方法は手動作業が入りますが、最も柔軟です。


この方法のメリット(テンプレート活用)

項目 Claude Desktop Claude Code + PPTXスキル
テンプレート対応 ◎ 完全対応
書式維持 △ ズレることあり ◎ 完全維持
再現性 ◎ 同じ入力→同じ出力
バッチ処理 ◎ 複数資料を一括生成可能
バージョン管理 ◎ JSONで管理可能

他のAIツールとの比較

ツール テンプレート 書式維持 プログラマブル 備考
Claude Code + PPTX ◎ 直接編集 ◎ 完全 JSON定義でバッチ処理可能
Claude Desktop (有料) ◯ 直接編集 GUIで手軽だが精密制御は難しい
ChatGPT (有料) △ 参照のみ ファイル参照可能だが書式維持は困難
NotebookLM △ 参照のみ PDF出力のみ。編集可能なPPTX非対応

「参照」vs「直接編集」: ChatGPT/NotebookLMはテンプレートを「参考に」できますが、フォント名・色コード・余白を厳密に維持する「直接編集」はできません。


Claudeの役割を理解する

このワークフローを理解する上で最も重要なのは、Claude(AI)とPythonスクリプトの役割分担です。

Claude = 「頭脳」、スクリプト = 「手足」

flowchart TB
    subgraph Claude["Claude(AI)の担当"]
        C1[テンプレート分析]
        C2[template-inventory.md 生成]
        C3[outline.md 生成]
        C4[replacement-text.json 生成]
        C5[サムネイル確認・問題検出]
    end

    subgraph Scripts["Pythonスクリプトの担当"]
        S1[markitdown - テキスト抽出]
        S2[thumbnail.py - 画像生成]
        S3[rearrange.py - スライド配置]
        S4[inventory.py - 書式抽出]
        S5[replace.py - テキスト置換]
    end

    Claude -->|指示| Scripts

なぜこの理解が重要か?

多くの人が「手動作成」と聞くと、自分でファイルを書く必要があると思いがちです。しかし実際は:

ファイル 誤解 実際
template-inventory.md 自分で書く Claudeが生成
outline.md 自分で書く Claudeが生成
replacement-text.json 自分で書く Claudeが生成

あなたの役割は、Claudeに「何を作りたいか」を伝えることだけです。

各ステップでの役割

ステップ あなた Claude スクリプト
1. 分析 テンプレートを用意 サムネイルを視覚分析 markitdown, thumbnail.py
2. 目録 - inventory.mdを生成 -
3. 設計 作りたい内容を伝える outline.mdを生成 -
4. 配置 - - rearrange.py
5. 抽出 - - inventory.py
6. 生成 - replacement.jsonを生成 replace.py
7. 確認 最終確認 問題を検出・修正 thumbnail.py

前提条件

必要なもの

  • Claude Code CLI(インストール済み)
  • Python 3.11+(pipenv推奨)
  • 会社のPowerPointテンプレート(.pptx)

スキルのインストール

# マーケットプレイスを追加
claude plugin marketplace add anthropics/skills

# ドキュメントスキルをインストール
claude plugin install document-skills@anthropic-agent-skills

Python依存関係

pip install "markitdown[pptx]" python-pptx defusedxml Pillow

クイックスタート: 実際の使い方

セットアップが完了したら、あとはClaudeに指示するだけです。

手順

  1. テンプレートを用意: 会社のPowerPointテンプレート(.pptx)を作業ディレクトリに配置
  2. Claude Codeを起動: claude コマンドでCLIを開く
  3. 指示を出す: 以下のように依頼

指示例

template.pptx を使って、[サービス名]の営業資料を作成してください。

【サービス概要】
- [サービスの説明を1-2文で]
- [料金]
- [主な特徴]

【伝えたいこと】
- 課題: [顧客が抱える問題]
- 解決: [サービスが提供する解決策]
- 実績: [数字で示せる成果]

Claudeが自動で実行すること

flowchart LR
    A[あなたの指示] --> B[Claude]
    B --> C[テンプレート分析]
    C --> D[構成設計]
    D --> E[スライド配置]
    E --> F[テキスト置換]
    F --> G[確認・修正]
    G --> H[output.pptx]

あなたがやること: テンプレートを用意して、作りたい内容を伝える Claudeがやること: 分析、設計、スクリプト実行、確認、修正まで全て


ワークフロー詳細

以下は、Claudeが内部で実行しているワークフローの詳細です。

通常は読み飛ばしてOK:クイックスタートの方法でうまくいかない場合や、手動で細かく制御したい場合に参照してください。

2つの実行方法

方法 説明
Claude経由(推奨) 「〜を作成して」と指示するだけ。Claudeが以下のステップを全て自動実行
手動実行 各コマンドを自分で実行。デバッグやカスタマイズ時に使用

以下のStep 1-7では、各ステップで何が行われるかと、手動実行する場合のコマンドを記載しています。

概要

flowchart TD
    A[テンプレート.pptx] --> B[テンプレート分析]
    B --> C[outline.md作成]
    C --> D[rearrange.py]
    D --> E[working.pptx]
    E --> F[inventory.py]
    F --> G[text-inventory.json]
    G --> H[replacement-text.json作成]
    H --> I[replace.py]
    I --> J[output.pptx]
    J --> K[thumbnail.py]
    K --> L[確認・修正]

ファイルの役割

ファイル 役割 生成方法
template.pptx 会社テンプレート(変更禁止) 手動で用意
template-inventory.md テンプレートのスライド分析 Claude生成
outline.md 資料構成・内容設計 Claude生成
working.pptx 作業用コピー rearrange.py
text-inventory.json 全テキストと書式情報 inventory.py
replacement-text.json 置換するテキスト定義 Claude生成
output.pptx 最終成果物 replace.py

Step 1: テンプレート分析

このステップで行われること: テンプレートの構造(スライド数、各スライドの用途)を把握します。

Claude経由の場合: 「template.pptxを分析して」と指示するだけ。Claudeがサムネイルを生成・確認し、目録を作成します。

手動実行する場合:

# テキスト内容を抽出
python -m markitdown template.pptx > template-content.md

# サムネイル生成(視覚的に確認)
python ~/.claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/thumbnail.py \
  template.pptx \
  template-thumbnails.jpg

テンプレート目録(template-inventory.md)

Claudeが生成する目録の例(手動作成する場合の参考):

# Template Inventory
**Total Slides: 9**
**IMPORTANT: Slides are 0-indexed**

| Index | レイアウト | 用途 |
|-------|-----------|------|
| 0 | Title | 表紙 |
| 1 | Section | セクション区切り |
| 2 | Content | 箇条書き(4ポイント) |
| 3 | Two-Column | 比較、Before/After |
| 4 | Features | 3つの特徴 |
| 5 | Quote | 引用、ミッション |
| 6 | Stats | 数字で見る実績(3つ) |
| 7 | Process | プロセス・ステップ(4つ) |
| 8 | Thank You | クロージング |

Step 2: コンテンツ設計(outline.md)

このステップで行われること: 資料の構成と、使用するテンプレートスライドのマッピングを定義します。

Claude経由の場合: 「〜の営業資料を作成して」と指示すれば、Claudeが自動で構成を設計します。

手動作成する場合の形式:

# 営業資料 - Tech Digest

## Template Mapping
template_mapping = 0,5,2,4,7,6,2,8

## 各スライドの内容

### Slide 0: 表紙 (Template 0)
- タイトル: Tech Digest
- サブタイトル: テック最前線を、毎朝5分で
- 日付: 2026年1月

### Slide 1: ミッション (Template 5 - Quote)
- 引用: 「情報格差をなくし、全員が同じスタートラインに」
- 発言者: Tech Digest

### Slide 2: 課題提起 (Template 2 - Content)
- タイトル: AI時代の情報キャッチアップ、追いついていますか?
- ポイント1: 毎週のように新しいAIモデルがリリース
- ポイント2: 情報収集に毎日1-2時間を消費
- ポイント3: 重要なニュースを見逃すリスク
- ポイント4: 英語情報の壁

### Slide 3: 3つの特徴 (Template 4 - Features)
- タイトル: サービスの3つの特徴
- 特徴1: 毎朝配信 - 平日8時、厳選ニュース
- 特徴2: カスタマイズ - カテゴリ・キーワード設定
- 特徴3: 分析機能 - クリック計測・人気記事

...

Step 3: スライド配置(rearrange.py)

このステップで行われること: テンプレートから必要なスライドを選択・複製・並べ替えて、作業用ファイル(working.pptx)を作成します。

Claude経由の場合: outline.mdのtemplate_mappingに基づいて、Claudeが自動実行します。

手動実行する場合:

python ~/.claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/rearrange.py \
  template.pptx \
  working.pptx \
  0,5,2,4,7,6,2,8

引数の順序(重要):

rearrange.py <入力テンプレート> <出力ファイル> <インデックス列>

インデックス形式:

  • カンマ区切り(0,5,2,4
  • 同じインデックスを複数回指定可能(0,2,2,8 でSlide 2を2回使用)
  • JSON配列形式("[0,5,2,4]")は 無効

Step 4: テキスト・書式抽出(inventory.py)

このステップで行われること: working.pptxの全テキストと書式情報(フォント、色、配置など)をJSONに抽出します。

Claude経由の場合: Claudeが自動実行し、結果を解析して次のステップに使用します。

手動実行する場合:

python ~/.claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/inventory.py \
  working.pptx \
  text-inventory.json

出力例

{
  "slide-0": {
    "shape-0": {
      "placeholder_type": "CENTER_TITLE",
      "paragraphs": [
        {
          "text": "プレゼンテーションタイトル",
          "alignment": "CENTER",
          "font_name": "Arial",
          "font_size": 33.0,
          "bold": true,
          "color": "1B365D",
          "line_spacing": 33.0,
          "space_after": 12.0
        }
      ]
    }
  }
}

このJSONには、フォント名、サイズ、色、太字、配置、行間など、すべての書式情報が含まれています。


Step 5: 置換テキスト作成(replacement-text.json)

このステップで行われること: text-inventory.jsonを参考に、新しいテキスト内容を定義したJSONを作成します。

Claude経由の場合: Claudeがtext-inventory.jsonを読み込み、ユーザーが指定した内容に基づいて自動生成します。

手動作成する場合の注意点:

重要: 書式プロパティを必ず含める

text だけでなく、書式プロパティを全て含めないとデザインが崩れます。

{
  "slide-0": {
    "shape-0": {
      "paragraphs": [
        {
          "text": "Tech Digest",
          "alignment": "CENTER",
          "font_name": "Arial",
          "font_size": 33.0,
          "bold": true,
          "color": "1B365D",
          "line_spacing": 33.0,
          "space_after": 12.0
        }
      ]
    },
    "shape-1": {
      "paragraphs": [
        {
          "text": "テック最前線を、毎朝5分で",
          "alignment": "CENTER",
          "font_name": "Arial",
          "font_size": 18.0,
          "color": "5A6B7D"
        }
      ]
    }
  }
}

書式プロパティ一覧

プロパティ 説明
text テキスト内容 "サービス名"
alignment 配置 "CENTER", "LEFT"
font_name フォント名 "Arial"
font_size フォントサイズ 33.0
bold 太字 true, false
color 文字色(#なし16進数) "1B365D"
line_spacing 行間 33.0
space_after 段落後スペース 12.0
bullet 箇条書き true
level インデントレベル 0, 1

作成のコツ

  1. text-inventory.json をコピー して text のみ変更するのが確実
  2. 全shapeを含める: 含まれないshapeはクリアされる
  3. 番号バッジは維持: "01", "1" などはそのまま

Step 6: テキスト置換(replace.py)

このステップで行われること: replacement-text.jsonの内容でworking.pptxのテキストを置換し、output.pptxを生成します。

Claude経由の場合: Claudeが自動実行します。

手動実行する場合:

python ~/.claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/replace.py \
  working.pptx \
  replacement-text.json \
  output.pptx

オーバーフローエラーの対処

ValueError: Found 3 overflow error(s)
  - slide-2/shape-4: overflow worsened by 0.19"

テキストがshapeからはみ出す場合、エラーが発生します。

対処法:

  1. テキストを短くする
  2. font_size を小さくする
{
  "text": "長いテキストを短く編集",
  "font_size": 12.0
}

Step 7: 確認(thumbnail.py)

このステップで行われること: 生成されたoutput.pptxのサムネイルを作成し、問題がないか確認します。

Claude経由の場合: Claudeがサムネイルを生成・視覚分析し、テキストの切れや重なりがあれば自動で修正を試みます。

手動実行する場合:

python ~/.claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/scripts/thumbnail.py \
  output.pptx \
  output-thumbnails.jpg

確認ポイント:

  • テキストの切れ、重なりがないか
  • 配置・余白が適切か
  • フォントサイズ・色が正しいか

問題があれば replacement-text.json を修正して Step 6 から再実行。


追加の指示パターン

クイックスタート以外にも、状況に応じた指示方法があります。

パターン1: 特定のステップだけ依頼

text-inventory.json を読み込んで、replacement-text.json を作成してください。
書式プロパティは全て維持し、text のみ以下の内容に置換:

- タイトル: Tech Digest
- サブタイトル: テック最前線を、毎朝5分で
- 課題: 情報過多、時間不足、見逃しリスク、英語の壁

パターン2: 修正を依頼

output.pptx のサムネイルを確認して、問題があれば修正してください。
特に、テキストの切れや重なりがないかチェックしてください。

パターン3: 既存資料のテンプレート適用

既存の資料.pptx の内容を、template.pptx のデザインで作り直してください。

やり直しフロー

変更内容 再実行ステップ
テキスト修正のみ Step 6 (replace.py)
スライド構成変更 Step 3 (rearrange.py) から
テンプレート変更 Step 1 から

まとめ

Claude CodeのPPTXスキルを使うことで:

  • 書式が完全に維持される: フォント、色、配置、スペーシングが崩れない
  • 再現性がある: 同じJSON入力から同じ出力が得られる
  • 自動化できる: バッチ処理やCI/CD連携が可能
  • バージョン管理できる: JSONファイルをGitで管理可能

最初のセットアップには時間がかかりますが、一度ワークフローを構築すれば、高品質な資料を効率的に量産できます。


参考リンク

公式ドキュメント

ローカルファイル(インストール後)

  • 公式SKILL.md: ~/.claude/plugins/marketplaces/anthropic-agent-skills/skills/pptx/SKILL.md
  • html2pptx.md: テンプレートなしでのHTML→PowerPoint変換
  • ooxml.md: Office Open XML直接編集

更新履歴

更新日 内容
2026-01-26 2つのワークフロー(テンプレート活用 vs リッチデザイン)の比較を追加
2026-01-11 Claudeの役割を明確化、実践例を追加、公式リンクを追加
2026-01-10 初版公開

ご注意: 本記事は2026年1月時点の情報に基づいています。Claude CodeやPPTXスキルのバージョンアップにより、コマンドや挙動が変更される可能性があります。

この記事をシェア