jpskill.com
📄 ドキュメント コミュニティ

pptx-generator

PowerPoint資料を、ゼロから作成したり、既存のものを編集したり、内容をテキストとして抽出したりすることで、プレゼンテーション資料作成を効率的に支援するSkill。

📜 元の英語説明(参考)

Generate, edit, and read PowerPoint presentations. Create from scratch with PptxGenJS (cover, TOC, content, section divider, summary slides), edit existing PPTX via XML workflows, or extract text with markitdown. Triggers: PPT, PPTX, PowerPoint, presentation, slide, deck, slides.

🇯🇵 日本人クリエイター向け解説

一言でいうと

PowerPoint資料を、ゼロから作成したり、既存のものを編集したり、内容をテキストとして抽出したりすることで、プレゼンテーション資料作成を効率的に支援するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o pptx-generator.zip https://jpskill.com/download/19707.zip && unzip -o pptx-generator.zip && rm pptx-generator.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19707.zip -OutFile "$d\pptx-generator.zip"; Expand-Archive "$d\pptx-generator.zip" -DestinationPath $d -Force; ri "$d\pptx-generator.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して pptx-generator.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → pptx-generator フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
6

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

PPTXジェネレーター&エディター

概要

このスキルは、PowerPointに関するすべてのタスクを処理します。既存のプレゼンテーションの読み込み/分析、XML操作によるテンプレートベースのデッキの編集、PptxGenJSを使用したプレゼンテーションのゼロからの作成などが含まれます。完全なデザインシステム(カラーパレット、フォント、スタイルレシピ)と、あらゆるスライドタイプに対する詳細なガイダンスを提供します。

クイックリファレンス

タスク アプローチ
コンテンツの読み込み/分析 python -m markitdown presentation.pptx
テンプレートからの編集または作成 プレゼンテーションの編集を参照してください
ゼロからの作成 下記のゼロからの作成 — ワークフローを参照してください
項目
寸法 10" x 5.625" (LAYOUT_16x9)
#なしの6文字の16進数(例: "FF0000"
英語フォント Arial (デフォルト)、または承認された代替フォント
中国語フォント Microsoft YaHei
ページバッジの位置 x: 9.3", y: 5.1"
テーマキー primary, secondary, accent, light, bg
図形 RECTANGLE, OVAL, LINE, ROUNDED_RECTANGLE
グラフ BAR, LINE, PIE, DOUGHNUT, SCATTER, BUBBLE, RADAR

リファレンスファイル

ファイル 内容
slide-types.md 5つのスライドページタイプ(カバー、目次、セクション区切り、コンテンツ、要約)+追加のレイアウトパターン
design-system.md カラーパレット、フォントリファレンス、スタイルレシピ(Sharp/Soft/Rounded/Pill)、タイポグラフィ&スペーシング
editing.md テンプレートベースの編集ワークフロー、XML操作、書式設定ルール、よくある落とし穴
pitfalls.md QAプロセス、よくある間違い、PptxGenJSの重大な落とし穴
pptxgenjs.md 完全なPptxGenJS APIリファレンス

コンテンツの読み込み

# テキスト抽出
python -m markitdown presentation.pptx

ゼロからの作成 — ワークフロー

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

ステップ1: 調査と要件

ユーザーの要件(トピック、対象読者、目的、トーン、コンテンツの深さ)を理解するために調査します。

ステップ2: カラーパレットとフォントの選択

カラーパレットリファレンスを使用して、トピックと対象読者に合ったパレットを選択します。フォントリファレンスを使用して、フォントの組み合わせを選択します。

ステップ3: デザインスタイルの選択

スタイルレシピを使用して、プレゼンテーションのトーンに合ったビジュアルスタイル(Sharp、Soft、Rounded、またはPill)を選択します。

ステップ4: スライドのアウトラインの計画

すべてのスライド5つのページタイプのいずれか1つに分類します。各スライドのコンテンツとレイアウトを計画します。視覚的な多様性を確保し、同じレイアウトを複数のスライドで繰り返さないでください。

ステップ5: スライドJSファイルの生成

slides/ディレクトリにスライドごとに1つのJSファイルを作成します。各ファイルは同期的なcreateSlide(pres, theme)関数をエクスポートする必要があります。スライド出力形式slide-types.mdのタイプ固有のガイダンスに従ってください。利用可能な場合は、サブエージェントを使用して最大5つのスライドを同時に生成します。

各サブエージェントに指示すること:

  1. ファイル命名: slides/slide-01.jsslides/slide-02.jsなど
  2. 画像の保存先: slides/imgs/
  3. 最終的なPPTXの保存先: slides/output/
  4. 寸法: 10" x 5.625" (LAYOUT_16x9)
  5. フォント: 中国語 = Microsoft YaHei、英語 = Arial (または承認された代替フォント)
  6. 色: #なしの6文字の16進数(例: "FF0000"
  7. テーマオブジェクトコントラクトを必ず使用すること(テーマオブジェクトコントラクトを参照)
  8. PptxGenJS APIリファレンスに必ず従うこと

