Skill-Details

keynote creator

Creates and edits Keynote presentations and can export them.

ÜbereinstimmungDirektGeprüft für erstellen von präsentationen
Quellenevamind-ai/memubotExterne Quelle
Gemeldete Installationen28Nur 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: Keynote Creator
description: Guide for creating and editing Keynote presentations using AppleScript via bash
---

# Keynote Creator Skill

This skill guides you on how to create and manipulate Keynote presentations on macOS using AppleScript.

## When to Use

Create a Keynote presentation when the user asks to:
- Create a presentation/slideshow/PPT
- Generate slides from documents, reports, or data
- Make a pitch deck, proposal, or summary presentation
- Convert content into visual presentation format

## Workflow

1. **Open Keynote** (for visual demo): Use `macos_show(app: "keynote")` if visual mode is enabled
2. **Create presentation**: Use bash with AppleScript
3. **Add slides**: Use AppleScript to add and configure slides
4. **Set content**: Add titles, body text, and images
5. **Export**: Save as .key or export to PDF

## CRITICAL: Stability Best Practices

**ALWAYS use a SINGLE AppleScript to create the entire presentation.** Do NOT run multiple separate scripts.

Why this matters:
- Each `osascript` invocation may restart Keynote's scripting bridge
- Multiple rapid scripts cause Keynote to crash or become unresponsive
- A single comprehensive script is much more stable

**Bad approach** (causes crashes):
```bash
# Script 1: Create document
osascript -e 'tell application "Keynote" to make new document'
# Script 2: Add slide 1
osascript -e 'tell application "Keynote" to tell front document to make new slide'
# Script 3: Set title
osascript -e 'tell application "Keynote" to tell front document to ...'
# This will likely crash!
```

**Good approach** (stable):
```bash
osascript << 'EOF'
tell application "Keynote"
    activate
    delay 1  -- Wait for Keynote to fully launch
    
    -- Do ALL operations in ONE script
    set newDoc to make new document with properties {document theme:theme "White"}
    delay 0.5  -- Brief pause after creating document
    
    tell newDoc
        -- All slides and content in one block
        ...
    end tell
end tell
EOF
```

**Required delays:**
- After `activate`: `delay 1` (let app fully launch)
- After `make new document`: `delay 0.5`
- After adding each slide: `delay 0.3` (optional but recommended for many slides)

## AppleScript Patterns

### Create New Presentation

```bash
osascript << 'EOF'
tell application "Keynote"
    activate
    set newDoc to make new document with properties {document theme:theme "White"}
    return name of newDoc
end tell
EOF
```

**Available themes**: "White", "Black", "Gradient", "Classic", "Modern Type", "Showcase", "Photo Essay", "Bold", "Industrial", "Blueprint"

### Add a Slide

```bash
osascript << 'EOF'
tell application "Keynote"
    tell front document
        -- Add slide with specific layout
        set newSlide to make new slide with properties {base slide:master slide "Title - Center"}
    end tell
end tell
EOF
```

**Common master slides (layouts)**:
- `"Title - Center"` - Title and subtitle centered
- `"Title - Top"` - Title at top with content area
- `"Title & Subtitle"` - Classic title slide
- `"Title & Bullets"` - Title with bullet points
- `"Title, Bullets & Photo"` - Title, bullets, and image
- `"Bullets"` - Full slide bullet points
- `"Photo"` - Full slide image
- `"Photo - Horizontal"` - Landscape photo layout
- `"Quote"` - Quote layout
- `"Blank"` - Empty slide

### Set Slide Title and Body

```bash
osascript << 'EOF'
tell application "Keynote"
    tell front document
        tell current slide
            -- Set title
            set object text of default title item to "Your Title Here"
            
            -- Set body text (for slides with body placeholder)
            set object text of default body item to "• Point 1
• Point 2
• Point 3"
        end tell
    end tell
end tell
EOF
```

### Add Text Box with Custom Position

```bash
osascript << 'EOF'
tell application "Keynote"
    tell front document
        tell current slide
            set newText to make new text item with properties {object text:"Custom text her
Vollständige Quelle auf GitHub lesen (öffnet externe Seite)
Kontext

Verwandte Arbeit