pptx

skillcreatorai/ai-agent-skills · updated Apr 8, 2026

$npx skills add https://github.com/skillcreatorai/ai-agent-skills --skill pptx
0 commentsdiscussion
summary

pptx

skill.md

PowerPoint Processing

Creating Presentations (Python)

from pptx import Presentation
from pptx.util import Inches, Pt

prs = Presentation()

# Add title slide
title_slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(title_slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = "Hello, World!"
subtitle.text = "python-pptx demo"

# Add content slide
bullet_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(bullet_slide_layout)
shapes = slide.shapes
title_shape = shapes.title
body_shape = shapes.placeholders[1]
title_shape.text = "Key Points"
tf = body_shape.text_frame
tf.text = "First bullet point"
p = tf.add_paragraph()
p.text = "Second bullet point"
p.level = 1

prs.save('presentation.pptx')

Adding Images

from pptx.util import Inches

blank_layout = prs.slide_layouts[6]
slide = prs.slides.add_slide(blank_layout)

left = Inches(1)
top = Inches(1)
width = Inches(5)
slide.shapes.add_picture('image.png', left, top, width=width)

Adding Tables

rows, cols = 3, 4
left = Inches(1)
top = Inches(2)
width = Inches(6)
height = Inches(1.5)

table = slide.shapes.add_table(rows, cols, left, top, width, height).table

# Set column widths
table.columns[0].width = Inches(2)

# Add content
table.cell(0, 0).text = "Header 1"
table.cell(1, 0).text = "Data 1"

Adding Charts

from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE

chart_data = CategoryChartData()
chart_data.categories = ['East', 'West', 'Midwest']
chart_data.add_series('Sales', (19.2, 21.4, 16.7))

x, y, cx, cy = Inches(2), Inches(2), Inches(6), Inches(4.5)
slide.shapes.add_chart(
    XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data
)

Editing Existing Presentations

prs = Presentation('existing.pptx')

# Access slides
for slide in prs.slides:
    for shape in slide.shapes:
        if shape.has_text_frame:
            print(shape.text_frame.text)

# Modify text
slide = prs.slides[0]
slide.shapes.title.text = "New Title"

prs.save('modified.pptx')

Best Practices

  • Use slide layouts for consistency
  • Keep text minimal, use visuals
  • Use Inches() or Pt() for sizing
  • Save frequently during creation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.726 reviews
  • Luis Thompson· Dec 28, 2024

    Registry listing for pptx matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Dhruvi Jain· Dec 20, 2024

    We added pptx from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Oshnikdeep· Nov 11, 2024

    Useful defaults in pptx — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Ganesh Mohane· Oct 2, 2024

    Registry listing for pptx matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Michael Dixit· Sep 21, 2024

    pptx is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Arya Gonzalez· Aug 12, 2024

    Solid pick for teams standardizing on skills: pptx is focused, and the summary matches what you get after install.

  • Rahul Santra· Jul 15, 2024

    pptx fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Daniel Lopez· Jul 3, 2024

    I recommend pptx for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Hiroshi Liu· Jun 22, 2024

    Keeps context tight: pptx is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Pratham Ware· Jun 6, 2024

    pptx has been reliable in day-to-day use. Documentation quality is above average for community skills.

showing 1-10 of 26

1 / 3