Skillshub apple-notes-performance-tuning

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/jeremylongshore/claude-code-plugins-plus-skills/apple-notes-performance-tuning" ~/.claude/skills/comeonoliver-skillshub-apple-notes-performance-tuning && rm -rf "$T"
manifest: skills/jeremylongshore/claude-code-plugins-plus-skills/apple-notes-performance-tuning/SKILL.md
source content

Apple Notes Performance Tuning

Performance Benchmarks

Operation100 notes1000 notes10000 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