From apple-notes-pack
Automates Apple Notes across multiple accounts (iCloud, Gmail, local) and environments using JXA scripting and osascript. For macOS automation setups.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin apple-notes-packThis skill is limited to using the following tools:
```javascript
Sets up macOS permissions for Apple Notes automation with AppleScript, JXA, osascript, and Shortcuts. Includes access tests, CLI wrapper script, and Shortcuts verification.
Manages Apple Notes on macOS: create, search, read, update, delete notes; list and organize folders/accounts via MCP tools. Use for notes-related tasks.
Manages Apple Notes on macOS via memo CLI: create, view, edit, delete, search, move, export notes. For terminal-based note CRUD and organization.
Share bugs, ideas, or general feedback.
// Apple Notes supports multiple accounts simultaneously
const Notes = Application("Notes");
const accounts = Notes.accounts();
// iCloud account (default)
const iCloud = accounts.find(a => a.name() === "iCloud");
// Gmail account
const gmail = accounts.find(a => a.name() === "Gmail");
// On My Mac (local only)
const local = accounts.find(a => a.name() === "On My Mac");
// Target specific account
function createNoteInAccount(accountName, title, body) {
const account = Notes.accounts().find(a => a.name() === accountName);
if (!account) throw new Error(`Account ${accountName} not found`);
const note = Notes.Note({ name: title, body: body });
account.folders[0].notes.push(note);
return note.id();
}
// src/config/environments.ts
interface NotesEnvConfig {
accountName: string;
defaultFolder: string;
autoSync: boolean;
}
const ENVIRONMENTS: Record<string, NotesEnvConfig> = {
personal: { accountName: "iCloud", defaultFolder: "Personal", autoSync: true },
work: { accountName: "Gmail", defaultFolder: "Work", autoSync: true },
local: { accountName: "On My Mac", defaultFolder: "Notes", autoSync: false },
};