Communityライティング&編集github.com

bruc3van/bruce-pptx-generator

AI プログラミングエージェント向けの PPT 生成スキル。OpenClaw がコードを使ってプロフェッショナルな PowerPoint プレゼンテーションをゼロから作成できるようにします。

bruce-pptx-generator とは?

このスキルは、AI コーディングエージェント(例:Claude Code、Cursor、Codex など)がコードベースでプロフェッショナルな PowerPoint プレゼンテーションを生成できるように設計されています。既存のテンプレートの編集や、スタイルプリセットを使用した新規作成をサポートし、出力は常に「フル装備住宅」品質に仕上げられます。データ不足を検出してユーザーに質問したり、業界標準値で推定したりする「データ推論」原則があり、曖昧な表現を避けます。各スタイルプリセット(マッキンゼーブルー、Huawei、Apple ミニマル、Pitch Deck、データ分析、ダークテック)には、リッチカードやプロセスフローなどの専用コンポーネントが用意されており、基本的なタイトル+説明のみのカードは禁止されています。ページ番号バッジやカラーハーモニーなど、強制ルールにより一貫性が保証され、過度なグラデーションや中央揃えなどの一般的な品質低下パターンが禁止されています。内部で pptxgenjs ライブラリを使用しているため、`npm install -g pptxgenjs` での事前インストールが必要です。

対応~Claude Code~Codex CLI~Cursor
npx skills add bruc3van/bruce-pptx-generator

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Bruce の PPTX ジェネレーター

タスクルーティング

タスクタイプに基づいて正しいパスを選択し、対応するファイルをロードします。

タスクロードするファイル
編集 既存のテンプレート PPTXediting.md + pptxgenjs.md
ゼロから作成(スタイルプリセット使用)workflow.md + プリセットファイル + pptxgenjs.md + qa.md

スタイルプリセット

プリセットを使用する場合、プリセットファイルをロードします。これには、完全なページレイアウト、コンポーネント関数、カラーパレット、コンテンツ密度ルールが含まれています。

スタイル選択

ユーザーがスタイルを指定しない場合、デフォルトで Huawei スキーム を推奨します。確認が必要な場合は、AskUserQuestion を使用して「このプレゼンテーションを見た聴衆はどのような印象を受けると思いますか?」と質問できます。

プリセット聴衆の印象フォントファイル適用シナリオ
マッキンゼーブルー論理的で堅実YaHei + Arial Blackmckinsey-style.md戦略報告、コンサルティング報告、経営陣向け提案
Huawei スキームプロフェッショナルで信頼感YaHei + Arial Blackhuawei-style.md製品紹介、会社紹介、ソリューション、政府・企業向け提案
Apple ミニマル心を打つYaHei + Arial Blackapple-minimal-style.md製品発表、デモ、ビジョンスピーチ、対外説明会
Pitch Deck売り込むYaHei + Arial Blackpitch-deck-style.md資金調達ロードショー、ロードマップ提案、ビジネスケース
データ分析明確に説明YaHei + Arial Blackdata-analysis-style.mdユーザーリサーチ報告、A/B テスト結果、OKR レビュー、指標会議
ダークテック革新的で先進的YaHei + Arial Blackdark-tech-style.md製品発表、テクニカルスピーチ、AI 能力デモ

推奨するプリセットを理由とともにユーザーに伝え、ワークフローに入ります。ユーザーが満足しない場合は、手動で選択できるようにします。

データ推論の原則

プレゼンテーション内での曖昧な表現は禁止です。 すべての主張には具体的な数値による裏付けが必要です。ユーザー入力にデータが不足している場合:

  1. 優先的に質問:入力に 1~3 個のデータギャップがある場合、AskUserQuestion を使用して不足している数値を一度にすべて質問し、各数値がどのスライドで使用されるかを説明します。
  2. 推定を許可:ギャップが多い場合、またはユーザーが「そのまま生成して」と明示した場合、業界の典型的なベンチマーク値を使用し、スライドの下部に「業界ベンチマークを参照、実際のデータに置き換えてください」と注記し、かつレスポンスでユーザーにどの値が推定であるかを伝えます。
  3. 空のプレースホルダー禁止:「XX%」、「N 個」、「数十万ユーザー」などのように、具体的な数値を入れずに記述することを禁止します。

