Apple notes performance tuning
Optimize Apple Notes automation performance for large note collections. Trigger: "apple notes performance".From its SKILL.md
npx -y skills add ComeOnOliver/skillshub --skill apple-notes-performance-tuningAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
1.7 KB, 374 tokens by cl100k_base, as published. Nobody here has run it
Apple Notes Performance Tuning
Performance Benchmarks
| 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 |
Optimization Strategies
1. Limit Results
// 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
2. Local SQLite Cache
# 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%'"
3. Incremental Sync
// Only process notes modified since last sync
const lastSync = new Date(fs.readFileSync(".last-sync", "utf8"));
const modified = allNotes.filter(n => n.modificationDate() > lastSync);
Resources
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.