agentsclimarketplace

Run2 pptx docx reading

Skill cxcscmu/SkillLearnBench/skills/b2-self-feedback-claude-sonnet-4-6/organize-messy-files/run2_pptx-docx-reading

[COLM'26] SkillLearnBench is the first benchmark for evaluating continual learning methods that automatically generate agent skills.

Install
npx -y skills add cxcscmu/SkillLearnBench --skill run2_pptx-docx-reading

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Extract text from PPTX and DOCX files using python-pptx and python-docx, including tables and all shapes.

SKILL.md

2.1 KB, as published. Nobody here has run it

PPTX and DOCX Reading Skill (Improved)

Overview

Extract text from PowerPoint and Word documents for classification.

Installation

pip install python-pptx python-docx --break-system-packages

PPTX Extraction (All slide content)

from pptx import Presentation

def extract_pptx_text(filepath):
    """Extract all text from a PPTX file including titles, bodies, notes."""
    try:
        prs = Presentation(filepath)
        text_parts = []
        for slide in prs.slides:
            for shape in slide.shapes:
                if hasattr(shape, "text") and shape.text.strip():
                    text_parts.append(shape.text)
                # Also handle tables in slides
                if shape.has_table:
                    for row in shape.table.rows:
                        for cell in row.cells:
                            if cell.text.strip():
                                text_parts.append(cell.text)
        return "\n".join(text_parts)
    except Exception as e:
        return f"Error: {e}"

DOCX Extraction (Paragraphs + Tables)

from docx import Document

def extract_docx_text(filepath):
    """Extract all text from a DOCX file including paragraphs and tables."""
    try:
        doc = Document(filepath)
        text_parts = []
        for para in doc.paragraphs:
            if para.text.strip():
                text_parts.append(para.text)
        for table in doc.tables:
            for row in table.rows:
                for cell in row.cells:
                    if cell.text.strip():
                        text_parts.append(cell.text)
        return "\n".join(text_parts)
    except Exception as e:
        return f"Error: {e}"

Notes

  • DAMOP.pptx is a DAMOP (Division of Atomic Molecular and Optical Physics) conference presentation - likely trapped ion / quantum computing
  • python-pptx reads all shapes; python-docx reads paragraphs and tables
  • These don't modify files, just read content

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.