Agent Skills by ALSEL
汎用デザイン・クリエイティブ⭐ リポ 33品質スコア 80/100

ppt-agent

プロフェッショナルなPPT プレゼンテーション資料の全工程AI生成アシスタントです。トップレベルのPPT設計会社の完全なワークフロー(要件調査→資料収集→アウトライン策定→企画稿→デザイン稿)をシミュレートし、高品質なHTML形式のプレゼンテーション資料を出力します。ユーザーがPPT作成、プレゼン資料作成、スライド作成、汇报資料作成、研修教材作成、ピッチデック作成、製品紹介ページ作成について言及した場合に起動します。「Xについての紹介を作ってほしい」「Yについて上司に汇报する必要がある」といったユーザーの発言であっても、構造化された複数ページのプレゼンテーション内容が必要であることが暗示されていれば、このスキルを起動します。ドキュメントをPPTに変換する場合や、テーマをプレゼンテーション形式に変換する場合など、コンテンツをプレゼンテーション形式に変換する必要があるシーンにも対応しています。

description の原文を見る

专业 PPT 演示文稿全流程 AI 生成助手。模拟顶级 PPT 设计公司的完整工作流(需求调研 -> 资料搜集 -> 大纲策划 -> 策划稿 -> 设计稿),输出高质量 HTML 格式演示文稿。当用户提到制作 PPT、做演示文稿、做 slides、做幻灯片、做汇报材料、做培训课件、做路演 deck、做产品介绍页面时触发此技能。即使用户只说"帮我做个关于 X 的介绍"或"我要给老板汇报 Y",只要暗示需要结构化的多页演示内容,都应该触发。也适用于用户说"帮我把这篇文档做成 PPT"、"把这个主题做成演示"等需要将内容转化为演示格式的场景。

SKILL.md 本文

PPT Agent -- 専門的プレゼンテーション全流程生成

コア理念

専門的 PPT デザイン会社(ページあたり万元級の見積もり)の完全なワークフローをシミュレートします。単に「アウトラインにテンプレートを当てはめる」のではありません:

  1. 調査後に生成 -- 実データで内容を埋める、空想で創作しない
  2. 企画とデザインを分離 -- 情報構造を先に検証し、次に視覚化する
  3. 内容がレイアウトを駆動 -- Bento Grid カード式レイアウト、各ページは内容で版式を決定
  4. グローバル全体の統一性 -- スタイルを先に定義し、ページごとに生成、クロスページの統一性を保証
  5. インテリジェント配置画像 -- 画像生成機能を活用し、各ページに挿図を配置(ほとんどの環境が対応)

環境認識

作業開始前に、エージェントが持つツール機能を自己点検します:

機能ダウングレード戦略
情報取得(検索/URL/ドキュメント/ナレッジベース)すべて欠落 → ユーザーが提供する素材に依存
画像生成(ほとんどの環境が対応)欠落 → 純粋 CSS 装飾で代替
ファイル出力必須
スクリプト実行(Python/Node.js)欠落 → 自動パッケージ化と SVG 変換をスキップ

原則:実際に呼び出し可能なツールリストを確認し、利用可能なものを活用します。


パス規約

流程全体で繰り返し使用する以下のパスは、Step 1 完了後に即座に確定します:

変数意味取得方法
SKILL_DIRこのSKILL.md が配置されているディレクトリの絶対パススキルトリガー時に SKILL.md を読み取るディレクトリ
OUTPUT_DIR成果物出力ルートディレクトリユーザーの現在作業ディレクトリ下の ppt-output/(初回使用時に mkdir -p で作成)

以後のすべてのパスはこの 2 つの変数に基づいており、繰り返し説明しません。


入力モードと複雑度判断

エントリ判定

エントリどのステップから開始
テーマのみ「Dify 企業紹介 PPT を作成」Step 1 完全フロー
テーマ+要件「15ページの AI セキュリティ PPT、ダークモード」Step 1(既知の問題をスキップ)
元素材「このレポートを PPT に変換」Step 1(素材がメイン)
既存アウトライン「アウトラインはある、デザイン案を生成」Step 4 または 5

スキップルール

前置ステップをスキップする場合、対応する依存成果物を補足する必要があります:

開始ステップ欠落依存補足方法
Step 4各ページの内容テキストPrompt #3 を使用して各ページの内容割り当てを先に生成
Step 5企画稿 JSONユーザーが提供するか、先に Step 4 を実行

