ppt-analysis

Extract text, tables, charts, and image captions from PPTX and PPT presentations.

5.3k|380|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/OpenSenseNova/SenseNova-Skills --skill ppt-analysis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ppt-analysis
Source: https://github.com/OpenSenseNova/SenseNova-Skills/tree/main/skills/sn-da-non-spreadsheet-analysis/capability/ppt-analysis
Command: npx skills add https://github.com/OpenSenseNova/SenseNova-Skills --skill ppt-analysis

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python-pptx, pandas, PyMuPDF.

What problem does it solve?

PowerPoint files often mix text boxes, tables, charts, and pure image slides, making it hard to programmatically extract complete content for analysis. This Skill provides a full-pipeline approach that captures every slide's content, including rendering and captioning image-only slides that text extraction would otherwise miss.

Core Features & Use Cases

  • Full Slide Text Extraction: Pulls text frames, tables, and chart titles from every slide using python-pptx, with automatic .ppt to .pptx conversion via LibreOffice.
  • Structured Table & Chart Extraction: Converts embedded tables into pandas DataFrames and reads chart data series when available.
  • Image-Only Slide Captioning: Renders slides without extractable text to PNG via LibreOffice and PyMuPDF, then captions them with a vision model so no content is lost.
  • Use Case: Given a 50-slide business report, extract all text, compute ratios from embedded tables (e.g., hiring percentages), search for keywords across slides, and build a timeline of dated events.

Quick Start

Analyze the attached presentation 'report.pptx' by extracting all slide text and tables, captioning any image-only slides, and summarizing the key findings.

Frequently Asked Questions about ppt-analysis

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract text from all slides in a PPTX file with Python?

Use python-pptx to iterate over prs.slides and read shape.text_frame paragraphs, table cells, and chart titles for every slide. Always loop through all slides without index limits to avoid missing content.

How to extract tables from PowerPoint into pandas DataFrames?

Iterate slide shapes, check shape.has_table, and read each row's cell text into a list. Build a pandas DataFrame using the first row as the header, then print the shape and first rows to verify column meanings before computing.

Can python-pptx open old .ppt binary files?

No, python-pptx only supports the .pptx format. Convert .ppt files first using LibreOffice headless mode with the --convert-to pptx flag, then load the converted file normally.

How do I handle PowerPoint slides that contain only images?

Flag slides with no extractable text, convert the PPTX to PDF via LibreOffice, render those pages to PNG with PyMuPDF, and run a vision captioning script to recover the text and data content.

Why does chart data extraction fail in python-pptx?

Chart series extraction fails when data is not stored as embedded Excel data or the API attributes are unavailable. Catch the exception and fall back to rendering and captioning the slide image instead.