sn-da-non-spreadsheet-analysis

Extract text, tables, charts, and formatting from Word, PDF, and PPT documents.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires python-docx, python-pptx, PyMuPDF, pdfplumber, pandas, lxml, Pillow.

What problem does it solve?

Analyzing Word, PDF, and PowerPoint files manually is slow and error-prone, especially when documents contain tables, embedded charts, scanned pages, or formatting details like highlights and font sizes. This Skill parses all three formats end-to-end, including OCR-style captioning for scanned pages and image-only slides.

Core Features & Use Cases

  • Format-specific parsing: Dedicated sub-workflows for .docx/.doc (python-docx), .pdf (PyMuPDF + pdfplumber), and .pptx/.ppt (python-pptx), with automatic LibreOffice conversion for legacy formats.
  • Scanned and image content handling: Detects text-less pages or slides, renders them to PNG, and captions them via a vision model instead of failing silently.
  • Structured extraction: Pulls every table into DataFrames, reads chart data series, and extracts cell shading, highlight colors, and font sizes from Word XML.
  • Use Case: Given a folder of scanned invoice PDFs, detect each page as image-based, caption every page, extract amount fields with unit awareness (e.g., 千港元), and aggregate totals across all files.

Quick Start

Analyze all Word, PDF, and PPT files in the uploaded folder and summarize their tables, key figures, and highlighted content.

Frequently Asked Questions about sn-da-non-spreadsheet-analysis

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

FAQPage Schema
How do I extract tables from PDF files in Python?

Use pdfplumber to extract tables page by page, converting each result into a pandas DataFrame with the first row as header. Always iterate all pages and print headers plus sample rows to verify column alignment before computing.

How to extract text from a scanned PDF document?

First detect the PDF type by sampling page text with PyMuPDF; if average characters per page is near zero, it is scanned. Render each page to PNG at 150 DPI and run a vision captioning script to recover the text.

Can python-pptx read old .ppt files?

No, python-pptx only supports .pptx. Convert legacy .ppt files to .pptx first using LibreOffice headless mode, then load them with python-pptx for text, table, and chart extraction.

How do I find highlighted text or colored cells in a Word document?

Access the underlying XML via python-docx: check w:highlight in run properties for text highlighting and w:shd fill values in table cell properties for background colors like FFFF00 (yellow).

Why does PDF table extraction return empty results?

Empty results usually mean the PDF is scanned (image-based) rather than text-based, so pdfplumber finds no text layer. Detect the type first and switch to page rendering plus vision captioning for scanned documents.

When should I not use this document analysis skill?

Do not use it for Excel or CSV data analysis, which belongs to a spreadsheet workflow, or for pure standalone image analysis, which belongs to an image captioning skill. It targets .docx, .doc, .pdf, .pptx, and .ppt files only.