Skill 詳細
keynote creator
Creates and edits Keynote presentations and can export them.
使用前に確認
自動レビューは関連性のみを確認し、安全性や推奨を保証しません。使用前に出典の説明を読んでください。
SKILL.md
これはレビュー時に保存された抜粋です。完全で最新の内容は外部ソースを確認してください。
---
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 herGitHub で全文を読む (外部ページ)