ステップ6: 最終的なPPTXへのコンパイル

すべてのスライドモジュールを結合するためにslides/compile.jsを作成します。

// slides/compile.js
const pptxgen = require('pptxgenjs');
const pres = new pptxgen();
pres.layout = 'LAYOUT_16x9';

const theme = {
  primary: "22223b",    // dark color for backgrounds/text
  secondary: "4a4e69",  // secondary accent
  accent: "9a8c98",     // highlight color
  light: "c9ada7",      // light accent
  bg: "f2e9e4"          // background color
};

for (let i = 1; i <= 12; i++) {  // adjust count as needed
  const num = String(i).padStart(2, '0');
  const slideModule = require(`./slide-${num}.js`);
  slideModule.createSlide(pres, theme);
}

pres.writeFile({ fileName: './output/presentation.pptx' });

以下で実行します: cd slides && node compile.js

ステップ7: QA (必須)

QAプロセスを参照してください。

出力構造

slides/
├── slide-01.js          # スライドモジュール
├── slide-02.js
├── ...
├── imgs/                # スライドで使用される画像
└── output/              # 最終成果物
    └── presentation.pptx

スライド出力形式

各スライドは完全で実行可能なJSファイルです。

// slide-01.js
const pptxgen = require("pptxgenjs");

const slideConfig = {
  type: 'cover',
  index: 1,
  title: 'Presentation Title'
};

// 同期である必要があります (非同期ではない)
function createSlide(pres, theme) {
  const slide = pres.addSlide();
  slide.background = { color: theme.bg };

  slide.addText(slideConfig.title, {
    x: 0.5, y: 2, w: 9, h: 1.2,
    fontSize: 48, fontFace: "Arial",
    color: theme.primary, bold: true, align: "center"
  });

  return slide;
}

// スタンドアロンプレビュー - スライド固有のファイル名を使用
if (require.main === module) {
  const pres = new pptxgen();
  pres.layout = 'LAYOUT_16x9';
  const theme = {
    primary: "22223b",
    secondary: "4a4e69",
    accent: "9a8c98",
    light: "c9ada7",
    bg: "f2e9e4"
  };
  createSlide(pres, theme);
  pres.writeFile({ fileName: "slide-01-preview.pptx" });
}

module.exports = { createSlide, slideConfig };

テーマオブジェクトコントラクト (必須)

コンパイルスクリプトは、以下の正確なキーを持つテーマオブジェクトを渡します。

