All skills
aktsmm avatar

/powerpoint-automation

@500f5af
by yamapanaktsmm/agent-skills26 stars
4

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.

Use this Skill: https://skilld.dev/gh/aktsmm/agent-skills/powerpoint-automation

This session only. Nothing lands on disk.

referencesinstructionsscript-dependencies.instructions.md

≈1.5k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Script Dependencies

This file is the SSOT (Single Source of Truth) for script dependencies.


Dependency Graph

classify_input.py
    ↓
reconstruct_analyzer.py ←──────────────────────────────┐
    ↓                                                  │
extract_images.py (parallel OK)                        │
    ↓                                                  │
[Localizer Agent] ───→ content_ja.json                 │
    ↓                                                  │
validate_content.py                                    │
    ↓                                                  │
create_from_template.py ←── analyze_template.py        │
    ↓                       └── diagnose_template.py   │
validate_pptx.py               └── clean_template.py   │
    ↓                                                  │
review_pptx.py                                         │
                                                       │
summarize_content.py ──────────────────────────────────┘

Script Categories

Input Processing

Script Input Output Dependencies
classify_input.py File/URL classification.json None
extract_images.py PPTX or URL images/{base}/ None
reconstruct_analyzer.py PPTX content.json extract_images (optional)

Template Processing

Script Input Output Dependencies
analyze_template.py Template PPTX layouts.json None
diagnose_template.py Template PPTX Diagnosis report None
clean_template.py Template PPTX Cleaned PPTX diagnose (recommended)
create_clean_template.py Source PPTX Clean template PPTX None

Validation

Script Input Output Dependencies
validate_content.py content.json Exit code (0/1/2) None
validate_pptx.py PPTX + content.json Exit code + report content.json
review_pptx.py PPTX Content extraction None

Generation

Script Input Output Dependencies
create_from_template.py Template + content.json PPTX analyze_template
create_ja_pptx.py content.json PPTX None
create_pptx.js Diagram config Diagram PPTX npm packages

Utility

Script Input Output Dependencies
merge_slides.py Template + Diagram PPTX Merged PPTX None
insert_diagram_slides.py PPTX + Diagram + config Merged PPTX None
summarize_content.py content.json content_summary.json None
resume_workflow.py State file Resumed workflow None
workflow_tracer.py - Trace log None

Parallel Execution

Scripts that can run in parallel:

# These can run simultaneously
Start-Job { python scripts/extract_images.py $input images/$base }
Start-Job { python scripts/analyze_template.py $template }

# Wait for both
Get-Job | Wait-Job

Use extract_parallel.ps1 for automated parallel execution.


Required Packages

Python (requirements.txt)

python-pptx>=0.6.21
Pillow>=9.0.0
jsonschema>=4.0.0
requests>=2.28.0

Node.js (package.json)

{
  "dependencies": {
    "pptxgenjs": "^3.12.0"
  }
}

Exit Codes

Script 0 1 2
validate_content.py PASS FAIL WARN
validate_pptx.py PASS FAIL WARN
create_from_template.py Success Error Empty slides

Python Environment Troubleshooting

Problem: pip install fails

Errors like:

  • ModuleNotFoundError: No module named 'xxx'
  • error: externally managed
  • Failed to inspect Python interpreter from virtual environment

Solution: Use uv venv

# 1. Remove broken .venv
Remove-Item ".venv" -Recurse -Force -ErrorAction SilentlyContinue

# 2. Create new venv with uv
uv venv .venv

# 3. Activate
.\.venv\Scripts\Activate.ps1

# 4. Install packages
uv pip install python-pptx Pillow jsonschema requests

Why uv?

  • pip install --system fails with uv-managed Python
  • py -3.12 launcher may not be available
  • uv venv + uv pip is the most reliable combination

Problem: BadZipFile error

Template files (.pptx) may be Git LFS pointers, not actual files.

# Pull LFS files
git lfs pull

# Verify file is valid (should show PK header, not "version https://git-lfs")
Get-Content "assets/template.pptx" -TotalCount 1

Script Execution

Always specify venv Python explicitly:

& "d:\project\.venv\Scripts\python.exe" create_from_template.py template.pptx content.json output.pptx

Package Installation Priority

  1. VS Code tool install_python_packages - Try first
  2. uv venv + uv pip - Most reliable
  3. pip install - Last resort (environment-dependent)

Source: SKILL.md on GitHub

1 alert1d5 checks · Risk MEDIUM
  • Gen Agent Trust Hub1d

    The skill automates PowerPoint creation by downloading external images and executing shell commands. Potential risks include command injection through user-influenced filenames and indirect prompt injection from processed web content.

  • Socket1d

    2 alerts: gptAnomaly

  • Snyk1d

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    12/58 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 500f5af. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 days ago
argument-hint
変換したい URL・PPTX・テンプレート、または編集内容
user-invocable
true
metadata
{
  "author": "yamapan (https://github.com/aktsmm)"
}
  • Python
  • powerpoint
  • pptx
  • presentation
  • automation
  • com-automation
  • template
  • translation
  • web-scraping
  • content-generation

README badge

README badge for aktsmm/agent-skills/powerpoint-automation

Generates and edits PowerPoint presentations from web articles, blog posts, existing PPTX files, or templates using a content.json intermediate format. Supports COM Automation for direct editing of open decks, translation between languages, and structured review workflows that separate extraction, translation, generation, and quality assurance phases.

Generated from the current SKILL.md.

Does this skill work with existing PowerPoint files, or only create new presentations?
It works with both. You can create presentations from web articles or templates, translate and restructure existing PPTX files, or directly edit open PowerPoint files using COM Automation.
What's the central data format for this workflow?
content.json is the source of truth. All phases — extraction, translation, generation, and review — reference and operate on this JSON schema, keeping slides and their content decoupled from the final PPTX output.
Can I use my own PowerPoint template?
Yes. The skill supports custom templates via the template parameter and template_layouts.json config. When using a user-provided template, the skill preserves existing placeholders and layouts rather than overlaying new shapes on top.
How does this handle currently open PowerPoint files?
It uses COM Automation for direct editing of open decks, avoiding python-pptx overwrites. See the com-automation.instructions.md reference for specific workflows around RefURL, notes, overflow, and hyperlink verification.
Does this support languages other than English and Japanese?
The SKILL.md documents English and Japanese localization via a Localizer agent, but does not describe support for other languages.

Generated from the current SKILL.md. These answers refresh after source changes.