Claude Keynote Skill — Development skill for Claude Code
Claude Code skill: read, render and edit Apple Keynote decks, including the LaTeX of every equation.
How to install Claude Keynote Skill
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open aperrault/claude-keynote-skill and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Claude Keynote Skill does
Claude Code skill: read, render and edit Apple Keynote decks, including the LaTeX of every equation.
Alternatives in Development
- Claude Prism — An offline-first scientific writing workspace powered by Claude 1.1k ★
- Obsidian MCP Server — Read, write, search, and surgically edit Obsidian vault notes, tags, and frontmatter via MCP 686 ★
- Compiletex — Compile LaTeX and report errors/warnings 446 ★
README
claude-keynote-skill
A [Claude Code](https://docs.anthropic.com/en/docs/claude-code) skill for reading, rendering and editing Apple Keynote decks on macOS — including the LaTeX of every equation, which no AppleScript interface exposes.
Two layers, used together:
scripts/keynote.py |
scripts/keynote_iwa.py |
|
|---|---|---|
| mechanism | AppleScript/JXA against the running Keynote | edits the .key package directly (via keynote-parser) |
| reads | text, presenter notes, layouts, images, geometry; renders slides to JPEG | text with inline $latex$, every equation's source |
| writes | notes, plain text, text boxes, images, slides (add / move / delete / rebuild), sizes | equation LaTeX (edit and create), text that contains math, paragraph/list styles |
| needs Keynote | open (opens it for you) | closed — refuses to run otherwise |
Why the package layer: each Keynote equation is a rendered PDF plus its LaTeX source; Keynote re-typesets from the source on open, so editing math is editing a string, and new equations need no PDF. Details in `SKILL.md`.
Install
git clone https://github.com/aperrault/claude-keynote-skill ~/.claude/skills/keynote
Requirements: macOS with Keynote (tested on Keynote 15.1.1; keynote-parser officially supports ≤ 14.5 but round-trips 15.x decks), Python 3.11+, and [`uv`](https://docs.astral.sh/uv/) (the package layer runs as `uv run --with keynote-parser --with pyyaml python scripts/keynote_iwa.py …`). The first AppleScript call prompts for Automation permission.
Safety
This tool rewrites presentation files, so it is built around not losing work:
- every package edit backs the deck up first; mutating AppleScript commands
keep a rolling backup (
keynote.py backups DECKlists them); save/closewait until the bytes are on disk and fail loudly if Keynote did not write (Keynote's save is asynchronous — a close right after a save can cancel the wri
Related Skills
Cut Lesson
Edit a recorded lesson end to end - intake, editorial read, cut, captions, gates, render
Beamer To Ltx Talk
Claude Code (or any other agent) skill for converting LaTeX Beamer slide decks to the accessible, tagged-PDF l
Deck Editor Skill
Slides that ship as one HTML file — and edit themselves. A Claude Code skill: 1280x720 decks that print to 16:
Scaffold Block
Scaffold a Gutenberg custom block (block.json, edit/save JS, optional render callback, PHPUnit stub)
A2 Help
Look up quick reference information for Apple II 6502/65C02 development. Read and use the files in the referen
Forgeflow Command Capability
Render a read-only matrix of Forgeflow command coverage across host surfaces
Related Agents
Edit Planner
Produces camera-config.json from moments.json + alignment.json. Call this after record and narrate succeed and
Paper Critic
Adversarial auditor for LaTeX papers. Read-only with respect to project\
Paper Analyst
Read-only research analyst — deep-reads ONE arXiv paper's LaTeX source and returns a typed relevance verdict a