Skip to content
Back to skills

Apple Notes Applescript Manager

ASecurity

Apple Notes.app integration for macOS. List folders, read, create, search, edit, and delete notes via AppleScript.

  • 19 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 19, 2026
ai-agentsgobashperformance

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add rondoflow/rondoflow --skill apple-notes-applescript-manager --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Apple Notes Applescript Manager?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Apple Notes Applescript Manager
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rondoflow-apple-notes-applescript-manager/badge)](https://www.skillsdirectory.com/skills/rondoflow-apple-notes-applescript-manager)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: apple-notes-applescript-manager
description: "Apple Notes.app integration for macOS. List folders, read, create, search, edit, and delete notes via AppleScript."
category: "Productivity"
author: community
version: "1.1.0"
icon: check-square
---

# Apple Notes

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

## Commands

| Command | Usage |
|---------|-------|
| List folders | `scripts/notes-folders.sh [--tree] [--counts]` |
| List notes | `scripts/notes-list.sh [folder] [limit]` |
| Read note | `scripts/notes-read.sh <name-or-id> [folder]` |
| Create note | `scripts/notes-create.sh <folder> <title> [body]` |
| Search notes | `scripts/notes-search.sh <query> [folder] [limit] [--title-only]` |
| Edit note | `scripts/notes-edit.sh <name-or-id> <new-body> [folder]` |
| Delete note | `scripts/notes-delete.sh <name> <folder>` ⚠️ folder required |

## Folder Paths

All commands support subfolder paths with `/` separator:

```bash
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

```bash
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

```bash
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

```bash
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):

```bash
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

```bash
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

```bash
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

```bash
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

| Situation | Tip |
|-----------|-----|
| Listing/searching all notes | **Always specify a folder** — iterating 4000+ notes is slow |
| Reading a known note | Use the **ID** from a previous list/search — instant lookup |
| Searching large folders | Use `--title-only` if body search isn't needed |
| Finding the right folder | Use `--tree --counts` first to see hierarchy |

## Errors

| Error | Cause |
|-------|-------|
| `Error: Can't get folder` | Folder name doesn't exist or wrong path |
| `No note matching…` | No partial match found in scope |
| Empty body text | Scanned/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)

Files in this skill

  • SKILL.md4.3 KB
  • manifest.json346 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…