Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Integrate with the macOS Notes app (Apple Notes). Supports creating, listing, reading, updating, deleting, and searching notes via a simple Node.js CLI that bridges to AppleScript.
Integrate with the macOS Notes app (Apple Notes). Supports creating, listing, reading, updating, deleting, and searching notes via a simple Node.js CLI that bridges to AppleScript.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
This skill lets the agent talk to Apple Notes on macOS using AppleScript (via osascript). It is implemented as a small Node.js CLI: node skills/mac-notes-agent/cli.js <command> [options] Requires macOS with the built-in Notes app and osascript available. All operations target the default Notes account. Optionally you can specify which folder to use.
node skills/mac-notes-agent/cli.js add \ --title "Meeting notes" \ --body "First line\nSecond line\nThird line" \ [--folder "Jarvis"] --title (required): Note title --body (required): Note body text. Use \n for line breaks. --folder (optional): Folder name. If omitted, uses system default folder. If folder doesn't exist, it will be created. Line breaks (\n) are converted to <br> tags internally for proper rendering in Notes. Result (JSON): { "status": "ok", "id": "Jarvis::2026-02-09T08:40:00::Meeting notes", "title": "Meeting notes", "folder": "Jarvis" }
node skills/mac-notes-agent/cli.js list [--folder "Jarvis"] [--limit 50] Lists notes in the given folder (or all folders if omitted). Output is JSON array with title, folder, creationDate, and synthetic id.
# By folder + title node skills/mac-notes-agent/cli.js get \ --folder "Jarvis" \ --title "Meeting notes" # By synthetic id node skills/mac-notes-agent/cli.js get --id "Jarvis::2026-02-09T08:40:00::Meeting notes"
node skills/mac-notes-agent/cli.js update \ --folder "Jarvis" \ --title "Meeting notes" \ --body "New content\nReplaces everything" Replaces the entire body of the matching note. Can also use --id for identification.
node skills/mac-notes-agent/cli.js append \ --folder "Jarvis" \ --title "Meeting notes" \ --body "\n---\nAdditional notes here" Appends new content to the end of the existing note.
node skills/mac-notes-agent/cli.js delete \ --folder "Jarvis" \ --title "Meeting notes"
node skills/mac-notes-agent/cli.js search \ --query "keyword" \ [--folder "Jarvis"] \ [--limit 20] Searches note titles and bodies for the keyword.
Apple Notes doesn't expose stable IDs. This CLI uses: Primary key: (folderName, title) Synthetic ID: folderName::creationDate::title When multiple notes share the same title, the CLI operates on the most recently created one.
macOS only: Uses AppleScript via osascript No npm dependencies: Uses only Node.js built-ins (child_process)
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.