キー 目的
theme.primary 最も濃い色、タイトル "22223b"
theme.second (原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

PPTX Generator & Editor

Overview

This skill handles all PowerPoint tasks: reading/analyzing existing presentations, editing template-based decks via XML manipulation, and creating presentations from scratch using PptxGenJS. It includes a complete design system (color palettes, fonts, style recipes) and detailed guidance for every slide type.

Quick Reference

Task Approach
Read/analyze content python -m markitdown presentation.pptx
Edit or create from template See Editing Presentations
Create from scratch See Creating from Scratch below
Item Value
Dimensions 10" x 5.625" (LAYOUT_16x9)
Colors 6-char hex without # (e.g., "FF0000")
English font Arial (default), or approved alternatives
Chinese font Microsoft YaHei
Page badge position x: 9.3", y: 5.1"
Theme keys primary, secondary, accent, light, bg
Shapes RECTANGLE, OVAL, LINE, ROUNDED_RECTANGLE
Charts BAR, LINE, PIE, DOUGHNUT, SCATTER, BUBBLE, RADAR

Reference Files

File Contents
slide-types.md 5 slide page types (Cover, TOC, Section Divider, Content, Summary) + additional layout patterns
design-system.md Color palettes, font reference, style recipes (Sharp/Soft/Rounded/Pill), typography & spacing
editing.md Template-based editing workflow, XML manipulation, formatting rules, common pitfalls
pitfalls.md QA process, common mistakes, critical PptxGenJS pitfalls
pptxgenjs.md Complete PptxGenJS API reference

Reading Content

# Text extraction
python -m markitdown presentation.pptx

Creating from Scratch — Workflow

Use when no template or reference presentation is available.

Step 1: Research & Requirements

Search to understand user requirements — topic, audience, purpose, tone, content depth.

Step 2: Select Color Palette & Fonts

Use the Color Palette Reference to select a palette matching the topic and audience. Use the Font Reference to choose a font pairing.

Step 3: Select Design Style

Use the Style Recipes to choose a visual style (Sharp, Soft, Rounded, or Pill) matching the presentation tone.

Step 4: Plan Slide Outline

Classify every slide as exactly one of the 5 page types. Plan the content and layout for each slide. Ensure visual variety — do NOT repeat the same layout across slides.

Step 5: Generate Slide JS Files

Create one JS file per slide in slides/ directory. Each file must export a synchronous createSlide(pres, theme) function. Follow the Slide Output Format and the type-specific guidance in slide-types.md. Generate up to 5 slides concurrently using subagents if available.

Tell each subagent:

  1. File naming: slides/slide-01.js, slides/slide-02.js, etc.
  2. Images go in: slides/imgs/
  3. Final PPTX goes in: slides/output/
  4. Dimensions: 10" x 5.625" (LAYOUT_16x9)
  5. Fonts: Chinese = Microsoft YaHei, English = Arial (or approved alternative)
  6. Colors: 6-char hex without # (e.g. "FF0000")
  7. Must use the theme object contract (see Theme Object Contract)
  8. Must follow the PptxGenJS API reference

Step 6: Compile into Final PPTX

Create slides/compile.js to combine all slide modules:

// slides/compile.js
const pptxgen = require('pptxgenjs');
const pres = new pptxgen();
pres.layout = 'LAYOUT_16x9';

const theme = {
  primary: "22223b",    // dark color for backgrounds/text
  secondary: "4a4e69",  // secondary accent
  accent: "9a8c98",     // highlight color
  light: "c9ada7",      // light accent
  bg: "f2e9e4"          // background color
};

for (let i = 1; i <= 12; i++) {  // adjust count as needed
  const num = String(i).padStart(2, '0');
  const slideModule = require(`./slide-${num}.js`);
  slideModule.createSlide(pres, theme);
}

pres.writeFile({ fileName: './output/presentation.pptx' });

Run with: cd slides && node compile.js

Step 7: QA (Required)

See QA Process.

Output Structure

slides/
├── slide-01.js          # Slide modules
├── slide-02.js
├── ...
├── imgs/                # Images used in slides
└── output/              # Final artifacts
    └── presentation.pptx

Slide Output Format

Each slide is a complete, runnable JS file:

// slide-01.js
const pptxgen = require("pptxgenjs");

const slideConfig = {
  type: 'cover',
  index: 1,
  title: 'Presentation Title'
};

// MUST be synchronous (not async)
function createSlide(pres, theme) {
  const slide = pres.addSlide();
  slide.background = { color: theme.bg };

  slide.addText(slideConfig.title, {
    x: 0.5, y: 2, w: 9, h: 1.2,
    fontSize: 48, fontFace: "Arial",
    color: theme.primary, bold: true, align: "center"
  });

  return slide;
}

// Standalone preview - use slide-specific filename
if (require.main === module) {
  const pres = new pptxgen();
  pres.layout = 'LAYOUT_16x9';
  const theme = {
    primary: "22223b",
    secondary: "4a4e69",
    accent: "9a8c98",
    light: "c9ada7",
    bg: "f2e9e4"
  };
  createSlide(pres, theme);
  pres.writeFile({ fileName: "slide-01-preview.pptx" });
}

module.exports = { createSlide, slideConfig };

Theme Object Contract (MANDATORY)

The compile script passes a theme object with these exact keys:

Key Purpose Example
theme.primary Darkest color, titles "22223b"
theme.secondary Dark accent, body text "4a4e69"
theme.accent Mid-tone accent "9a8c98"
theme.light Light accent "c9ada7"
theme.bg Background color "f2e9e4"

NEVER use other key names like background, text, muted, darkest, lightest.


Page Number Badge (REQUIRED)

All slides except Cover Page MUST include a page number badge in the bottom-right corner.

  • Position: x: 9.3", y: 5.1"
  • Show current number only (e.g. 3 or 03), NOT "3/12"
  • Use palette colors, keep subtle

Circle Badge (Default)

slide.addShape(pres.shapes.OVAL, {
  x: 9.3, y: 5.1, w: 0.4, h: 0.4,
  fill: { color: theme.accent }
});
slide.addText("3", {
  x: 9.3, y: 5.1, w: 0.4, h: 0.4,
  fontSize: 12, fontFace: "Arial",
  color: "FFFFFF", bold: true,
  align: "center", valign: "middle"
});

Pill Badge

slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
  x: 9.1, y: 5.15, w: 0.6, h: 0.35,
  fill: { color: theme.accent },
  rectRadius: 0.15
});
slide.addText("03", {
  x: 9.1, y: 5.15, w: 0.6, h: 0.35,
  fontSize: 11, fontFace: "Arial",
  color: "FFFFFF", bold: true,
  align: "center", valign: "middle"
});

Dependencies

  • pip install "markitdown[pptx]" — text extraction
  • npm install -g pptxgenjs — creating from scratch
  • npm install -g react-icons react react-dom sharp — icons (optional)

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。