Skill detail

powerpoint-automation

Comprehensive PPTX creation, editing, translation, and review automation.

MatchDirectReviewed for powerpoint
Sourceaktsmm/agent-skillsExternal source
Reported installs1,872Popularity signal only

Inspect before use

Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.

Saved source preview

SKILL.md

The saved excerpt is a snapshot from review. The external source remains the complete and most current version.

---
name: powerpoint-automation
description: Create and edit professional PowerPoint presentations from web articles, blog posts, existing PPTX files, or templates. Use when creating PPTX, converting articles to slides, translating presentations, editing open PowerPoint files, or doing COM Automation / RefURL / overflow review work. Triggers on PowerPoint, PPTX, パワポ, スライド作成, 記事をスライド化, COM自動化, RefURL.
argument-hint: "変換したい URL・PPTX・テンプレート、または編集内容"
user-invocable: true
license: CC BY-NC-SA 4.0
metadata:
  author: yamapan (https://github.com/aktsmm)
---

# PowerPoint Automation

AI-powered PPTX generation using Orchestrator-Workers pattern.

## When to Use

- Web 記事やブログをスライド化したいとき
- 既存 PPTX を翻訳・再構成したいとき
- 開いている PPTX を COM Automation で直接編集したいとき
- テンプレートベースで PPTX を生成したいとき
- content.json を SSOT にして、抽出・翻訳・生成・レビューを分離したいとき

## Quick Start

**From Web Article**

```text
Create a 15-slide presentation from: https://zenn.dev/example/article
```

**From Existing PPTX**

```text
Translate this presentation to Japanese: input/presentation.pptx
```

**Edit Open PPTX with COM**

```text
Edit the currently open PowerPoint deck with COM Automation and verify RefURL, notes, overflow, and hyperlinks.
```

## Workflow

```text
TRIAGE → PLAN → PREPARE_TEMPLATE → EXTRACT → TRANSLATE → BUILD → REVIEW → DONE
```

| Phase   | Main Actor                | Purpose                          |
| ------- | ------------------------- | -------------------------------- |
| EXTRACT | `extract_images.py`       | Source -> content.json           |
| BUILD   | `create_from_template.py` | content.json -> PPTX             |
| REVIEW  | PPTX Reviewer             | Overflow / consistency / quality |

## Core Assets

### Scripts

Script selection, arguments, and validation entry points are defined in [references/SCRIPTS.md](references/SCRIPTS.md).

### content.json

`content.json` はこの skill の SSOT。抽出、翻訳、生成、レビューの間は常にこれを基準にする。

```json
{
  "slides": [
    { "type": "title", "title": "Title", "subtitle": "Sub" },
    { "type": "content", "title": "Topic", "items": ["Point 1"] }
  ]
}
```

スキーマ詳細は [references/schemas/content.schema.json](references/schemas/content.schema.json) を参照。

### Template

標準テンプレートは `assets/template.pptx`。レイアウトや用途の詳細は template 側で管理し、main SKILL には最小限だけ残す。

```bash
python scripts/create_from_template.py assets/template.pptx content.json output.pptx --config assets/template_layouts.json
```

### Agents

Role definitions and handoffs are in [references/AGENTS.md](references/AGENTS.md) and [references/agents/](references/agents/).

## Operating Rules

- **SSOT**: content.json を正とする
- **One phase, one purpose**: 抽出・翻訳・生成・レビューを混ぜない
- **Fail fast**: 問題が出たら次フェーズへ無理に進めない
- **Human in loop**: PLAN でユーザー確認を入れる
- **Technical content is verified content**: Azure / Microsoft の内容は MCP で一次情報確認してから入れる
- **PowerPoint lock first**: 開いている PPTX に対して python-pptx で上書きしない
- **COM for open decks**: 開いている PPTX や既存 deck の直接編集は [references/instructions/com-automation.instructions.md](references/instructions/com-automation.instructions.md) を参照する
- **Operational text stays in notes**: 運営メモはスライド面に出さない
- **Customer-facing surface only**: 顧客向け deck のスライド面には内部向け話法、避ける表現、作業メモ、検証メモ、ファイル用途ラベルを混ぜない。話者向け情報は speaker notes へ分離する
- **Template means template**: ユーザー指定テンプレートがある場合、特に表紙はテンプレートの既存プレースホルダー/レイアウトを使い、上から別図形を重ねて隠さない
- **Reusable template means slide master**: 「テンプレートを作る」と言われたら、表紙・本文・Ending の再利用デザインはスライド直置きではなく `SlideMaster.CustomLayouts` に置き、編集する文字は placeholder / text shape として残す
- **PPTX asset metadata gate**: テンプレートや配布用 PPTX を skill asset / public artifact に含める前に `scripts/clean_template.py` で `docProps/custom.xml`(MIP ラベル、tenant、SharePoint フィールド、同僚メール)と `docProps/core.xml`(`cp:lastModifiedBy` / `cp:revision`)を sanitize する。PowerPoint は OneDrive / SharePoint から開くたびに MIP を再付与するので、check-in 直前に毎回実行する。詳細は [references/instructions/template.instructions.md](references/instructions/template.instructions.md#template-metadata-hygiene)。スライド本文検索だけで安全判定しない
- **JP template font default**: 日本語の再利用テンプ
Read the full source on GitHub (opens external page)
Context

Related work