SuperAPI AI Directory

powerpoint-automation

Office & productivity

View repository

Updated 10-15 16:46

About this skill

PowerPoint Automation

AI-powered PPTX generation using Orchestrator-Workers pattern.

When to Use

  • When you want to turn web articles or blogs into slides
  • When you want to translate and restructure an existing PPTX
  • When you want to directly edit an open PPTX via COM Automation
  • When you want to generate a PPTX based on a template
  • When you want to make content.json the SSOT and separate extraction, translation, generation, and review

Quick Start

From Web Article

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

From Existing PPTX

Translate this presentation to Japanese: input/presentation.pptx

Edit Open PPTX with COM

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

Workflow

TRIAGE → PLAN → PREPARE_TEMPLATE → EXTRACT → TRANSLATE → BUILD → REVIEW → DONE
Phase Main Actor Purpose
EXTRACT reconstruct_analyzer.py Source -> content.json (+ extract_images.py for images)
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.

content.json

content.json is the SSOT for this skill. Always use this as the basis between extraction, translation, generation, and review.

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

For schema details, see references/schemas/content.schema.json .

Template

The standard template is assets/template.pptx. Details on layouts and use cases are managed on the template side, and only the minimum is kept in the main SKILL.

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 and references/agents/.

Operating Rules

  • SSOT: Derive content.json from the approved manuscript and retain stable topic/question-to-slide mappings. Reuse approval for unchanged content; changed claims or explicit scope constraints need confirmation. Compress related Q&A for the presentation format, not by dropping qualifying conditions.
  • One phase, one purpose: Do not mix extraction, translation, generation, and review
  • Fail fast: If a problem arises, do not force progress to the next phase
  • Human in loop: Include user confirmation in the PLAN
  • Technical content is verified content: For Azure / Microsoft content, verify with primary sources via MCP before including it
  • PowerPoint lock first: Do not overwrite an open PPTX with python-pptx. Reading it will also PermissionError , soCopy-Item で %TEMP% read after duplicating tomarkitdown output gets garbled when piped through PowerShell, so have it written to a file with -o to write to a file
  • COM for open decks: For direct editing of an open PPTX or an existing deck, refer to references/instructions/com-automation.instructions.md to reference
  • Leave it open or close it fully: At the end of COM work, always decide whether to "leave it open so the user can see it" or "close it completely." Do not leave an empty PowerPoint window behind. If it is internal processing only, after Presentation.Close() after Presentations.Count confirm that Application.Quit() is 0 and POWERPNT は then only processes whose MainWindowTitle is empty or has no filename stop (those with a filename are the user's work in progress)
  • Know how the deck was opened: Invoke-Item / PPTX on OneDrive or SharePoint opened via Explorer becomes Presentation.FullName が https:// , andSaveCopyAs fails without exception and without even writing to %TEMP%. Before exporting to PDF, check FullName , and if it is a URL, Close it once and Presentations.Open() again with a local absolute path, then SaveAs($tmp, 32) do
  • Notes are distributable content: Put presenter guidance in notes, but exclude material the recipient may not receive from the entire deliverable, including hidden slides, notes and embedded sources. Use a separate restricted file; NDA labels and hidden flags do not grant sharing permission.
  • Audience context first: Introduce each topic's purpose or trigger, current situation and unresolved concern before answers and next actions. Keep this context on main slides, not only in notes; reserve notes for permitted presenter guidance and implementation detail.
  • Template means template: If there is a user-specified template, especially for the cover, use the template's existing placeholders/layouts and do not overlay different shapes on top to hide them
  • Reusable template means slide master: If asked to "create a template," place the reusable designs for the cover, body, and Ending not directly on slides but in SlideMaster.CustomLayouts , and keep the text to be edited as placeholders / text shapes
  • PPTX asset metadata gate: Before including a template or distribution PPTX in skill assets / public artifacts, scripts/clean_template.py で docProps/custom.xml(MIP labels, tenant, SharePoint fields, colleague emails) and docProps/core.xml(cp:lastModifiedBy / cp:revision) sanitize. PowerPoint re-applies MIP every time it is opened from OneDrive / SharePoint, so run this every time just before check-in. For details, see references/instructions/template.instructions.md. Do not judge safety based only on searching the slide body text
  • JP template font default: In Japanese reuse templates, align the default Japanese font of master/layout to BIZ UDPゴシック and do not design it so that the font is fixed every time in post-processing on the generated slide side
  • Rendered QA before handoff: Export every slide after building or COM touch-up; check overlaps, font consistency and table readability. If an image-capable, read-only reviewer is available, delegate previews, approved content.json and template constraints; request reviewed slide IDs, issues and fixes only. Otherwise inspect locally. Re-render and recheck affected slides after fixes.
  • Review like a critic, not a generator: Before showing it to the user, use rendered images to find and fix "too sparse, text too small, sloppy icons, insufficient template adherence, old wording remaining" yourself. For details, see references/instructions/deck-iteration-review.instructions.md
  • Media restore gate: slide insertion/deletion/recovery after a user review must re-check expected slide count and embedded video/media positions before continuing
  • Template base-slide gate: When duplicating and generating from a template, first explicitly specify the sample slides to retain, and delete unnecessary contact / next-event etc. by structural editing. Before completion, verify the expected number of slides derived from the content manifest, remaining placeholders, and slide order
  • Editable diagrams: Generated images are optional design references, not editable output. Rebuild text, shapes and connectors from approved content.json with suitable licensed icon assets; preserve diagram relationships. Keep photos/screenshots as images; no ASCII art or full-slide rasterization as a substitute for editable slides.
  • Grid-first placement: Initialize positions on a consistent layout grid, refine against actual slide renders, and remove temporary grid overlays from final exports.
  • Appendix URLs use Title - URL: Unify the display format of reference URLs
  • Review content and visuals separately: After generation, not only review the appearance but also check accuracy against official information, the number of URL hyperlinks, the number of notes, and placeholder/internal wording

Reference Map

Frequently Needed

Use Implementation Patterns for shape diagrams, template XML, SlideMaster edits, visual QA, hyperlinks, RefURL, locks, centering, corruption recovery, and media embedding.

Done Criteria

  • source and goal are fixed
  • content.json is treated as the source of truth and each phase is separated
  • the assumptions of template / layout have been confirmed
  • technical content has been confirmed against primary sources
  • operational text does not appear on the slide surface
  • when using a template, monotonous repetition of the same layout and excess placeholders have been checked
  • the expected number of slides, including what to retain/delete in the template, matches the actual slide set
  • visual QA is performed using rendered images, and the relevant slides are rechecked after fixes
  • tables should in principle use body text of 16pt or larger, and header visibility is checked with center alignment and middle alignment
  • after build, overflow / consistency / hyperlink have been reviewed