Airsc is free for everyone. If it helps you, support it with $2–$20.

Support
PluginSafeIntegrations & automationSome setup

automating-mac-apps-plugin

SpillwaveSolutions · SpillwaveSolutions/automating-mac-apps-plugin

This plugin provides agents, skills, and commands for Claude Code to automate various macOS applications like Calendar, Notes, and Keynote using AppleScript and Python.

Agents, Skills and Commands for automating Keynote, Notes, Reminders, Numbers and more using AppleScript and PyXA (JXA too).

44 stars3License: MITUpdated 2 months ago0 opens

Preview

▍

What you can do with it

  • Automate creating new entries in Reminders or Calendar via natural language commands in Claude Code.
  • Control Keynote or Numbers to generate presentations or spreadsheets with AI assistance.
  • Draft and send emails using the Mail app or manage contacts through Claude Code.

Safety check

Safe

No risky patterns found in the files we scanned.

Automated scan of the repo files. Always review code you run.

From the README

Automating Mac Apps Plugin

Automates macOS apps via Apple Events using AppleScript (discovery), JXA (legacy), and PyXA/Python (preferred). Includes skills for Calendar, Notes, Mail, Keynote, Numbers, Excel, Reminders, Contacts, and more.

Note: This is a plugin for Claude Code. It is not ready for prime time yet. Only use it if you are a developer and want to help test it. I have tested it with Reminders, Keynote, Numbers, Notes, Contactc, Calendar, Messenger (send only), and Mail. It is useful as-is but please report any issues or suggestions. Tested Pages and it did not go well. We could only add basic text. We could paste in images but could not predict where they would end up in the doc. Everything else is woefully short on testing.

What is this Plugin?

  • Automates 16+ Mac applications from Claude Code
  • Uses JavaScript for Automation (JXA) and Python (PyXA)
  • Provides ready-to-use scripts and reference docs
  • Includes commands, agents, and skills
  • Installed from GitHub: SpillwaveSolutions/automating-mac-apps-plugin

AI-Powered Mac Automation

Connect your favorite Mac applications to Claude Code through Apple Events automation. Control Calendar, Notes, Mail, Keynote, Numbers, and more with natural language commands.

Plugin Architecture

The plugin uses a three-layer architecture:

  • Skills Layer: 16 app-specific automation skills with recipes and reference docs
  • Commands Layer: Ready-to-use slash commands for common workflows
  • Agents Layer: Intelligent agents that combine multiple skills

16 Automation Skills

Comprehensive coverage across productivity, communication, and development apps:

  • Productivity: Calendar, Reminders, Notes, Contacts
  • Office: Numbers, Pages, Keynote, Excel, Word, PowerPoint
  • Communication: Mail, Messages
  • Development: Chrome, Web Browser Automation

Automation Workflow

How automation flows from your request to app control:

  1. Natural language request to Claude Code
  2. Skill selection based on context
  3. Script generation (JXA or PyXA)
  4. Apple Events execution
  5. App responds and returns results

Installation

Adding as a Marketplace

/plugin marketplace add SpillwaveSolutions/automating-mac-apps-plugin  

After adding marketplace then you can add skill

Once the plugin is available as a Claude Code marketplace:

claude plugins install automating-mac-apps-plugin

Option 2: Install from GitHub

Clone directly into your Claude skills directory:

# Navigate to Claude skills directory
cd ~/.claude/skills

# Clone the repository
git clone https://github.com/SpillwaveSolutions/automating-mac-apps-plugin.git

# Or clone to a specific location and symlink
git clone https://github.com/SpillwaveSolutions/automating-mac-apps-plugin.git ~/projects/automating-mac-apps-plugin
ln -s ~/projects/automating-mac-apps-plugin ~/.claude/skills/automating-mac-apps-plugin

Option 3: Manual Installation

  1. Download or clone this repository
  2. Copy the plugins/automating-mac-apps-plugin/ folder to ~/.claude/skills/
cp -r plugins/automating-mac-apps-plugin ~/.claude/skills/

Verify Installation

After installation, verify the plugin is recognized:

# List installed plugins
claude plugins list

# Or check the skills directory
ls ~/.claude/skills/

First-Run Setup (macOS Permissions)

Before using the automation skills, you need to grant macOS Automation permissions. Run the setup scripts to trigger permission prompts:

All Apps at Once

cd ~/.claude/skills/automating-mac-apps-plugin
./skills/automating-mac-apps/scripts/request_automation_permissions.sh
# Or use Python:
python3 ./skills/automating-mac-apps/scripts/request_automation_permissions.py

Per-App Setup

Run individual setup scripts as needed:

AppScript
Calendar./skills/automating-calendar/scripts/set_up_calendar_automation.sh
Notes./skills/automating-notes/scripts/set_up_notes_automation.sh
Mail./skills/automating-mail/scripts/set_up_mail_automation.sh
Keynote./skills/automating-keynote/scripts/set_up_keynote_automation.sh
Numbers./skills/automating-numbers/scripts/set_up_numbers_automation.sh
Excel./skills/automating-excel/scripts/set_up_excel_automation.sh
Reminders./skills/automating-reminders/scripts/set_up_reminders_automation.sh
Contacts./skills/automating-contacts/scripts/set_up_contacts_automation.sh
Voice Memos./skills/automating-voice-memos/scripts/set_up_voice_memos_automation.sh

Important: Run scripts from Terminal or the Python interpreter you intend to use for automation. This ensures the correct app (Terminal.app or Python) receives permission approval.

Plugin Contents

automating-mac-apps-plugin/
├── plugins/automating-mac-apps-plugin/   # Plugin payload
│   ├── .claude-plugin/
│   │   └── marketplace.json              # Plugin manifest
│   ├── skills/                           # 16 automation skills
│   │   ├── automating-mac-apps/          # Foundation + core patterns
│   │   ├── automating-calendar/
│   │   ├── automating-contacts/
│   │   ├── automating-excel/
│   │   ├── automating-keynote/
│   │   ├── automating-mail/
│   │   ├── automating-messages/
│   │   ├── automating-notes/
│   │   ├── automating-numbers/
│   │   ├── automating-pages/
│   │   ├── automating-powerpoint/
│   │   ├── automating-reminders/
│   │   ├── automating-voice-memos/
│   │   ├── automating-word/
│   │   ├── automating-chrome/
│   │   └── web-browser-automation/
│   ├── commands/                         # Slash commands
│   │   ├── /csv-to-numbers
│   │   ├── /csv-to-excel
│   │   ├── /excel-to-numbers
│   │   ├── /numbers-to-excel
│   │   ├── /sheet-report
│   │   ├── /doc-to-deck
│   │   ├── /contact-upsert
│   │   ├── /meeting-setup
│   │   ├── /meeting-start
│   │   └── /meeting-end
│   ├── agents/                           #
View source on GitHub