mcpField
P
pptx

pptx

github.com/nogatakaドキュメント3048 回インストール32 週間前に更新
リポジトリ

pptx について

pptxは、PowerPointプレゼンテーションの読み取り、編集、作成を支援するスキルです。テンプレートを使った編集や一からの作成に加え、デザインと品質確認の手順を案内します。

主な機能

  1. 01プレゼンテーションのテキスト抽出
  2. 02スライドのサムネイル生成
  3. 03テンプレートを使った編集
  4. 04PptxGenJSによる作成
  5. 05内容と視覚レイアウトの確認

活用シーン

  1. 01既存デッキのテキストとレイアウトの確認
  2. 02テンプレートを維持したスライド編集
  3. 03参考デッキなしでのプレゼン作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nogataka/slidekit --skill pptx

インストール後、Claude Code で/pptxを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

editing.md
LICENSE.txt
pptxgenjs.md
scripts/
__init__.py
add_slide.py
clean.py
scripts/office/
pack.py
scripts/office/helpers/
__init__.py
merge_runs.py
simplify_redlines.py
scripts/office/schemas/ecma/fouth-edition/
opc-contentTypes.xsd
opc-coreProperties.xsd
opc-digSig.xsd
opc-relationships.xsd
scripts/office/schemas/ISO-IEC29500-4_2016/
dml-chart.xsd
dml-chartDrawing.xsd
dml-diagram.xsd
dml-lockedCanvas.xsd
dml-main.xsd
dml-picture.xsd
dml-spreadsheetDrawing.xsd
dml-wordprocessingDrawing.xsd
pml.xsd
shared-additionalCharacteristics.xsd
shared-bibliography.xsd
shared-commonSimpleTypes.xsd
shared-customXmlDataProperties.xsd
shared-customXmlSchemaProperties.xsd
shared-documentPropertiesCustom.xsd
shared-documentPropertiesExtended.xsd

詳細

PPTX スキル

クイックリファレンス

タスクガイド
コンテンツの読み取り・分析python -m markitdown presentation.pptx
テンプレートからの編集または作成editing.md を読む
ゼロからの作成pptxgenjs.md を読む

コンテンツの読み取り

# Text extraction
python -m markitdown presentation.pptx

# Visual overview
python scripts/thumbnail.py presentation.pptx

# Raw XML
python scripts/office/unpack.py presentation.pptx unpacked/

編集ワークフロー

詳細は editing.md を参照してください。

  1. thumbnail.py でテンプレートを分析する
  2. アンパック → スライドを操作 → コンテンツを編集 → クリーン → パック

ゼロからの作成

詳細は pptxgenjs.md を参照してください。

テンプレートや参照用のプレゼンテーションがない場合に使用します。


デザインのアイデア

退屈なスライドは作らないでください。 白い背景に単純な箇条書きを並べただけでは、誰の印象にも残りません。各スライドについて、このリストのアイデアを検討してください。

開始する前に
  • 内容に合った大胆なカラーパレットを選ぶ: パレットは、このトピックのために設計されたものに感じられる必要があります。色を完全に別のプレゼンテーションに入れ替えても「うまくいく」のであれば、十分に具体的な選択ができていません。
  • 均等ではなく支配的な色を置く: 1つの色が視覚的な重み(60〜70%)を占め、1〜2色のサポート色と、鋭いアクセント色を1つ加えます。すべての色に同じ重みを与えないでください。
  • ダークとライトのコントラスト: タイトルとまとめのスライドにはダーク背景、コンテンツにはライトを使う(「サンドイッチ」構成)。または、プレミアムな印象のために全体をダークで統一します。
  • ビジュアルモチーフを一貫させる: 特徴的な要素を1つ選んで繰り返し使います。例えば、角丸の画像フレーム、色付きの円の中のアイコン、片側の太い罫線などです。すべてのスライドに一貫して用いてください。
カラーパレット

トピックに合った色を選んでください。一般的な青をそのまま使わないようにしましょう。以下のパレットをインスピレーションとして使えます。

