# Powerpoint Automation

> Launch and automate the real Microsoft PowerPoint desktop app on Windows for local deck workflows. Use when Codex needs to open a presentation in Microsoft PowerPoint, verify that .ppt/.pptx files resolve to the Microsoft Office desktop app instead of WPS, save or resave a PPT/PPTX through PowerPoint, export a deck to PDF, export slides to images, or check that a deck can be handled by the installed Microsoft PowerPoint application.

- Skill: `chengchenox-debug/powerpoint-automation` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add chengchenox-debug/powerpoint-automation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/chengchenox-debug/powerpoint-automation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: chengchenox-debug (https://skillmd.com/u/chengchenox-debug)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/chengchenox-debug/powerpoint-automation

---


# PowerPoint Automation

Use the local script at `scripts/powerpoint_automation.ps1` for desktop PowerPoint tasks.

Prefer this skill when the user explicitly wants the desktop application involved, when a workflow needs Microsoft PowerPoint compatibility, or when a generated `.pptx` should be validated or exported through the installed Office app instead of a pure code pipeline.

This skill is intentionally dual-mode:

- interactive desktop work: prefer `launch`
- background automation: use `open-check`, `save-as`, `export-pdf`, or `export-images`

If Windows session isolation blocks COM automation, the skill will avoid falling back to WPS. For `open-check`, it can fall back to launching the file in real Microsoft PowerPoint. For export/save actions, it returns a structured session-isolation error so the next step is obvious.

## Available actions

- `launch`: start the real Microsoft PowerPoint desktop app, optionally with a target file
- `open-check`: open a presentation invisibly, confirm it loads, then close it
- `save-as`: open a presentation and save it to another path
- `export-pdf`: export a presentation to PDF
- `export-images`: export slides to PNG or JPG images in a target folder

## Command pattern

Run:

```powershell
powershell -ExecutionPolicy Bypass -File "<skill-dir>\scripts\powerpoint_automation.ps1" `
  -Action <launch|open-check|save-as|export-pdf|export-images> `
  [-InputPath "<absolute-input-path>"] `
  [-OutputPath "<absolute-output-path>"] `
  [-ImageFormat png|jpg] `
  [-Width 1920] `
  [-Height 1080]
```

## Rules

- Use absolute Windows paths.
- Create output directories before export when needed.
- Keep PowerPoint hidden unless the user explicitly wants an interactive window.
- Close the presentation and quit the COM application in all cases.
- If COM automation fails, surface the exact error instead of silently falling back to another tool.
- For image export, pass `-OutputPath` as a directory.
- Do not run multiple PowerPoint automation commands in parallel against the same desktop session.
- For `launch`, prefer the installed Microsoft Office path at `C:\Program Files\Microsoft Office\root\Office16\POWERPNT.EXE`.
- Treat file association and process checks as part of verification when the user wants to avoid WPS.
- Prefer `launch` for everyday editing, template review, or "open this deck in PowerPoint" requests.
- Prefer COM actions only when the task truly needs deterministic save/export output from the desktop Office app.

## Notes

- This skill depends on `PowerPoint.Application` COM being available on the machine.
- The script returns structured JSON so results can be inspected or chained into later steps.
- Session-isolation errors such as `0x80070520` or `MK_E_UNAVAILABLE` usually mean the current shell cannot control the interactive desktop Office session. In that case, use `launch` or let `open-check` fall back to desktop launch.

