Skill-Details

powerpoint

Direct professional PPTX creation with layouts, visuals, tables, and charts.

ÜbereinstimmungDirektGeprüft für powerpoint-präsentation
Quellealteredcraft/claude-code-pluginsExterne Quelle
Gemeldete Installationen1Nur Popularitätssignal

Vor Nutzung prüfen

Die automatische Prüfung bewertet Relevanz, nicht Sicherheit oder Empfehlung. Lies vor der Nutzung die Quellanweisungen.

Gespeicherte Quellvorschau

SKILL.md

Dieser Auszug wurde bei der Prüfung gespeichert. Die externe Quelle enthält die vollständige und aktuelle Version.

---
name: powerpoint
description: Create professional PowerPoint presentations. Use when asked to "create a PowerPoint", "make a presentation", "build slides", or generate pptx files.
argument-hint: [topic or content outline]
---

# PowerPoint Creator Skill

Create professional PowerPoint presentations programmatically using python-pptx.

## Overview

This skill enables creation of `.pptx` files with:
- Title, section, content, and closing slides
- Bullet points with custom markers
- Visual accents (bars, lines, backgrounds)
- Images, tables, and logos
- Custom color schemes and fonts

## File Management

**All temporary files go in `/tmp/claude/pptx-project/`** to avoid filesystem clutter.

Before starting, ask where to save the final `.pptx`:
- Desktop: `~/Desktop/presentation.pptx`
- Downloads: `~/Downloads/presentation.pptx`
- Current project directory
- A specific path they provide

## Quick Start Workflow

### 1. Set Up Environment

```bash
mkdir -p /tmp/claude/pptx-project && cd /tmp/claude/pptx-project
uv init && uv add python-pptx Pillow
```

### 2. Create Script

Write or adapt a script based on user requirements. Use `scripts/create_presentation.py` as reference.

### 3. Generate and Deliver

```bash
cd /tmp/claude/pptx-project
uv run python create_presentation.py ~/Desktop/presentation.pptx
```

### 4. Cleanup

```bash
rm -rf /tmp/claude/pptx-project
```

## Design Principles

### Avoid Common Pitfalls

**DO NOT create "pastel and bubbly" designs.** Common mistakes:
- Soft, desaturated colors (cream, light teal, soft pink)
- Decorative circles and rounded shapes
- Too much visual clutter

**DO create bold, professional designs:**
- Strong, saturated primary colors
- Sharp rectangles and clean lines
- High contrast between text and background
- Generous whitespace

### Recommended Design Elements

1. **Vertical accent bar** on title slides (left edge)
2. **Solid color backgrounds** for section dividers (use primary color)
3. **Top border line** on content slides
4. **Square bullet markers** instead of text bullets
5. **Dark background** for closing slides (contrast with content)

## Core Imports

```python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN
from pptx.enum.shapes import MSO_SHAPE  # Required for rectangles/shapes
```

## Essential Patterns

### Setting Background Color

```python
def add_background(slide, color: RGBColor):
    """Set slide background to solid color."""
    fill = slide.background.fill
    fill.solid()
    fill.fore_color.rgb = color
```

### Adding Accent Shapes

```python
# Vertical accent bar (title slides)
bar = slide.shapes.add_shape(
    MSO_SHAPE.RECTANGLE,
    left=Inches(0), top=Inches(0),
    width=Inches(0.35), height=Style.SLIDE_HEIGHT
)
bar.fill.solid()
bar.fill.fore_color.rgb = Style.PRIMARY
bar.line.fill.background()  # Remove border

# Horizontal accent line
line = slide.shapes.add_shape(
    MSO_SHAPE.RECTANGLE,
    left=Inches(1), top=Inches(4.5),
    width=Inches(2), height=Inches(0.04)
)
line.fill.solid()
line.fill.fore_color.rgb = Style.ACCENT
line.line.fill.background()
```

### Square Bullet Markers

```python
# Instead of text bullets, use colored squares
for i, bullet in enumerate(bullets):
    y_pos = 1.8 + (i * 1.0)

    # Square marker
    marker = slide.shapes.add_shape(
        MSO_SHAPE.RECTANGLE,
        left=Inches(0.8), top=Inches(y_pos + 0.12),
        width=Inches(0.12), height=Inches(0.12)
    )
    marker.fill.solid()
    marker.fill.fore_color.rgb = Style.PRIMARY
    marker.line.fill.background()

    # Text to the right of marker
    text_box = slide.shapes.add_textbox(
        Inches(1.15), Inches(y_pos), Inches(11), Inches(0.8)
    )
    # ... style text
```

## Slide Types

The template script supports these slide types:

| Type | Use Case | Visual Style |
|------|----------|--------------|
| `title` | Opening slide | White bg, vertical accent bar, horizontal l
Vollständige Quelle auf GitHub lesen (öffnet externe Seite)
Kontext

Verwandte Arbeit