テーマプライマリセカンダリアクセント
Midnight Executive1E2761(ネイビー)CADCFC(アイスブルー)FFFFFF(ホワイト)
Forest & Moss2C5F2D(フォレスト)97BC62(モス)F5F5F5(クリーム)
Coral EnergyF96167(コーラル)F9E795(ゴールド)2F3C7E(ネイビー)
Warm TerracottaB85042(テラコッタ)E7E8D1(サンド)A7BEAE(セージ)
Ocean Gradient065A82(ディープブルー)1C7293(ティール)21295C(ミッドナイト)
Charcoal Minimal36454F(チャコール)F2F2F2(オフホワイト)212121(ブラック)
Teal Trust028090(ティール)00A896(シーフォーム)02C39A(ミント)
Berry & Cream6D2E46(ベリー)A26769(ダスティローズ)ECE2D0(クリーム)
Sage Calm84B59F(セージ)69A297(ユーカリ)50808E(スレート)
Cherry Bold990011(チェリー)FCF6F5(オフホワイト)2F3C7E(ネイビー)
各スライドについて

すべてのスライドにはビジュアル要素が必要です。 画像、グラフ、アイコン、または図形のいずれかを入れてください。テキストだけのスライドは印象に残りません。

レイアウトの選択肢:

  • 2カラム(左にテキスト、右にイラスト)
  • アイコン+テキストの行(色付きの円の中のアイコン、太字の見出し、その下に説明)
  • 2x2 または 2x3 のグリッド(片側に画像、もう片側にコンテンツブロックのグリッド)
  • ハーフブリード画像(左または右の全面)にコンテンツを重ねる

データの表示:

  • 大きな数値の強調表示(60〜72pt の大きな数字と、その下の小さなラベル)
  • 比較列(前後、長所と短所、並列のオプション)
  • タイムラインまたはプロセスフロー(番号付きステップ、矢印)

ビジュアルの仕上げ:

  • セクション見出しの横に、小さな色付きの円に入れたアイコンを置く
  • 重要な数値やキャッチコピーには斜体のアクセントテキストを使う
タイポグラフィ

興味深いフォントの組み合わせを選んでください。 Arial をそのまま使わないようにしましょう。個性のある見出し用フォントを選び、それを読みやすい本文用フォントと組み合わせます。

見出しフォント本文フォント
GeorgiaCalibri
Arial BlackArial
CalibriCalibri Light
CambriaCalibri
Trebuchet MSCalibri
ImpactArial
PalatinoGaramond
ConsolasCalibri
要素サイズ
スライドタイトル36〜44pt 太字
セクション見出し20〜24pt 太字
本文14〜16pt
キャプション10〜12pt(控えめな色)
余白
  • 最低 0.5" の余白
  • コンテンツブロック間は 0.3〜0.5"
  • 余白を残してください。すべての空間を埋めないようにしましょう
避けるべきこと(よくある間違い)
  • 同じレイアウトを繰り返さない — スライドごとに列、カード、コールアウトを変化させましょう
  • 本文テキストを中央揃えにしない — 段落とリストは左揃えにし、中央揃えはタイトルのみにしましょう
  • サイズのコントラストを怠らない — タイトルは 36pt 以上にして、14〜16pt の本文から際立たせましょう
  • デフォルトで青を使わない — 特定のトピックを反映した色を選びましょう
  • スペーシングをランダムに混在させない — 0.3 インチまたは 0.5 インチの間隔を選び、一貫して使いましょう
  • 1 枚だけスタイルを適用して残りを地味にしない — 全面的に適用するか、全体を通してシンプルに保ちましょう
  • テキストのみのスライドを作らない — 画像、アイコン、グラフ、視覚要素を追加しましょう。タイトルと箇条書きだけのスライドは避けましょう
  • テキストボックスのパディングを忘れない — 行や図形をテキストの端に揃えるときは、テキストボックスに margin: 0 を設定するか、パディングを考慮して図形をオフセットしましょう
  • コントラストの低い要素を使わない — アイコンとテキストの両方に、背景に対する強いコントラストが必要です。明るい背景に明るい文字、暗い背景に暗い文字は避けましょう
  • タイトルの下にアクセントラインを絶対に使わない — これは AI 生成スライドの特徴です。代わりに余白や背景色を使いましょう

