Loading...
Loading...
Create professional PowerPoint presentations from various sources including web articles, blog posts, and existing PPTX files. Use when creating PPTX, converting articles to slides, or translating presentations.
npx skill4agent add aktsmm/agent-skills powerpoint-automationCreate a 15-slide presentation from: https://zenn.dev/example/articleTranslate this presentation to Japanese: input/presentation.pptxTRIAGE → PLAN → PREPARE_TEMPLATE → EXTRACT → TRANSLATE → BUILD → REVIEW → DONE| Phase | Script/Agent | Description |
|---|---|---|
| EXTRACT | | Content → content.json |
| BUILD | | Generate PPTX |
| REVIEW | PPTX Reviewer | Quality check |
| Script | Purpose |
|---|---|
| Generate PPTX from content.json (main) |
| Convert PPTX → content.json |
| Extract images from PPTX/web |
| Validate content.json schema |
| Detect text overflow |
{
"slides": [
{ "type": "title", "title": "Title", "subtitle": "Sub" },
{ "type": "content", "title": "Topic", "items": ["Point 1"] }
]
}| Template | Purpose | Layouts |
|---|---|---|
| デフォルト (Japanese, 16:9) | 4 layouts |
| Index | Name | Category | 用途 |
|---|---|---|---|
| 0 | タイトル スライド | title | プレゼン冒頭 |
| 1 | タイトルとコンテンツ | content | 標準コンテンツ |
| 2 | 1_タイトルとコンテンツ | content | 標準コンテンツ(別版) |
| 3 | セクション見出し | section | セクション区切り |
python scripts/create_from_template.py assets/template.pptx content.json output.pptx --config assets/template_layouts.jsonpython scripts/create_from_template.py assets/template.pptx --list-layoutstemplate_layouts.jsonpython scripts/analyze_template.py assets/template.pptxitemsbullets// ❌ フラットな表示になる
{"type": "content", "items": ["項目1", " 詳細1", "項目2"]}
// ✅ 階層構造が効く
{"type": "content", "bullets": [
{"text": "項目1", "level": 0},
{"text": "詳細1", "level": 1},
{"text": "項目2", "level": 0}
]}python scripts/create_from_template.py assets/template.pptx --list-layoutspython scripts/analyze_template.py assets/template.pptx// ❌ フラットな表示になる
{"type": "content", "items": ["項目1", " 詳細1", "項目2"]}
// ✅ 階層構造が効く
{"type": "content", "bullets": [
{"text": "項目1", "level": 0},
{"text": "詳細1", "level": 1},
{"text": "項目2", "level": 0}
]}| Agent | Purpose |
|---|---|
| Orchestrator | Pipeline coordination |
| Localizer | Translation (EN ↔ JA) |
| PPTX Reviewer | Final quality check |
VPN Gateway の新機能 - https://learn.microsoft.com/ja-jp/azure/vpn-gateway/whats-new| File | Content |
|---|---|
| SCRIPTS.md | Script documentation |
| USE_CASES.md | Workflow examples |
| content-guidelines.md | URL format, bullets |
| agents/ | Agent definitions |
| schemas/ | JSON schemas |
[Content Request] → [Researcher] → [Reviewer] → [PPTX Update]
↓ ↓
Docs MCP 検索 内容検証microsoft_docs_searchmicrosoft_docs_fetch# Check if file is locked
$path = "path/to/file.pptx"
try { [IO.File]::OpenWrite($path).Close(); "File is writable" }
catch { "File is LOCKED - close PowerPoint first" }⚠️does not processcreate_from_template.py. Post-processing required.footer_url
| Item | Processing |
|---|---|
| Add linked textbox at slide bottom |
| URLs in bullets | Convert to hyperlinks |
| Reference URLs | Linkify URLs in Appendix |
# ❌ Fails if file is open
prs.save('file.pptx') # PermissionError
# ✅ Save with different name
prs.save('file_withURL.pptx')| Processing | Suffix |
|---|---|
| URL added | |
| Final version | |
| Fixed version | |
content.json