mcpField
S
slides-extract

slides-extract

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

slides-extract について

slides-extractは、PowerPointテンプレートやサンプルデッキを分析し、レイアウトとデザインの仕様を構造化して出力するエージェントスキルです。後続のスライド作成スキル向けに成果物を準備します。

主な機能

  1. 01レイアウトとスライド構造の抽出
  2. 02アーキタイプと対応レイアウトの紐付け
  3. 03ベーステンプレートとJSON成果物の出力
  4. 04デザインプロファイルの作成と事前検証

活用シーン

  1. 01スライド生成前のテンプレート準備
  2. 02変更されたPowerPointテンプレートの再分析
  3. 03レイアウトとテーマの詳細確認

インストール

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

$npx skills add https://github.com/mpuig/agent-slides --skill slides-extract

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

詳細

スライド抽出

あなたはテンプレートアナリストです。後続のスキルが推測に頼らず、ピクセル単位で正確なスライドデッキを生成できるよう、PowerPoint テンプレートから構造化された仕様を抽出します。

.pptx テンプレートまたはサンプルデッキから、テンプレート仕様を抽出します。

使用するタイミング

  • 特定のテンプレートで初めて /slides-build を実行する前
  • ソーステンプレートが変更されたとき
  • テンプレートのレイアウトと機能を分析する必要があるとき

前提条件

  • .pptx ファイル(テンプレート、またはスライドのサンプルが含まれるサンプルデッキ)

手順

手順 1)プロジェクトディレクトリを作成する

このプロジェクトの成果物専用ディレクトリを作成します。

mkdir -p output/<project-name>

以降のすべてのコマンドと出力は、このディレクトリに保存します。

手順 2)抽出を実行する

uvx --from agent-slides slides docs method:extract を使用して現在の仕様を確認し、その後、次を実行します。

uvx --from agent-slides slides extract <template_or_sample.pptx> \
  --output-dir output/<project> \
  --base-template-out output/<project>/base_template.pptx \
  --compact

オプションで、レイアウトごとの PNG を出力する場合は --layout-preview-dir output/<project>/layout_previews を追加します (旧式の上書き指定)。または、単発のカスタムファイル名を指定する場合は、特定の --*-out パスを指定します。

手順 3)出力を確認する
成果物目的
template_layout.json物理レイアウトのファミリー、プレースホルダー、ジオメトリ
content_layout.jsonアーキタイプとレイアウトの互換性マップ
archetypes.json使用上の制約を含む、利用可能なアーキタイプ
resolved_manifest.json統合された仕様 — テーマパレット、アーキタイプごとに解決されたレイアウトの紐付け。/slides-build の主な参照先です。
slides_manifest.jsonソースのスライドごとの一覧
slide_analysis.jsonスライドごとの詳細な構造分析
slide_screenshots/視覚的な参照用スクリーンショット
icons/テンプレートのスライドから抽出されたベクターアイコン(フリーフォーム/グループ図形)。デザインプロファイルで icon_pack_dir が設定されている場合、add_icon から使用できます。
base_template.pptxクリーンな .pptx — すべてのマスター、レイアウト、テーマを含み、コンテンツスライドはありません
手順 4)理解度チェック

resolved_manifest.json を読み、作業を進める前に次の質問に答えられることを確認します。

  • テーマで使われているアクセントカラーは何ですか?16 進数の値を列挙してください。(パス:theme.palette.accent1 … accent6)
  • resolved_layouts を持つアーキタイプはいくつありますか?名前を挙げてください。(注:archetypes はリストではなく、アーキタイプ ID をキーとする dict です — for aid, arch in archetypes.items() を使って反復処理してください)
  • 分割パネル(タイトルが側面の領域にある)レイアウトはどれですか?
  • 各カラーゾーンで使われている text_color は何ですか?

いずれかの答えが不明確な場合は、マニフェストを読み直してください。4 つすべてに回答できるまで、デザインプロファイルに進まないでください。

手順 5)デザインプロファイルを作成する

プロジェクトディレクトリに design-profile.json を作成します。

{
  "name": "<project-name>",
  "template_path": "base_template.pptx",
  "content_layout_catalog_path": "content_layout.json"
}

抽出したテーマから、次のフィールドを追加します。

フィールドソース目的
primary_color_hexテーマの accent1小見出しに使うブランドのアクセントカラー
text_color_lightテーマの lt1暗い背景に使う明るい文字色
text_color_darkテーマの dk1明るい背景に使う暗い文字色
default_font_size_ptテンプレートの本文サイズadd_text のデフォルト値
icon_pack_diricons/(抽出されている場合)add_icon 用の、テンプレート固有のベクターアイコンのディレクトリ

template_path には、必ず元のテンプレートではなく base_template.pptx を使用してください。

抽出によって .xml ファイルを含む icons/ ディレクトリが生成された場合は、デザインプロファイルに "icon_pack_dir": "icons" を追加します。これらのアイコンは、組み込みアイコンライブラリとともに add_icon から使用できます。

上記またはスキーマに記載されたフィールドのみ追加してください。 プロファイルでは extra="forbid" が設定されているため、未知のフィールド(例:secondary_color_hex、accent_color_hex、font_name)があると、検証エラーになります。

完全なスキーマは uvx --from agent-slides slides docs schema:design-profile で確認できます。

手順 6)プロジェクトを事前検証する

プロジェクトを /slides-build または /slides-full に引き渡す前に、抽出された成果物とプロファイルを確認します。

uvx --from agent-slides slides preflight --project-dir output/<project> --profile output/<project>/design-profile.json --compact

事前検証に失敗した場合は、続行する前にプロジェクトの構造またはプロファイルのパスを修正してください。

出力

このスキルは、他のすべてのスライドスキルで使用するプロジェクトディレクトリを生成します。

  • base_template.pptx + contract JSONs -> /slides-build
  • design-profile.json -> ビルド後のすべてのスキル

エラー処理

スライドでエラーが発生した場合は、再試行する前に uvx --from agent-slides slides docs method:extract を実行して、現在のコントラクトを確認してください。

受け入れ基準

  1. すべてのアーティファクトファイルが存在し、該当する場合は有効な JSON であること。
  2. resolved_manifest.json に、レイアウトが解決済みのアーキタイプが少なくとも 1 つ含まれていること。
  3. base_template.pptx がエラーなく開けること。
  4. design-profile.json が base_template.pptx と content_layout.json を参照していること。
  5. slides preflight が "ok": true を報告すること。
  6. 理解度確認の質問に正しく回答していること。

コメント