質問をトリガーするシグナルワード(出現したら数値を質問):

「多くのユーザー」、「大幅に向上」、「著しく低下」、「急成長」、「大量」、「明らかに」、「効果的」

フル装備住宅 納品基準(必須)

すべてのプレゼンテーションは「フル装備住宅」基準を満たさなければなりません。「タイトル + 一文だけ」の簡素なスライドの納品は禁止です。

コンテンツの豊富さ(各コンテンツページで必須)

  1. データまたは統計が必須:各コア主張には、数値、比率、時間、または業界データによる裏付けが必要です。例:「慢性疾患フォローアップ脱落率 > 60%」、「1.18 億人の独居老人をカバー」。
  2. タグラインが必須:各カードまたはモジュールに、12~20 文字の的確なポジショニングタグラインが必要です。「これが何を解決するか」を説明します。例:「金融グレードの本人確認、データアクセスを完全に制御」。
  3. 箇条書きには視覚的なプレフィックスが必須:小さな四角/丸/番号をプレフィックスとして使用し、プレーンテキストの羅列は禁止です。各箇条書きは単一のキーワードではなく、完全な意味を持つ文であるべきです。
  4. 非テキスト視覚要素が必須:Apple ミニマルを除き、各コンテンツページには少なくとも 1 つの非テキスト視覚コンポーネント(SVG アイコン、データカード、フローチャート、進行リング、比較マトリックス、アーキテクチャ図、KPI カード)を含める必要があります。プレーンテキストのリストページは簡素とみなされ、視覚要素を追加する必要があります。Apple ミニマルスタイルはミニマルで控えめなデザインが中心であるため、各ページに適宜視覚要素を追加してください。
  5. グラフィック密度の上限(オーバーフロー防止):
    • 各スライドで使用できるのは 1 つの大型グラフィックコンポーネント のみ(フローチャート OR マトリックス OR 進行リンググループ OR ピラミッドから 1 つ選択、重複禁止)
    • 同じページに 2 つの大型グラフィックを同時に配置することを禁止:進行リング + マトリックス、ピラミッド + フローチャート = オーバーフローリスクが非常に高い
    • コンテンツ領域の高さはわずか 3.95 インチ(y:1.05 → y:5.0)であり、大型グラフィックを配置した後の残りのテキストスペースは限られています。追加する前にテキストが収まるかどうかを推定する必要があります
    • 以下のコンポーネントをゼロから手書きすることを禁止(プリセットライブラリにないため、独自のアルゴリズム実装が必要):ファネル図(funnel)、ガントチャート(Gantt chart)、レーダーチャート(radar chart)。現在のプリセットファイルに対応する関数がある場合はプリセット関数を使用し、それ以外の場合は使用しません。
  6. 下部の説明/インサイト領域が必須:各コアモジュールの下部には、1~2 行の補足説明が必要で、価値感を強化したり、アクション提案を示したりします。

コンポーネントアップグレード原則

各スタイルには対応する フル装備リッチカードコンポーネント があり、優先的に使用し、title + desc のみの基本カードにダウングレードすることを禁止します:

スタイルカバーページ フル装備コンテンツ用フル装備コンポーネント使用禁止の簡素コンポーネント
Huawei スキームcreateRichCoveraddHuaweiRichCard、makePainPointCard、addHuaweiProcessFlowaddHuaweiNumberedCard の基本使用法(title+desc のみ、tagline/bullet/下部説明なし)
マッキンゼーブルーcreateRichCoveraddMcKinseyRichCard、makeProgressRing + KPI カードaddMcKinseyCard(value, label, desc)
Apple ミニマルcreateRichCoveraddAppleRichCard、addAppleKPIaddAppleBullets の単独使用
Pitch DeckcreateRichCoveraddPitchRichCard、addTractionCardプレーンテキストリストページ
ダークテックcreateRichCoveraddDarkRichCard、addFeatureItemタイトル + 本文段落のみ
データ分析createRichCoveraddDataRichCard、createChartWithInsightsSlideプレーンテキスト分析ページ
  • カバーページには装飾的な視覚要素(幾何学図形、SVG 装飾、右側の能力カードなど)が必要です。タイトルと日付のみは禁止です。
  • 注意:createRichCover はスタイルごとにパラメータシグネチャが異なります(Huawei 版には metrics/valueSlogan、Apple 版には spotlight、Pitch Deck 版には traction/stage があります)。使用前に現在のプリセットファイルの呼び出しサンプルを確認し、スタイル間でパラメータを流用しないでください。