QA(必須)

問題があると想定してください。あなたの仕事はそれを見つけることです。

最初のレンダリングがほぼ正しいことはありません。QA は確認作業ではなく、バグ探しとして取り組みましょう。最初の検査で問題がゼロだったなら、十分に注意深く見ていなかったのです。

構造 QA(PptxGenJS のみ)

PptxGenJS でゼロから作成する場合は、生成直後に必ず修正スクリプトを実行してください。PptxGenJS v4.x には、PowerPoint の修復ダイアログを引き起こす 14 個の既知のバグがあります。具体的には、幽霊のような slideMaster エントリ、rect プリセット上の無効な adj ガイド、背景における <a:effectLst/> の欠落、空の <a:ln> 要素、テキストラン間の誤った位置の <a:pPr>、slideMaster 背景の欠落、presentation.xml 内の不正確な要素順序、無効な prst="oval"(正しくは "ellipse")、共有された notesMaster テーマ(別途 theme2.xml が必要)、および「コンテンツが削除されました」ダイアログを引き起こす重複画像です。

python fix_pptx.py output.pptx

包括的な修正スクリプト(すべての既知の問題を修正)については、pptxgenjs.md の項目 #9 を参照してください。この手順は、PptxGenJS で生成されたすべてのファイルで必須です。

コンテンツ QA
python -m markitdown output.pptx

コンテンツの欠落、誤字、誤った順序がないか確認してください。

テンプレートを使用する場合、残ったプレースホルダーテキストがないか確認してください:

python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"

grep が結果を返した場合は、成功を宣言する前にそれらを修正してください。

ビジュアル QA

⚠️ サブエージェントを使用してください — 2〜3 枚のスライドであっても同様です。あなたはコードを見つめ続けており、実際にあるものではなく、期待するものを見てしまいます。サブエージェントは新鮮な目を持っています。

スライドを画像に変換し(画像への変換を参照)、次のプロンプトを使用してください:

Visually inspect these slides. Assume there are issues — find them.

Look for:
- Overlapping elements (text through shapes, lines through words, stacked elements)
- Text overflow or cut off at edges/box boundaries
- Decorative lines positioned for single-line text but title wrapped to two lines
- Source citations or footers colliding with content above
- Elements too close (< 0.3" gaps) or cards/sections nearly touching
- Uneven gaps (large empty area in one place, cramped in another)
- Insufficient margin from slide edges (< 0.5")
- Columns or similar elements not aligned consistently
- Low-contrast text (e.g., light gray text on cream-colored background)
- Low-contrast icons (e.g., dark icons on dark backgrounds without a contrasting circle)
- Text boxes too narrow causing excessive wrapping
- Leftover placeholder content

For each slide, list issues or areas of concern, even if minor.

Read and analyze these images:
1. /path/to/slide-01.jpg (Expected: [brief description])
2. /path/to/slide-02.jpg (Expected: [brief description])

Report ALL issues found, including minor ones.
検証ループ
  1. スライドを生成 → 画像に変換 → 検査
  2. 見つかった問題をリストアップ(何も見つからなければ、もっと批判的に見直しましょう)
  3. 問題を修正
  4. 影響を受けたスライドを再検証 — 1 つの修正が別の問題を生むことがよくあります
  5. 完全なパスで新しい問題が明らかにならなくなるまで繰り返す

少なくとも 1 回の修正と検証のサイクルを完了するまで、成功を宣言しないでください。


画像への変換

視覚的な検査のために、プレゼンテーションを個々のスライド画像に変換します:

python scripts/office/soffice.py --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slide

これにより slide-01.jpg、slide-02.jpg などが作成されます。

修正後に特定のスライドを再レンダリングするには:

pdftoppm -jpeg -r 150 -f N -l N output.pdf slide-fixed

依存関係

  • pip install "markitdown[pptx]" - テキスト抽出
  • pip install Pillow - サムネイルグリッド
  • npm install -g pptxgenjs - ゼロから作成
  • LibreOffice(soffice)- PDF 変換(scripts/office/soffice.py を介してサンドボックス環境用に自動設定されます)
  • Poppler(pdftoppm)- PDF から画像へ

コメント