--- name: pptx description: "Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks" license: Proprietary. LICENSE.txt has complete terms --- # PPTX creation, editing, and analysis ## Overview A user may ask you to create, edit, or analyze the contents of a .pptx file. A .pptx file is essentially a ZIP archive containing XML files and other resources that you can read or edit. ## Reading and analyzing content ### Text extraction If you just need to read the text contents of a presentation, you should convert the document to markdown: ```bash # Convert document to markdown python -m markitdown path-to-file.pptx ``` ### Raw XML access You need raw XML access for: comments, speaker notes, slide layouts, animations, design elements, and complex formatting. #### Key file structures * `ppt/presentation.xml` - Main presentation metadata and slide references * `ppt/slides/slide{N}.xml` - Individual slide contents (slide1.xml, slide2.xml, etc.) * `ppt/notesSlides/notesSlide{N}.xml` - Speaker notes for each slide * `ppt/comments/modernComment_*.xml` - Comments for specific slides * `ppt/slideLayouts/` - Layout templates for slides * `ppt/slideMasters/` - Master slide templates * `ppt/theme/` - Theme and styling information * `ppt/media/` - Images and other media files ## Creating a new PowerPoint presentation ### Design Principles **CRITICAL**: Before creating any presentation, analyze the content and choose appropriate design elements: 1. **Consider the subject matter**: What is this presentation about? What tone, industry, or mood does it suggest? 2. **Check for branding**: If the user mentions a company/organization, consider their brand colors and identity 3. **Match palette to content**: Select colors that reflect the subject 4. **State your approach**: Explain your design choices before writing code **Requirements**: - Use web-safe fonts only: Arial, Helvetica, Times New Roman, Georgia, Courier New, Verdana, Tahoma, Trebuchet MS, Impact - Create clear visual hierarchy through size, weight, and color - Ensure readability: strong contrast, appropriately sized text, clean alignment - Be consistent: repeat patterns, spacing, and visual language across slides ## Converting Slides to Images To visually analyze PowerPoint slides, convert them to images using a two-step process: 1. **Convert PPTX to PDF**: ```bash soffice --headless --convert-to pdf template.pptx ``` 2. **Convert PDF pages to JPEG images**: ```bash pdftoppm -jpeg -r 150 template.pdf slide ``` This creates files like `slide-1.jpg`, `slide-2.jpg`, etc. ## Code Style Guidelines **IMPORTANT**: When generating code for PPTX operations: - Write concise code - Avoid verbose variable names and redundant operations - Avoid unnecessary print statements ## Dependencies Required dependencies (should already be installed): - **markitdown**: `pip install "markitdown[pptx]"` (for text extraction from presentations) - **pptxgenjs**: `npm install -g pptxgenjs` (for creating presentations) - **LibreOffice**: `sudo apt-get install libreoffice` (for PDF conversion) - **Poppler**: `sudo apt-get install poppler-utils` (for pdftoppm to convert PDF to images)