slides-extract について
slides-extractは、PowerPointテンプレートやサンプルデッキを分析し、レイアウトとデザインの仕様を構造化して出力するエージェントスキルです。後続のスライド作成スキル向けに成果物を準備します。
主な機能
- 01レイアウトとスライド構造の抽出
- 02アーキタイプと対応レイアウトの紐付け
- 03ベーステンプレートとJSON成果物の出力
- 04デザインプロファイルの作成と事前検証
活用シーン
- 01スライド生成前のテンプレート準備
- 02変更されたPowerPointテンプレートの再分析
- 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_dir | icons/(抽出されている場合) | 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-builddesign-profile.json-> ビルド後のすべてのスキル
エラー処理
スライドでエラーが発生した場合は、再試行する前に uvx --from agent-slides slides docs method:extract を実行して、現在のコントラクトを確認してください。
受け入れ基準
- すべてのアーティファクトファイルが存在し、該当する場合は有効な JSON であること。
resolved_manifest.jsonに、レイアウトが解決済みのアーキタイプが少なくとも 1 つ含まれていること。base_template.pptxがエラーなく開けること。design-profile.jsonがbase_template.pptxとcontent_layout.jsonを参照していること。slides preflightが"ok": trueを報告すること。- 理解度確認の質問に正しく回答していること。