Agent skill
apple-notes-install-auth
Set up macOS automation access for Apple Notes via AppleScript, JXA, and Shortcuts. Use when configuring accessibility permissions, setting up osascript access, or initializing Apple Notes automation on macOS. Trigger: "setup apple notes", "apple notes automation", "apple notes permissions".
Install this agent skill to your Project
npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/tree/main/plugins/saas-packs/apple-notes-pack/skills/apple-notes-install-auth
SKILL.md
Apple Notes Install & Auth
Overview
Apple Notes has no REST API. Automation uses macOS scripting technologies: AppleScript, JavaScript for Automation (JXA), Shortcuts, and the osascript command-line tool. No SDK to install — but you need macOS accessibility permissions.
Prerequisites
- macOS 13+ (Ventura or later recommended)
- Terminal app or iTerm2
- System Preferences > Privacy & Security > Automation permissions
Instructions
Step 1: Grant Automation Permissions
# macOS requires explicit permission for scripts to control Notes.app
# The first time you run an osascript command targeting Notes, macOS will prompt.
# You can also pre-grant in: System Preferences > Privacy & Security > Automation
# Test basic Notes access (will trigger permission prompt)
osascript -e 'tell application "Notes" to get name of every note in default account'
Step 2: Verify JXA (JavaScript for Automation) Access
# JXA is the modern alternative to AppleScript
# Run JavaScript via osascript with -l JavaScript flag
osascript -l JavaScript -e '
const Notes = Application("Notes");
Notes.includeStandardAdditions = true;
const noteCount = Notes.defaultAccount.notes.length;
`Apple Notes accessible: ${noteCount} notes found`;
'
Step 3: Create a Wrapper Script
#!/bin/bash
# scripts/notes-cli.sh — Wrapper for common Apple Notes operations
case "$1" in
count)
osascript -l JavaScript -e '
const Notes = Application("Notes");
Notes.defaultAccount.notes.length;
'
;;
list)
osascript -l JavaScript -e '
const Notes = Application("Notes");
const notes = Notes.defaultAccount.notes();
notes.slice(0, 20).map(n => `${n.id()} | ${n.name()}`).join("\n");
'
;;
folders)
osascript -l JavaScript -e '
const Notes = Application("Notes");
Notes.defaultAccount.folders().map(f => f.name()).join("\n");
'
;;
*)
echo "Usage: notes-cli.sh {count|list|folders}"
;;
esac
Step 4: Verify Shortcuts Integration
# Apple Shortcuts can also interact with Notes
# Check available shortcuts
shortcuts list | grep -i note
# Run a shortcut that creates a note
shortcuts run "Create Note" --input-path /dev/stdin <<< "Test content"
Automation Technologies
| Technology | Language | Best For | Docs |
|---|---|---|---|
| AppleScript | AppleScript | Simple operations | Apple Scripting Guide |
| JXA | JavaScript | Complex logic, JSON handling | Apple JXA Reference |
| osascript | CLI wrapper | Scripts, CI/CD | man osascript |
| Shortcuts | Visual | Non-developer workflows | Shortcuts app |
| PyXA | Python | Python automation | pyxa.dev |
Output
- macOS automation permissions granted for Notes.app
- JXA access verified with note count
- CLI wrapper script for common operations
- Shortcuts integration confirmed
Error Handling
| Error | Cause | Solution |
|---|---|---|
Not authorized to send Apple events |
Missing automation permission | Grant in System Preferences > Privacy > Automation |
Notes got an error: AppleEvent timed out |
Notes.app not running | Launch Notes first or add activate |
-1743 errAEAppNotAllowed |
Denied by TCC | Reset TCC: tccutil reset AppleEvents |
execution error: Notes is not running |
Notes.app closed | Add tell app "Notes" to activate |
Resources
Next Steps
Proceed to apple-notes-hello-world for your first note creation.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
dockerfile-generator
Dockerfile Generator - Auto-activating skill for DevOps Basics. Triggers on: dockerfile generator, dockerfile generator Part of the DevOps Basics skill category.
branch-naming-helper
Branch Naming Helper - Auto-activating skill for DevOps Basics. Triggers on: branch naming helper, branch naming helper Part of the DevOps Basics skill category.
readme-generator
Readme Generator - Auto-activating skill for DevOps Basics. Triggers on: readme generator, readme generator Part of the DevOps Basics skill category.
makefile-generator
Makefile Generator - Auto-activating skill for DevOps Basics. Triggers on: makefile generator, makefile generator Part of the DevOps Basics skill category.
gitignore-generator
Gitignore Generator - Auto-activating skill for DevOps Basics. Triggers on: gitignore generator, gitignore generator Part of the DevOps Basics skill category.
pre-commit-hook-setup
Pre Commit Hook Setup - Auto-activating skill for DevOps Basics. Triggers on: pre commit hook setup, pre commit hook setup Part of the DevOps Basics skill category.
Didn't find tool you were looking for?