複雑度適応

目標ページ数に応じて流程粒度を自動調整します:

スケールページ数調査検索企画生成
軽量<= 8 ページ3 題の簡略版(シーン+聴衆+追加情報)3~5 クエリStep 3 は Step 4 と 1 ステップで統合可能ページごと生成
標準9~18 ページ完全 7 題8~12 クエリ完全フローPart 別に分批、各バッチ 3~5 ページ
大規模> 18 ページ完全 7 題10~15 クエリ完全フローPart 別に分批、各バッチ 3~5 ページ、バッチ間確認

6 ステップパイプライン

Step 1: 要件調査 [停止 -- ユーザー回答待ち必須]

スキップ禁止。 テーマがどんなに簡単でも、必ず質問し、ユーザー回答待機後に進める。ユーザーに代わって決定しない。

実行references/prompts.md の Prompt #1 を使用

  1. テーマの背景資料を検索(3~5 件)
  2. 複雑度に応じて完全 7 題または簡略 3 題を選択し、一度にユーザーに送信
  3. ユーザー回答を待機(ブロッキングポイント)
  4. 回答を要件 JSON として整理

7 題三層段階的構造(軽量モードは第 1、2、7 題のみ):

問題決定する内容
シーン層1. プレゼン場景(現場/自閲/トレーニング)情報密度とビジュアルスタイル
シーン層2. コア聴衆(動的に生成されたペルソナ)専門深度と説得戦略
シーン層3. 期待アクション(決定/理解/実行/認識変更)コンテンツ編成の最終方向
コンテンツ層4. ナラティブ構造(問題→方案/科学啓蒙/比較/時系列)アウトラインの骨組みロジック
コンテンツ層5. コンテンツ重点(検索結果から動的生成、複数選択可)各 Part 主題の重みづけ
コンテンツ層6. 説得要素(データ/ケース/権威/方法、複数選択可)カード内容タイプの選好
実行層7. 補足情報(スピーカー/ブランドカラー/必須含有/避けるべき/ページ数/配置画像選好)具体的実行詳細

成果物:要件 JSON(topic + requirements)


Step 2: 資料収集

すべての情報取得能力を棚卸しし、すべて活用します。

実行

  1. テーマに基づいてクエリを計画(複雑度表の数量を参考)
  2. 利用可能なすべての情報取得ツールで並列検索
  3. 各グループ結果を要約整理

成果物:検索結果集合 JSON


Step 3: アウトライン企画

実行references/prompts.md の Prompt #2(アウトラインアーキテクト v2.0)を使用

方法論:ピラミッド原理 -- 結論先行、上から下へ、分類グループ化、論理段階進行

自己チェック:ページ数が要件を満たす / 各 part >= 2 ページ / キーポイントにデータサポート

成果物[PPT_OUTLINE] JSON


Step 4: コンテンツ割り当て+企画稿 [ユーザー確認推奨]

コンテンツ割り当てと企画稿生成を 1 ステップに統合。各ページに何を置くべきか思考するのと同時に、レイアウトとカードタイプを決定し、より自然で効率的です。

実行references/prompts.md の Prompt #3(コンテンツ割り当てと企画稿)を使用

要点

  • 検索素材を各ページに精密にマッピング
  • 各ページの多層コンテンツ構造を設計(主カード 40~100 字+データハイライト+補助ポイント)
  • 同時に page_type / layout_hint / cards[] 構造を確定
  • 各コンテンツページは最小 3 カード+2 種カードタイプ+1 データカード
  • レイアウト選択は references/bento-grid.md の決定マトリクスを参照

企画稿の概要をユーザーに表示し、ユーザー確認後に Step 5 に進むことを推奨します。

成果物:各ページ企画カード JSON 配列 → OUTPUT_DIR/planning.json として保存


Step 5: スタイル決定+デザイン稿生成

3 つのサブステップに分割、順序は変更不可

5a. スタイル決定

実行references/styles/index.md メインインデックス(決定マトリクス含む)を読み、テーマキーワードで 26 種の預設スタイルから 1 つをマッチング

26 スタイルは 5 板ブロック別に分類(詳細 JSON 定義はブロックファイル内):

