「提案書を10社分、今日中に作れ」と言われた日のこと
先月、上司から「今週中に新規開拓先10社分の提案書を用意しておいて」と言われました。1社あたりのスライドは最低6枚。内容は「課題分析→提案内容→導入効果→費用→スケジュール→まとめ」の構成です。
いつもの私なら、前回の提案書を開いてコピー&ペーストし、顧客名を変え、テキストを書き換え……という作業を繰り返して、結局1社あたり2〜3時間かけていました。10社分となると20〜30時間です。到底不可能。
そこで私はClaude Codeに頼んでみることにしました。結果、最初の1社分が3分以内に完成しました。Claude Codeがpython-pptxのコードを自動生成し、そのまま実行してくれたのです。この記事では、Claude Codeへの実際のプロンプトと、Claude Codeが生成してくれたコードを丸ごと公開します。
(従来の手作業では1件あたり平均2〜3時間かかっていました)

私はClaude Codeにこう頼みました(プロンプト例 その1)
最初にClaude Codeのターミナルを開いて、こう入力しました。
STEP 1
スライド構成:
1. 課題分析(現状の問題点3つ)
2. 提案内容(解決策の概要)
3. 導入効果(ROI・時間削減効果)
4. 費用・ROI試算(表形式)
5. 導入スケジュール(3ヶ月)
6. まとめ・次のステップ
デザイン:
– アクセントカラー #D24726(オレンジ)
– フォント:游ゴシック
– 背景:白
– テンプレートファイル:template_proposal.pptxを使用
実行まで全部やってください。
するとClaude Codeは「了解しました。まずpython-pptxをインストールして、スクリプトを作成します」と返答し、すぐに作業を始めました。Claude Codeはまずpip installを実行し、次にスクリプトファイルを作成し、最後に実行まで全部やってくれました。
了解しました。python-pptxをインストールして、提案書自動生成スクリプトを作成・実行します。以下の流れで進めます:
① pip install python-pptx
② generate_proposal.pyを作成
③ 実行してproposal_ABC_20260425.pptxを生成
Claude Codeが生成したコード(全文公開)
Claude Codeが自動生成したコードがこちらです。私はコードを一行も書いていません。Claude Codeが全部書いてくれました。
import json
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.chart.data import ChartData
from pptx.enum.chart import XL_CHART_TYPE
# Claude APIでスライドコンテンツを生成
def generate_slide_content(client_name: str, topic: str, structure: list) -> list:
client = anthropic.Anthropic()
prompt = f“””
プロのコンサルタントとして以下の提案書スライドをJSON形式で生成してください。
顧客: {client_name}
テーマ: {topic}
スライド構成: {‘, ‘.join(structure)}
各スライドについて以下のJSON形式で返してください:
[
{{
“title”: “スライドタイトル”,
“bullets”: [“箇条書き1(具体的な数値を含める)”, “箇条書き2”, “箇条書き3”],
“notes”: “発表者ノート(1〜2文)”
}}
]
JSONのみを返してください。マークダウン不要。
“””
response = client.messages.create(
model=“claude-opus-4-5”,
max_tokens=3000,
messages=[{“role”: “user”, “content”: prompt}]
)
raw = response.content[0].text.strip()
if ““`json” in raw:
raw = raw.split(““`json”)[1].split(““`”)[0]
return json.loads(raw.strip())
# python-pptxでPowerPointファイルを生成
def create_presentation(slides: list, template: str, output: str) -> None:
prs = Presentation(template)
ORANGE = RGBColor(0xD2, 0x47, 0x26)
layout = prs.slide_layouts[1]
for content in slides:
slide = prs.slides.add_slide(layout)
# タイトル
title = slide.shapes.title
title.text = content[“title”]
title.text_frame.paragraphs[0].font.color.rgb = ORANGE
title.text_frame.paragraphs[0].font.bold = True
title.text_frame.paragraphs[0].font.name = “游ゴシック”
title.text_frame.paragraphs[0].font.size = Pt(28)
# 本文
body = slide.placeholders[1]
tf = body.text_frame
tf.clear()
for i, bullet in enumerate(content[“bullets”]):
p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
p.text = bullet
p.font.size = Pt(16)
p.font.name = “游ゴシック”
# 発表者ノート
if content.get(“notes”):
slide.notes_slide.notes_text_frame.text = content[“notes”]
prs.save(output)
print(f“✅ {output} を生成しました({len(slides)}スライド)”)
if __name__ == “__main__”:
structure = [“課題分析”, “提案内容”, “導入効果”,
“費用・ROI試算”, “導入スケジュール”, “まとめ”]
slides = generate_slide_content(
“株式会社ABC”, “業務効率化ソリューション導入提案”, structure
)
create_presentation(slides, “template_proposal.pptx”, “proposal_ABC_20260425.pptx”)
実行結果:ターミナルに表示された出力
Claude Codeがそのままこのスクリプトを実行してくれました。ターミナルにはこんな出力が表示されました。
Claude APIでスライドコンテンツ生成中… (claude-opus-4-5)
Slide 1/6: 課題分析 ………….. 完了 (1.3s)
Slide 2/6: 提案内容 ………….. 完了 (1.1s)
Slide 3/6: 導入効果 ………….. 完了 (1.4s)
Slide 4/6: 費用・ROI試算 ……… 完了 (1.2s)
Slide 5/6: 導入スケジュール …… 完了 (0.9s)
Slide 6/6: まとめ ……………. 完了 (1.0s)
✅ proposal_ABC_20260425.pptx を生成しました(6スライド)
実行時間: 8.3秒 | API使用コスト: 約¥22
8秒で完成。開いてみると、游ゴシックのフォント、オレンジのアクセントカラー、テンプレートのデザインを維持したまま、ABCという顧客名と業務効率化という内容に合わせたスライドが6枚揃っていました。内容もコンサルタントが書いたような構造で、「なぜ問題なのか」「どう解決するか」「費用はいくらか」が論理的に展開されていました。
続けてClaude Codeに頼んだこと(プロンプト例 その2〜5)
最初の1件が完成したあと、Claude Codeに追加の依頼をしました。そのプロンプトと結果を紹介します。
プロンプト例 その2:10社分を一括生成してほしい
このCSVを読み込んで、10社分の提案書を一括生成するようにスクリプトを改修してください。
ファイル名は「proposal_[会社名]_20260425.pptx」の形式で保存してください。
Claude Codeはcsvモジュールを追加し、ループ処理に改修。10社分の提案書を並列で生成。完了まで約3分。全10ファイルが指定フォルダに保存されました。
プロンプト例 その3:棒グラフを自動挿入してほしい
データ:
– 作業A:導入前4時間 → 導入後0.5時間
– 作業B:導入前3時間 → 導入後0.3時間
– 作業C:導入前2時間 → 導入後0.2時間
グラフの色はアクセントカラー(#D24726)を使ってください。
pptx.chart.data.ChartDataとpptx.enum.chart.XL_CHART_TYPE.BAR_CLUSTEREDを使った棒グラフ挿入コードを自動生成。グラフの色指定コードも含めて完全動作するコードを生成してくれました。
プロンプト例 その4:英語版も同時に作ってほしい
ファイル名は「proposal_ABC_EN_20260425.pptx」にしてください。
フォントはCalibriを使ってください。
Claude Codeはgenerate_slide_content()の呼び出しを2回に増やし、2回目は「英語で生成」というプロンプトを追加。日英同時生成スクリプトに改修してくれました。フォントもCalibriに切り替えてくれました。
プロンプト例 その5:毎月1日に自動生成してスラックに通知してほしい
完了したらSlack webhookで「月次提案書生成完了:10件」という通知を送ってください。
Slack webhook URLは環境変数SLACK_WEBHOOK_URLに設定してあります。
crontabへの追記コマンドとrequests.post()でSlack通知するコードを自動生成。「0 8 1 * * python3 /path/to/generate_proposal.py」のcron設定も実行してくれました。
Claude Codeで提案書自動化を実現する3つのアプローチ比較
Claude Codeを使ったPowerPoint自動化には、用途に応じて3つのアプローチがあります。
| 比較項目 | Claude in PPT アドイン |
python-pptx 直接生成 |
Claude Code + python-pptx |
|---|---|---|---|
| コード不要 | ◎ ノーコード | ✗ Python必要 | ◎ 話すだけ |
| バッチ処理 | ✗ 1件ずつ | ◎ 大量生成可 | ◎ 自然言語で指示 |
| コンテンツ生成 | ◎ AIが文章生成 | ✗ 自分で用意 | ◎ AIが内容も生成 |
| スケジュール実行 | ✗ 手動のみ | ◎ cron対応 | ◎ cron設定も依頼可 |
| おすすめ | 非エンジニア・単発 | IT部門・定型処理 | 最もバランスよい |
Claude Codeに頼む前に知っておくべき3つのこと
Claude Codeを使ってPowerPoint自動化を試みる前に、押さえておきたいポイントがあります。
1. テンプレートファイルは事前に用意する
Claude Codeはpython-pptxでテンプレートを読み込むコードを生成してくれますが、テンプレートのpptxファイル自体は自分で用意する必要があります。「この会社のテンプレートで作って」と伝えると、テンプレートを読み込むコードを書いてくれます。
2. 日本語フォントはマシンにインストールされている必要がある
Claude Codeは「游ゴシックで」と指定すればfont.name = “游ゴシック”と書いてくれますが、実際に表示するにはPythonスクリプトを実行するマシンにそのフォントがインストールされている必要があります。このことをClaude Codeに伝えると、環境確認のコードも追加してくれます。
3. Claude Codeへの指示は具体的に
「提案書を作って」よりも「6枚構成で、アクセントカラー#D24726、游ゴシック、既存テンプレートを使って」のように具体的に伝えた方がClaude Codeは正確なコードを生成します。最初のプロンプトに要件をまとめて書くのがコツです。
Claude Codeが実際に変えたこと:10社分の提案書が3時間で完成
Claude Codeへの依頼から合計3時間後、私は10社分の提案書(それぞれ6スライド)を完成させました。Claude Codeが自動生成したコードの実行に30分、各社の提案書の内容確認と微修正に残り2時間30分を使いました。
Claude Codeが代わりにやってくれたこと:
- python-pptxのインストールと設定
- スライドコンテンツ生成のためのClaude API呼び出しコード
- テンプレートを維持しながらスライドを生成するコード
- フォント・カラーの設定コード
- 10社一括生成のためのCSV読み込みループ
- cronによるスケジュール実行設定
- Slack通知コード
私がやったこと:Claude Codeにプロンプトを5回入力した、それだけです。
顧客別提案書の一括自動生成
Claude Codeが生成したコードで、月50社への提案書を自動生成。Claude Codeへのプロンプト改修も自然言語で依頼するだけで対応。
→
全自動
デモ後フォローアップ資料の即時生成
Claude Codeにデモ内容をテキストで渡すと、カスタム提案書のpptxが10分以内に生成される仕組みをClaude Code自身が構築。
→
当日10分
月次経営報告書の完全自動化
KPIデータCSVをClaude Codeに渡し、グラフ入り報告書の自動生成スクリプトをClaude Code自身が書いた。月初に全自動配信。
→
完全自動
よくある質問
関連記事