phuetz/code-buddy/pptx

Claude Code and agent skill by phuetz/code-buddy

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Create and edit PowerPoint presentations (.pptx): title slides, bullet layouts, tables, images, and speaker notes. Use whenever the user asks to build, modify, or populate a presentation/slide deck/PowerPoint.

Install

npx vskill@latest install phuetz/code-buddy/pptx

SKILL.md

Create & edit PowerPoint with python-pptx

Build real .pptx files with the open-source python-pptx library (python3 -c "import pptx"). Work in visible steps; verify before reporting done.

Workflow

  1. Outline the deck: a title slide + one slide per section; note any tables,

images, or speaker notes.

  1. Write a Python script (heredoc via the bash tool) that builds the deck

with python-pptx and saves it.

  1. Verify: reopen with Presentation(path) and assert the slide count / title;

print(path).

  1. Report the saved path + a one-line summary.

Quality conventions

  • Start with a title slide (slide_layouts[0]), then content slides

(slide_layouts[1] for bullets, slide_layouts[5] "Title Only" for custom layouts/tables).

  • Real bullet lists via the body placeholder's text_frame paragraphs (set .level

for sub-bullets) — not one big text blob.

  • Tables via slide.shapes.add_table(rows, cols, left, top, width, height); bold + fill

the header row.

  • Use a consistent accent color and web-safe fonts (Arial, Calibri) so the deck renders

everywhere; keep ≤ ~6 bullets per slide.

  • Add speaker notes with slide.notes_slide.notes_text_frame.text = "…" when useful.

Example

bash
python3 - <<'PY'
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
p = Presentation()
s = p.slides.add_slide(p.slide_layouts[0])
s.shapes.title.text = 'Q2 Robotics Budget'
s.placeholders[1].text = 'Funding 120k EUR — on track'
s2 = p.slides.add_slide(p.slide_layouts[5]); s2.shapes.title.text = 'Line items'
tbl = s2.shapes.add_table(3, 3, Inches(0.6), Inches(1.6), Inches(8.5), Inches(2)).table
for j, h in enumerate(['Item', 'Cost', 'Status']):
cell = tbl.cell(0, j); cell.text = h
cell.text_frame.paragraphs[0].runs[0].font.bold = True
for i, row in enumerate([['Actuators', '8000', 'ordered'], ['Compute', '3500', 'done']], 1):
for j, v in enumerate(row):
tbl.cell(i, j).text = v
p.save('deck.pptx')
assert len(Presentation('deck.pptx').slides) == 2
print('deck.pptx')
PY

Reading / editing existing files

  • Read: iterate Presentation(path).slides and each shape.text_frame.
  • Edit in place: load, modify shapes/placeholders/tables, save() back; keep the

existing theme, layout, and fonts.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
18
Repository forks
4
7-day trend score
15

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/phuetz/code-buddy/pptx/badge)](https://verified-skill.com/skills/phuetz/code-buddy/pptx)

Something wrong with this skill or its page? Tell us.