ブロックスタイル IDブロックファイル
ダーク専門7dark_tech / xiaomi_orange / luxury_purple / nocturne_violet / cyberpunk_neon / chrome_y2k / noir_filmreferences/styles/dark.md
ライト高級8blue_white / fresh_green / minimal_gray / mocha_editorial / medical_pulse / earth_concrete / champagne_gold / liquid_glassreferences/styles/light.md
活力鮮明4vibrant_rainbow / kindergarten_pop / bauhaus_block / candy_pastelreferences/styles/vibrant.md
東方文化3royal_red / sakura_wabi / ink_jadereferences/styles/cultural.md
自然/レトロ4botanic_forest / safari_savanna / retro_70s / gov_authorityreferences/styles/natural.md

スタイルプレビューpython3 SKILL_DIR/scripts/gallery.py を実行し、ppt-output/style-gallery/index.html を生成、ブラウザで 26 スタイルの視覚的比較をして確認。

必ず読むreferences/typography.md(タイポグラフィ鉄則:字間 / tabular-nums / OpenType / serif italic 混排 / 段落頭の装飾 / 非対称グリッド / フォントスタック三層フォールバック / 微妙なテクスチャ)

成果物:スタイル定義 JSON → OUTPUT_DIR/style.json として保存

5b. インテリジェント配置画像(ユーザーの選好に基づく)

要件調査(Step 1 第 7 題)でユーザーの配置画像選好を確認後に実行。ユーザーが「配置画像不要」を選択した場合はスキップ。

配置画像タイミング

各ページの HTML 生成 前に、先にそのページの配置画像を生成。各ページ最低 1 枚(表紙ページ、チャプターカバーは必須)、生成後 OUTPUT_DIR/images/ に保存。

generate_image プロンプト構成公式

プロンプトは以下の 4 つの側面 を同時に満たす必要があり、次の公式で組み立てます:

[コンテンツテーマ] + [ビジュアルスタイル] + [画面構図] + [技術制約]
側面説明
コンテンツテーマそのページの企画稿 JSON のコア概念から抽出、具体的にシーン/対象まで"DMSO molecular purification process, crystallization flask with clear liquid"
ビジュアルスタイルstyle.json のカラースキームと感情基調と整合させるダーク技術 → "deep blue dark tech background, subtle cyan glow, futuristic"
画面構図ページ内での画像配置方法に基づいて決定右側半透明 → "clean composition, main subject on left, fade to transparent on right"
技術制約固定サフィックス、出力品質を確保"no text, no watermark, high quality, professional illustration"
スタイルと配置画像キーワード対応表
PPT スタイル配置画像スタイルキーワード
ダーク技術dark tech background, neon glow, futuristic, digital, cyber
小米オレンジminimal dark background, warm orange accent, clean product shot, modern
青白ビジネスclean professional, light blue, corporate, minimal, bright
朱紅宮壁traditional Chinese, elegant red gold, ink painting, cultural
新鮮自然fresh green, organic, nature, soft light, watercolor
紫金ラグジュアリーluxury, purple gold, premium, elegant, metallic
ミニマル灰白minimal, grayscale, clean, geometric, academic
活力虹colorful, vibrant, energetic, playful, gradient, pop art
ページタイプ別の調整
ページタイプ画像特性Prompt 追加キーワード
表紙ページテーマ概観、ビジュアルインパクト"hero image, wide composition, dramatic lighting"
チャプター表紙そのチャプター主題の象徴的ビジュアル"symbolic, conceptual, centered composition"
コンテンツページ説明補助、主役を奪わない"supporting illustration, subtle, background-suitable"
データページ抽象データビジュアライゼーション雰囲気"abstract data visualization, flowing lines, tech"
禁止事項
  • 画像内にテキストを含めない(AI 生成テキストの品質が低い)
  • ページのカラースキームと衝突する色を避ける(ダーク主題にはダーク画像、ライト主題にはライト画像)
  • コンテンツと無関係な装飾画像を避ける(各画像はそのページのコンテンツと意味的に関連する必要がある)
  • 同じプロンプトの繰り返しを避ける(各ページの画像は独特である必要がある)

成果物OUTPUT_DIR/images/ 下の配置画像ファイル

5c. ページごと HTML デザイン稿生成

実行references/prompts.md の Prompt #4 + references/bento-grid.md を使用

企画稿をスキップして直接生成禁止。 各ページは Step 4 の構造 JSON が先に必要です。

