Loading...
Loading...
Build, edit, analyze, and improve PowerPoint presentations (.pptx). Use when a user asks to: (1) Create a new presentation from scratch, (2) Edit or modify slides, text, images, or layouts, (3) Analyze a presentation for quality, consistency, or content, (4) Improve an existing presentation's design, structure, or readability, (5) Extract text or speaker notes, (6) Add charts, tables, or media to slides, (7) Review or critique a presentation.
npx skill4agent add sentry01/copilot-cli-skills powerpoint-toolkitpython3 scripts/setup_deps.pyscripts/inspect_pptx.pyscripts/extract_text.pyscripts/analyze_pptx.pyscripts/thumbnails.pyreferences/design-and-creation.mdreferences/ooxml-editing.mdpython3 scripts/inspect_pptx.py deck.pptx # Overview
python3 scripts/inspect_pptx.py deck.pptx --text # With all text
python3 scripts/inspect_pptx.py deck.pptx --notes # With speaker notes
python3 scripts/inspect_pptx.py deck.pptx --layouts # With layout details
python3 scripts/inspect_pptx.py deck.pptx --slide 0 # Single slide
python3 scripts/inspect_pptx.py deck.pptx --text --notes # Full contentpython3 scripts/extract_text.py deck.pptx # Markdown format
python3 scripts/extract_text.py deck.pptx --format json # Structured JSON
python3 scripts/extract_text.py deck.pptx --format text # Plain text
python3 scripts/extract_text.py deck.pptx --notes # Include speaker notespython3 scripts/analyze_pptx.py deck.pptx # Full analysis
python3 scripts/analyze_pptx.py deck.pptx --verbose # Extra detailpython3 scripts/thumbnails.py deck.pptx # Default 4-col grid
python3 scripts/thumbnails.py deck.pptx preview --cols 3 # Custom layoutreferences/design-and-creation.mdfrom pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
# Title slide
slide = prs.slides.add_slide(prs.slide_layouts[0])
slide.shapes.title.text = "Title"
slide.placeholders[1].text = "Subtitle"
# Content slide
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = "Section"
body = slide.placeholders[1].text_frame
body.text = "First point"
p = body.add_paragraph()
p.text = "Second point"
p.level = 0
prs.save("output.pptx")references/design-and-creation.mdfrom pptx import Presentation
prs = Presentation("existing.pptx")
slide = prs.slides[0]
for shape in slide.shapes:
if shape.has_text_frame:
for para in shape.text_frame.paragraphs:
for run in para.runs:
run.text = run.text.replace("old", "new")
prs.save("modified.pptx")references/ooxml-editing.mdscripts/inspect_pptx.py deck.pptx --text --notesscripts/analyze_pptx.py deck.pptx| Pattern | Layout | When to Use |
|---|---|---|
| Title Slide | Layout 0 | Opening, section dividers |
| Bullets | Layout 1 | Key points, agenda |
| Two-Column | Layout 3 | Comparison, before/after |
| Image + Text | Layout 5 + textbox | Visual storytelling |
| Chart Slide | Layout 5 + chart | Data presentation |
| Table Slide | Layout 5 + table | Structured data |
| Quote Slide | Layout 6 + textbox | Attribution, emphasis |
| Closing | Layout 0 or 6 | Thank you, contact info |