pptx-validation-fallback
Validate PowerPoint files using python-pptx when read_file fails
- License 许可
- MIT
- 所属仓库
- HKUDS/AgentPilot
- 最近更新
- 2026-11-12
- Stars
- ★ 8.0k
- Forks
- 944
01 前言 Front Matter
- name
- pptx-validation-fallback
- description
- Validate PowerPoint files using python-pptx when read_file fails
02 资源文件 1
- 其他.skill_id38 B
03 SKILL.md 正文
PowerPoint Validation Fallback
When to Use
Use this skill when read_file fails to properly read or validate PowerPoint (.pptx) files. This provides a reliable alternative for verifying presentation contents including slide count, titles, and structure.
Procedure
Step 1: Check if read_file Failed
If read_file with filetype pptx returns errors, incomplete content, or cannot extract slide information, proceed to the fallback method.
Step 2: Use run_shell with python-pptx
Execute Python code via run_shell using the python-pptx library to inspect the presentation:
from pptx import Presentation
# Load the presentation
prs = Presentation('path/to/file.pptx')
# Get basic info
slide_count = len(prs.slides)
print(f"Total slides: {slide_count}")
# Extract slide titles
for i, slide in enumerate(prs.slides):
if slide.shapes.title:
title = slide.shapes.title.text
print(f"Slide {i+1}: {title}")
else:
print(f"Slide {i+1}: [No title]")
Step 3: Validate Structure
Check that the presentation meets expected requirements:
from pptx import Presentation
prs = Presentation('path/to/file.pptx')
# Validation checks
expected_slides = 10 # Adjust based on requirements
actual_slides = len(prs.slides)
if actual_slides >= expected_slides:
print(f"✓ Slide count OK: {actual_slides} slides")
else:
print(f"✗ Insufficient slides: {actual_slides}/{expected_slides}")
# Check for content on each slide
for i, slide in enumerate(prs.slides):
has_title = slide.shapes.title is not None
has_content = len(slide.shapes) > 1
print(f"Slide {i+1}: title={has_title}, content={has_content}")
Step 4: Extract Detailed Content (Optional)
For deeper validation, extract text content from all shapes:
from pptx import Presentation
prs = Presentation('path/to/file.pptx')
for i, slide in enumerate(prs.slides):
print(f"\n=== Slide {i+1} ===")
for shape in slide.shapes:
if hasattr(shape, "text") and shape.text.strip():
print(shape.text)
Expected Output
Successful validation should provide:
- Confirmed slide count
- List of slide titles
- Verification that each slide has expected content structure
Common Use Cases
- Verifying generated presentations have correct number of slides
- Confirming slide titles match required topics
- Validating presentation structure before delivery
- Debugging why read_file cannot parse a .pptx file
Dependencies
The python-pptx library must be available in the execution environment. Most Python environments support it via pip:
pip install python-pptx
04 同仓库更多 Skills
agentpilot
Set up AgentPilot and use its single entry to prepare missing inputs and run configured RSI experiments. Use when the user requests AgentPilot installation or work with AgentPilot.
remember
Review auto-memory entries and propose promotions to OPENSPACE.md, OPENSPACE.local.md, or retained auto-memory topics; detect duplicates, stale facts, conflicts, and ambiguous entries before making changes.
skill-discovery
Search reusable OpenSpace skills locally, and browse cloud packages step by step when a cloud skill may help. Reusing proven skills saves tokens, improves reliability, and extends your capabilities beyond built-in tools.
delegate-task
Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library. Skills auto-improve through use, reducing token consumption over time. A cloud community lets agents share and collectively evolve reusable skills.
write-special-chars-ts-check
Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, plus a reliable TypeScript type-checking step that filters output to only the newly-written files to avoid being misled by pre-existing errors.
write-special-chars-readback
Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, with mandatory post-write verification via read_file and cleanup of /tmp helper scripts.