From apple-notes-pack
Optimizes Apple Notes automation performance for large collections using SQLite caching, incremental sync, result limiting, and JXA/bash strategies.
How this skill is triggered — by the user, by Claude, or both
Slash command
/apple-notes-pack:apple-notes-performance-tuningThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Operation | 100 notes | 1000 notes | 10000 notes |
| Operation | 100 notes | 1000 notes | 10000 notes |
|---|---|---|---|
| List all | ~0.5s | ~3s | ~30s |
| Search by name | ~0.3s | ~2s | ~20s |
| Full-text search | ~1s | ~8s | ~80s |
| Create note | ~0.2s | ~0.2s | ~0.2s |
| Export all to JSON | ~1s | ~10s | ~100s |
// BAD: Load all notes then slice
const all = Notes.defaultAccount.notes(); // Loads everything
const first10 = all.slice(0, 10);
// BETTER: Specify range (JXA supports this for some operations)
// Unfortunately JXA does not support server-side filtering
// Best approach: cache results locally
# Export to SQLite once, then query locally
osascript -l JavaScript scripts/export-to-sqlite.js
sqlite3 notes-cache.db "SELECT title FROM notes WHERE body LIKE '%project%'"
// Only process notes modified since last sync
const lastSync = new Date(fs.readFileSync(".last-sync", "utf8"));
const modified = allNotes.filter(n => n.modificationDate() > lastSync);
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin apple-notes-packApplies Node.js JXA client patterns for Apple Notes automation: list/create/search notes, batch operations with throttling. Triggers on 'apple notes patterns'. For macOS.
Manages Apple Notes on macOS via MCP tools: create, search, read, update, delete, organize notes and folders.
Searches, retrieves, and discovers connections across the user's own Apple Notes using semantic + keyword search and on-device indexing.