各ページ Prompt 組み立て公式

Prompt #4 テンプレート
+ スタイル定義 JSON(5a 成果物)[必須]
+ そのページの企画稿 JSON(Step 4 成果物、cards[]/card_type/position/layout_hint 含む)[必須]
+ そのページのコンテンツテキスト(Step 4 成果物)[必須]
+ 配置画像パス(5b 成果物)[オプション -- 配置画像なし時は IMAGE_INFO ブロック省略]

コア設計制約(完全チェックリストは Prompt #4 内部参照):

  • キャンバス 1280x720px、overflow:hidden
  • すべての色は CSS 変数経由で参照、ハードコーディング禁止
  • 視覚的に見える要素はすべて実 DOM ノード、図形は内インライン SVG を優先
  • ::before/::after 疑似要素をビジュアル装飾に使用禁止、conic-gradient 禁止、CSS border 三角形禁止
  • 配置画像の統合:グラデーション融合/色調マスク/雰囲気背景/裁切ウィンドウ/円形裁切(技法詳細は Prompt #4 参照)

分批戦略:Part 単位で分批生成、各バッチ 3~5 ページ。各バッチ完了後に HTML を OUTPUT_DIR/slides/ ディレクトリに書き込み、次のバッチを開始。コンテキスト爆発を避けながら、同一 Part 内のスタイル統一性を保証。

クロスページビジュアルナラティブ(PPT に節奏感を持たせ、独立ページの単なるスタックではなく):

戦略ルール理由
密度交替高密度ページ(混合グリッド/ヒーロー式)の後に低密度ページ(チャプター表紙/単一焦点)をつけ、張弛有度のリズムを形成連続 3 ページ以上の高密度コンテンツは視覚疲労を引き起こす
チャプター色彩段階進行Part 1 カードは accent-1 主使用、Part 2 は accent-2、Part 3 は accent-3 ... 各チャプターで accent 主色を切り替え色で視聴者に無意識にチャプター切り替えを認識させる
表紙-終了ページの呼応終了ページのビジュアル要素が表紙ページと呼応(同じ装飾パターン、対称レイアウト)、完全な閉じた感を演出首尾呼応は最も基本的なナラティブ美学
段階的開示同一概念が複数ページ展開する時、ビジュアル複雑度は段階的に上昇(第 1 ページシンプル色ブロック → 第 2 ページデータ追加 → 第 3 ページ完全グラフ)視聴者を段階的に理解へ導く

成果物:各ページ 1 つの HTML ファイル → OUTPUT_DIR/slides/


Step 6: 後処理 [必須実行 -- HTML 生成完了後すぐ実行]

スキップ禁止。 HTML 生成完了後は以下 4 ステップを自動実行する、preview.html で終わるな。

slides/*.html --> preview.html --> svg/*.svg --> presentation.pptx

依存チェック(初回実行時に自動実行):

pip install python-pptx lxml Pillow 2>/dev/null

順序に従って実行

  1. プレビュー統合 -- html_packager.py を実行

    python3 SKILL_DIR/scripts/html_packager.py OUTPUT_DIR/slides/ -o OUTPUT_DIR/preview.html
    
  2. SVG 変換 -- html2svg.py を実行(DOM を直接 SVG に変換、<text> を編集可能に保持)

    重要:HTML デザイン稿は references/pipeline-compat.md のパイプラインコンパチビリティルールを遵守する必要があります。そうでない場合、変換後に要素消失、位置ズレなどが発生します。

    python3 SKILL_DIR/scripts/html2svg.py OUTPUT_DIR/slides/ -o OUTPUT_DIR/svg/
    

    背層は dom-to-svg を使用(自動インストール)、初回実行時は esbuild パッケージ化。 ダウングレード:Node.js が利用不可または dom-to-svg インストール失敗時、このステップとステップ 3 をスキップ、preview.html のみ出力。

  3. PPTX 生成 -- svg2pptx.py を実行(OOXML ネイティブ SVG 埋め込み、PPT 365 で編集可能)

    python3 SKILL_DIR/scripts/svg2pptx.py OUTPUT_DIR/svg/ -o OUTPUT_DIR/presentation.pptx --html-dir OUTPUT_DIR/slides/
    

    PPT 365 では画像を右クリック → 「図形に変換」でテキストと図形が編集可能。

  4. ユーザー通知 -- 成果物位置と使用方法を告知:

    • preview.html -- ブラウザで開くとページめくり可能
    • presentation.pptx -- PPTX(右クリック → 「図形に変換」で編集可能)
    • svg/ -- 各 SVG を PPT に単独でドラッグイン可能
    • ステップ 2-3 がダウングレードスキップされた場合、理由を説明し、ユーザーに Node.js を手動インストール後の再実行を告知

成果物:preview.html + svg/*.svg + presentation.pptx


出力ディレクトリ構造

ppt-output/
  slides/              # 各ページ HTML
  svg/                 # ベクトル SVG(PPT に編集可能で導入)
  images/              # AI 配置画像
  preview.html         # ページめくり可能プレビュー
  presentation.pptx    # 編集可能 PPTX(右クリック「図形に変換」)
  outline.json         # アウトライン
  planning.json        # 企画稿
  style.json           # スタイル定義

品質自己チェック

側面チェック項目
コンテンツ各ページ >= 2 情報カード / >= 60% コンテンツページがデータ含有 / チャプター段階進行
ビジュアルグローバルスタイル統一 / 配置画像スタイル統一 / カード非重複 / テキスト溢出なし
技術CSS 変数統一 / SVG 友好制約遵守 / HTML を Puppeteer で描画可能 / pipeline-compat.md 禁止チェックリスト確認

リソースルーティング表(フィールド→フォルダ)

企画稿 JSON の各フィールドが、どのディレクトリから対応リソースを抽出するかを決定:

  • フィールドルーティング:layout_hint→layouts/page_type→page-templates/card_type→blocks/chart_type→charts/
フィールド取値ルーティング先
layout_hintasymmetric / hero-top / l-shape / mixed-grid / primary-secondary / single-focus / symmetric / t-shape / three-column / waterfallreferences/layouts/<name>.md主次結合 → references/layouts/primary-secondary.md
page_typecover / toc / section / endreferences/page-templates/<name>.md表紙 → references/page-templates/cover.md
card_typetext / data / list / quote / timeline / comparison / diagram / image-hero / matrix-chart / peoplereferences/blocks/<name>.mdデータカード → references/blocks/card-styles.md
chart_typeprogress-bar / ring / sparkline / radar / funnel / kpi / metric-row / waffle / rating / timeline / treemap / comparison-bar / stacked-barreferences/charts/<name>.mdレーダー → references/charts/radar.md

Step 0/1 採用面接テンプレートルール

Step 0 デフォルト強制テンプレート化:メイン エージェントは OUTPUT_DIR/runtime/prompt-interview.md を先に生成し、レンダリング結果に基づきユーザーに質問する必要があります;採用面接実行時テンプレートは tpl-interview-structured-ui.mdtpl-interview-text-fallback.md の二者択一。

Step 0 構造化採用面接 UI を優先:現在の CLI が AskUserQuestion / request_user_input に相当するネイティブ質問機能を提供する限り、メイン エージェントは構造化採用面接 UI を優先使用する必要があります;非対応時は tpl-interview-text-fallback.md にフォールバック。

Step 0 唯一の例外:prompt 生成が Step 0 で実スクリプトインターフェース障害に遭遇し、BLOCKED_SCRIPT_INTERFACE と判定した場合のみ、メイン エージェントの直接質問を許可;カバー維度は prompt-interview.md の最終要件以下に下がらない。

詳細テンプレート:references/prompts/tpl-interview.md · references/prompts/tpl-interview-structured-ui.md · references/prompts/tpl-interview-text-fallback.md

Reference ファイルインデックス

ファイルいつ読むかキーコンテンツ
references/prompts.md各ステップ生成前(統合版)5 セット Prompt テンプレート(調査/アウトライン/企画/デザイン/備考)
references/prompts/*.mdモジュール化版本(23 ファイル)step + module + tpl で分割した Prompt テンプレート
references/playbooks/*.md各ステップ実行マニュアル(11 ファイル)outline / research / source / style / step4 各フェーズの実行 playbook
references/styles/index.mdStep 5a26 種プリセットスタイルインデックス+

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
Akxan
リポジトリ
Akxan/ppt-agent-skill
ライセンス
MIT
最終更新
2026/5/11

Source: https://github.com/Akxan/ppt-agent-skill / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: Akxan · Akxan/ppt-agent-skill · ライセンス: MIT