automating-powerpoint
SKILL.md
Automating PowerPoint (JXA-first, AppleScript discovery)
Relationship to the macOS automation skill
- Standalone for PowerPoint, aligned with
automating-mac-appspatterns. - Use
automating-mac-appsfor permissions, shell, and UI scripting guidance.
Core Framing
- PowerPoint dictionary is AppleScript-first; discover there.
- JXA provides logic, data handling, and ObjC bridge access.
- Objects are specifiers; read via methods, write via assignments.
- Prerequisites: PowerPoint with Accessibility permissions, basic JXA/AppleScript knowledge.
Workflow (default)
- Discover dictionary terms in Script Editor (PowerPoint).
- Prototype minimal AppleScript commands.
- Port to JXA and add defensive checks.
- Use explicit enums for save/export formats.
- Use Excel interop for robust charting.
Quick Start Example
Create a new presentation with a title slide:
const powerpoint = Application('Microsoft PowerPoint');
const doc = powerpoint.documents[0] || powerpoint.documents.add();
const slide = doc.slides.add({index: 1, layout: powerpoint.slideLayouts['ppLayoutTitle']});
slide.shapes[0].textFrame.textRange.content = 'My Presentation';
doc.save({in: Path('/Users/username/Desktop/presentation.pptx')});
Troubleshooting
- Application not responding: Ensure PowerPoint is launched and accessible via Accessibility permissions.
- Dictionary discovery fails: Open PowerPoint manually first, then retry Script Editor.
- Export errors: Verify file paths exist and use absolute paths; check enum values match PowerPoint's export constants.
- Interop issues: Confirm Excel is installed and both applications have proper permissions.
Validation Checklist
- PowerPoint launches and responds to JXA commands
- Presentation creation succeeds with expected slides
- Shape/text manipulation renders correctly
- Export produces valid output files
- Enum values match PowerPoint dictionary constants
- Error handling covers missing app/permissions
When Not to Use
- Windows PowerPoint automation (use VBA instead)
- Web-based PowerPoint (use Office 365 APIs)
- Complex animations or transitions (limited JXA support)
- Non-macOS platforms
- Real-time presentation collaboration scenarios
What to load
- PowerPoint JXA basics:
automating-powerpoint/references/powerpoint-basics.md(core objects, application setup) - Recipes (slides, shapes, text):
automating-powerpoint/references/powerpoint-recipes.md - Advanced patterns (export enums, charts):
automating-powerpoint/references/powerpoint-advanced.md - Dictionary translation table:
automating-powerpoint/references/powerpoint-dictionary.md - Charting notes:
automating-powerpoint/references/powerpoint-charts.md - Export to video notes:
automating-powerpoint/references/powerpoint-export-video.md - Excel chart copy example:
automating-powerpoint/references/powerpoint-chart-copy.md - Layout presets:
automating-powerpoint/references/powerpoint-layouts.md - Export video workflow:
automating-powerpoint/references/powerpoint-export-video-steps.md - Deck generator example:
automating-powerpoint/references/powerpoint-deck-generator.md - Chart-aware deck pattern:
automating-powerpoint/references/powerpoint-chart-aware-deck.md
Weekly Installs
7
First Seen
Feb 1, 2026
Security Audits
Installed on
claude-code7
opencode6
openclaw5
trae4
gemini-cli4
replit4