強制ルール

以下のルールは、すべてのプレゼンテーションのすべてのスライドに適用されます。

寸法 — 10 インチ × 5.625 インチ(LAYOUT_16x9)。各要素は x + w ≤ 10 かつ y + h ≤ 5.625 を満たす必要があります。

色 — 6 桁の 16 進数で、# を含みません(例:「FF0000」)。「#FF0000」 は禁止です — ファイルが破損します。

フォント — 中国語:Microsoft YaHei | 英語:Arial(または現在のプリセットで指定された代替フォント)

使用禁止フォント — 以下のフォントを表示/タイトルフォントとして使用することを禁止します:宋体、仿宋、Times New Roman。現代のプレゼンテーションではアマチュアに見えます。

theme オブジェクト — 2 層の規約があり、明確に区別する必要があります:

① compile.js / subagent 渡し層(厳密に 5 つのキー)

キー用途
theme.primary最も濃い色 — タイトル、主要テキスト
theme.secondary強調色 — インタラクティブ要素、ハイライト
theme.accent特徴的なアクセントカラー(例:オレンジのライン)
theme.light明るい塗りつぶし — カード背景、ゼブラストライプ行
theme.bgスライド背景色

compile.js で定義された theme オブジェクトは、この 5 つのキーのみを渡します。subagent も DESIGN INTENT コメント内でこの 5 つのみを宣言します。この層で background、text、muted、darkest、lightest またはその他の独自キー名を使用することは禁止です。

② スタイルプリセットファイル内部層(拡張キーを許可)

各プリセットファイル(huawei-style.md など)内のコンポーネント関数(addHuaweiRichCard、makePainPointCard など)は、プリセットファイルで定義された拡張キー(theme.border、theme.bodyText、theme.mutedText、theme.orangeLight など)を参照できます。これらのキーはプリセットファイルの theme const ブロックで定義されており、違反にはなりません。

ページ番号バッジ — カバーページを除くすべてのスライドに必須:

  • 円形:x: 9.3, y: 5.1, w: 0.4, h: 0.4
  • カプセル形:x: 9.1, y: 5.15, w: 0.6, h: 0.35
  • ページ番号のみ表示(例:「3」)、「3/12」 形式は禁止

createSlide() は同期関数でなければなりません — async は禁止です。compile.js はそれを await しません。

禁止事項(一般的な AI 生成品質の落とし穴)

これらはプレゼンテーションの質を低下させやすいパターンであり、生成のたびに積極的に回避する必要があります:

コンテンツ密度

  • 1 枚のコンテンツスライドに 6 つ以上の箇条書き — 超えた場合は 2 枚に分割
  • 各箇条書きが 20 文字を超える — 簡略化するか、カードレイアウトに変更
  • 3 枚以上連続して同じレイアウトタイプ

ビジュアル

  • スライド間で背景色が一致しない(コンテンツスライドは一律 theme.bg を使用する必要があります)
  • すべての要素にグラデーションカラーを追加 — グラデーションは強調のみに使用し、乱用しない
  • すべてのコンテンツを中央揃え — 単調に見えるため、左揃えの方が階層感がある
  • 装飾的な色ブロックの寄せ集めで、レイアウトロジックがない

テキスト

  • タイトルが本文の最初の文をそのままコピーしている — タイトルは結論や主旨であるべきで、説明ではない
  • 英語テキストに宋体/仿宋が混在 — 英語には指定された英字フォントを必ず使用
  • # プレフィックス付きの色値(「#1F3864」 → 「1F3864」 に変更)— ファイルが破損します

依存関係のインストール

npm install -g pptxgenjs

関連スキル