Awesome-omni-skill powerpoint-automation

Create professional PowerPoint presentations from various sources including web articles, blog posts, and existing PPTX files. Ideal for tech presentations, reports, and documentation.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/powerpoint-automation" ~/.claude/skills/diegosouzapw-awesome-omni-skill-powerpoint-automation && rm -rf "$T"
manifest: skills/development/powerpoint-automation/SKILL.md
source content

PowerPoint Automation

AI-powered PPTX generation pipeline using Orchestrator-Workers pattern. Automatically extracts content, translates, applies templates, and performs quality reviews.

When to Use This Skill

Use this skill when the user wants to:

  • Convert web articles or blog posts to PowerPoint presentations
  • Translate English PPTX to Japanese (or other languages)
  • Create presentations using custom templates
  • Generate technical presentations with code blocks and diagrams
  • Automate presentation creation with quality assurance

Quick Start

Prerequisites

Install dependencies:

# Python dependencies
pip install -r scripts/requirements.txt

# Node.js dependencies (for diagram generation)
npm install --prefix scripts

Basic Usage

From Web Article:

# Simply describe what you want with a URL
"Create a 15-slide presentation about Azure Copilot from this Zenn article:
https://zenn.dev/example/articles/pptx-guide"

# The system will automatically:
# 1. Extract content and images
# 2. Generate content.json
# 3. Create PPTX with template
# 4. Review quality

From Existing PPTX:

# Provide PPTX file path in your request
"Translate this English presentation to Japanese: input/presentation.pptx"

# System will:
# 1. Analyze structure
# 2. Extract content
# 3. Translate (if needed)
# 4. Apply new template

Architecture

This skill uses the Orchestrator-Workers pattern with 6 specialized agents. See Agents section for details.

Workflow Phases

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

Phase Details

PhaseScriptDescription
TRIAGEOrchestratorDetect input type, determine workflow
PLANUser ConfirmationPresent options (slide count, template, style)
PREPARE_TEMPLATE
diagnose_template.py
,
clean_template.py
Clean and analyze template
EXTRACT
extract_images.py
,
reconstruct_analyzer.py
Extract content → content.json
TRANSLATELocalizer AgentTranslate content.json
BUILD
create_from_template.py
Generate PPTX
REVIEWPPTX Reviewer AgentQuality check
DONE-Open PowerPoint

Key Scripts

See

references/SCRIPTS.md
for complete script documentation.

Most Common:

  • create_from_template.py
    - Generate PPTX from content.json (⭐ Recommended)
  • reconstruct_analyzer.py
    - Convert PPTX → content.json
  • extract_images.py
    - Extract images from PPTX or web
  • validate_content.py
    - Validate content.json schema
  • validate_pptx.py
    - Detect text overflow, missing notes

Specialized:

  • create_pptx.js
    - Generate diagrams with pptxgenjs
  • merge_slides.py
    - Combine diagram slides into template
  • summarize_content.py
    - Reduce slide count with AI

Intermediate Representation (IR)

All agents communicate via content.json (SSOT):

{
  "slides": [
    {
      "type": "title",
      "title": "Presentation Title",
      "subtitle": "Subtitle"
    },
    {
      "type": "content",
      "title": "Main Topic",
      "items": ["Point 1", "Point 2"],
      "image": {
        "path": "images/diagram.png",
        "position": "right",
        "width_percent": 45
      }
    }
  ]
}

See

references/schemas/content.schema.json
for full specification.

Design Principles

  1. SSOT (Single Source of Truth): content.json is the canonical representation
  2. SRP (Single Responsibility): Each agent/script has one clear purpose
  3. Fail Fast: Errors detected early, automatic retry (max 3×)
  4. Human in the Loop: User confirmation at PLAN phase
  5. Dynamic Context: Adapt to any template size, not hardcoded

Templates

Two templates are included:

TemplatePurposeSizeLayouts
assets/base_template.pptx
Full-featured template with all layouts16:9 (13.33" × 7.5")11 layouts
assets/template.pptx
Legacy template (Japanese layout names)16:9 (13.33" × 7.5")4 layouts

When to Use Each Template

  • base_template.pptx
    (Recommended): Full-featured template with 11 standard English layouts. Use for most presentations including tech blogs, reports, and translations. Works best with
    analyze_template.py
    auto-detection.
  • template.pptx
    : Legacy template with Japanese layout names. Use if you need specific Japanese layout naming or compatibility with older workflows.

To use custom templates:

python scripts/analyze_template.py path/to/custom.pptx

Error Handling

  • Retry Policy: Max 3 attempts per phase
  • Escalation: After 3 failures → human intervention
  • Recovery:
    scripts/resume_workflow.py
    to resume from specific phase

Advanced Features

Diagram Generation (pptxgenjs)

// Create architecture diagrams with shapes and arrows
node scripts/create_pptx.js

Slide Merging

# Merge diagram slides into template
python scripts/merge_slides.py template.pptx diagrams.pptx output.pptx

Content Summarization

# Reduce slide count with AI summarization
python scripts/summarize_content.py content.json --target-slides 15

Agents

Detailed agent definitions in

references/agents/
:

AgentFilePurpose
Orchestrator
orchestrator.agent.md
Pipeline coordination, state management, retry logic
Brainstormer
brainstormer.agent.md
Interactive ideation → proposal.json
Localizer
localizer.agent.md
Translation (EN ↔ JA)
Summarizer
summarizer.agent.md
Content summarization, slide count reduction
JSON Reviewer
json-reviewer.agent.md
content.json quality assurance
PPTX Reviewer
pptx-reviewer.agent.md
Final PPTX quality assurance

References

Detailed documentation in

references/
:

  • SCRIPTS.md: Complete script reference and usage examples
  • USE_CASES.md: Detailed workflows for common scenarios
  • Agents:
    references/agents/*.agent.md
    - Agent definitions
  • Instructions:
    references/instructions/*.instructions.md
    - Workflow rules
  • Schemas:
    references/schemas/*.schema.json
    - JSON schemas
  • AGENTS.md: Architecture overview and design principles

Common Use Cases

  • Tech Blog → PPTX: Convert Zenn/Qiita articles to presentations (15-20 slides, ~5 min)
  • English → Japanese: Translate presentations maintaining design (~15 min for 120 slides)
  • Report Generation: Create business reports from notes + charts (~10 min)
  • Technical Training: Convert API docs to training material with code examples (~8 min)
  • Architecture Diagrams: Generate custom diagrams and merge into templates (~5 min)

See

references/USE_CASES.md
for detailed workflows and examples.

Limitations

  • Language Support: Primarily English ↔ Japanese (extendable)
  • Image Formats: PNG, JPG, JPEG (no SVG/GIF animation)
  • Code Blocks: Best with pptxgenjs method
  • Template Compatibility: Works with standard PowerPoint templates (16:9 recommended)

Troubleshooting

Common issues documented in repository's

docs/TROUBLESHOOTING.md
.

Quick checks:

# Validate content.json
python scripts/validate_content.py output_manifest/xxx_content.json

# Diagnose template
python scripts/diagnose_template.py templates/xxx.pptx

# Check PPTX quality
python scripts/validate_pptx.py output_ppt/xxx.pptx

License

This skill is licensed under CC BY-NC-SA 4.0. See LICENSE.txt for full terms.


Note: This skill orchestrates a complex multi-agent pipeline. For best results, follow the PLAN phase confirmation process and use the Orchestrator agent as the entry point.