| name | keynote-deck |
| description | Generate native Keynote (.key) presentations from markdown, using the user's branded Keynote template. Use when asked to create Keynote slides, a slide deck, or a presentation from markdown or an outline. Renders via md2key + AppleScript for zero-loss native Keynote output — no PowerPoint conversion step. |
Keynote Deck Generator
Turns markdown into a native .key file by pouring content into a branded
Keynote template. The model's job is CONTENT ONLY — structure, wording, speaker
notes. All visual design lives in the Keynote template's master slides, so
never attempt layout, colors, or fonts here.
Pipeline
deck.md ──▶ scripts/generate.sh ──▶ Keynote (AppleScript/md2key) ──▶ deck.key + preview PNGs
Run: ~/.claude/skills/keynote-deck/scripts/generate.sh <markdown-file> [output.key]
The script pins the Homebrew Ruby and md2key paths, launches Keynote by bundle
id (com.apple.Keynote), opens a copy of the user's template, converts, saves,
and exports preview PNGs next to the output.
Workflow
- Locate or author the markdown. If given a file, use it. If given a
topic/outline, author the deck markdown first (see Authoring rules) and
show it to the user before generating.
- Generate: run
generate.sh deck.md output.key.
- Verify — never skip. Read 2–3 of the exported preview PNGs (cover, a
code slide, the densest bullet slide). Check for: text overflowing its box,
code wider than its panel, tables too tall, orphaned single-word bullet
wraps. If found, tighten the markdown (shorter bullets, split slide, trim
code) and regenerate. One regeneration pass is normal.
- Report the .key path. The document is left open in Keynote for hand-tweaks.
Authoring rules
Structure:
# Title — first heading becomes the cover slide; the line(s) after it
become the cover body (subtitle).