apple-notes-custom

Review·Scanned 2/18/2026

This skill integrates with Apple Notes.app via AppleScript and exposes runnable scripts like scripts/notes-search.sh to list, read, create, edit, and delete notes. It executes shell scripts and can access all notes using set noteList to every note, reading from "$HOME/Library/Group Containers/group.com.apple.notes/Accounts/" and writing attachments to /tmp/notes-export/.

from clawhub.ai·vad5def9·31.9 KB·0 installs
Scanned from 1.1.0 at ad5def9 · Transparency log ↗
$ vett add clawhub.ai/shad0wca7/apple-notes-customReview findings below

Apple Notes

Interact with Notes.app via AppleScript. Run scripts from: cd {baseDir}

Commands

CommandUsage
List foldersscripts/notes-folders.sh [--tree] [--counts]
List notesscripts/notes-list.sh [folder] [limit]
Read notescripts/notes-read.sh <name-or-id> [folder]
Create notescripts/notes-create.sh <folder> <title> [body]
Search notesscripts/notes-search.sh <query> [folder] [limit] [--title-only]
Edit notescripts/notes-edit.sh <name-or-id> <new-body> [folder]
Delete notescripts/notes-delete.sh <name> <folder> ⚠️ folder required

Folder Paths

All commands support subfolder paths with / separator:

scripts/notes-list.sh "Scanned/Medical & Health" 10
scripts/notes-read.sh "blood test" "Scanned/Medical & Health"
scripts/notes-create.sh "Property/416 Garfield" "Inspection notes" "Roof looks good"

Folder Tree Structure

This collection has 4000+ notes. Key structure:

  • Scanned — parent folder with many subfolders (Medical & Health, Receipts, etc.)
  • Fetish — parent with subfolders (AW, Bimbo, Events, etc.)
  • Hobbies — parent with subfolders (3d printing, Homelab, etc.)
  • Property — subfolders per address

Use --tree --counts to see the full hierarchy.

Folder Listing

scripts/notes-folders.sh                  # Flat list
scripts/notes-folders.sh --counts         # With note counts
scripts/notes-folders.sh --tree --counts  # Full hierarchy with counts

Listing Notes

scripts/notes-list.sh "Notes" 10                      # Specific folder
scripts/notes-list.sh "Scanned/Receipts" 5             # Subfolder
scripts/notes-list.sh "" 10                             # All folders (shows folder name per note)

Without a folder, output includes the folder column: ID | Date | Folder | Title With a folder: ID | Date | Title

Reading Notes

scripts/notes-read.sh "blood test" "Scanned/Medical & Health"   # By name (partial match)
scripts/notes-read.sh "x-coredata://…/ICNote/p12345"            # By ID (direct lookup, fast)

Output: Title, Folder, Modified date, ID, then body text.

Searching

Title search first (fast), body search fallback (slower):

scripts/notes-search.sh "tax" "" 10                    # All folders
scripts/notes-search.sh "receipt" "Scanned/Receipts" 5  # Specific folder
scripts/notes-search.sh "keyword" "" 10 --title-only    # Skip body search

Output: ID | Date | Folder | Title

Creating Notes

scripts/notes-create.sh "Notes" "My Title" "Body text here"   # With body
scripts/notes-create.sh "Notes" "Empty Note"                    # Title only

Returns the created note's ID.

Editing Notes

scripts/notes-edit.sh "My Note" "New body content" "Notes"              # By name
scripts/notes-edit.sh "x-coredata://…/ICNote/p12345" "New body"         # By ID

Deleting Notes

scripts/notes-delete.sh "Old Note" "Notes"                    # Folder required
scripts/notes-delete.sh "receipt" "Scanned/Receipts"

⚠️ Folder argument is required for safety — prevents accidental matches across 4000+ notes.

Performance Tips

SituationTip
Listing/searching all notesAlways specify a folder — iterating 4000+ notes is slow
Reading a known noteUse the ID from a previous list/search — instant lookup
Searching large foldersUse --title-only if body search isn't needed
Finding the right folderUse --tree --counts first to see hierarchy

Errors

ErrorCause
Error: Can't get folderFolder name doesn't exist or wrong path
No note matching…No partial match found in scope
Empty body textScanned/image-only notes have no extractable text

Technical Notes

  • Partial name matching for read/edit/delete (first match wins)
  • Multiline body supported via temp files
  • Folder names are case-sensitive
  • All user inputs escaped for AppleScript safety (quotes, backslashes)
  • number of used instead of count of (AppleScript reserved word)