BundledAppleVersion 1.0.1

Manage Apple Notes from the Terminal with memo and Hermes Agent

Manage Apple Notes via memo CLI: create, search, edit.

Written by Neura Market from the official Hermes Agent documentation for Apple Notes. Commands, paths, and version numbers are reproduced from the source unchanged.

Read the official documentation

The apple-notes skill gives Hermes Agent the ability to create, search, edit, and export Apple Notes through the memo command-line tool. If you keep your personal notes in Apple Notes for iCloud sync across iPhone, iPad, and Mac, this skill lets an agent act on them without leaving the terminal. It is bundled with Hermes Agent by default, so no extra installation step is needed inside the agent.

What it does

memo wraps AppleScript automation to talk to Notes.app. You can list every note, filter by folder, fuzzy-search the text, create new notes in a specific folder, edit or delete notes interactively, move notes between folders, and export notes as Markdown or HTML. Because Notes.app syncs through iCloud, anything the agent writes is immediately available on your other devices.

Before you start

  • macOS only. This skill requires Apple Notes.app, which is exclusive to macOS.
  • Install memo. Run these two commands outside the agent:
brew tap antoniorodr/memo && brew install antoniorodr/memo/memo
  • Grant Automation permission. The first time memo runs, macOS will prompt you to allow automation access to Notes.app. If you miss the prompt, go to System Settings → Privacy & Security → Automation and enable the entry for your terminal app (or Hermes Agent's process).
  • Set $EDITOR. The --add flag opens your default terminal editor. If you have not set one, export it before using the skill, for example:
export EDITOR=vim

View Notes

List all notes, filter by folder, or search with fuzzy matching.

memo notes                        # List all notes
memo notes -f "Folder Name"       # Filter by folder
memo notes -s "query"             # Search notes (fuzzy)

The output is a plain list of note titles and their folders. The -s flag matches partial words, so memo notes -s "meet" would find notes containing "meeting", "meetings", or "meetup".

Create Notes

memo notes -a                     # Add a note (opens your $EDITOR)
memo notes -a -f "Folder Name"    # Add a note into a specific folder

-a is a bare flag. It does not take a title argument. It opens whatever editor $EDITOR points to, and when you save and exit, the content becomes the note body. The note title is derived from the first line of the content. If you do not specify a folder with -f, the note lands in the default Notes folder.

Edit Notes

memo notes -e                     # Interactive selection to edit

This presents an interactive picker of your notes. Select one, and memo opens it in $EDITOR. Save and exit to write the changes back to Notes.app.

Delete Notes

memo notes -d                     # Interactive selection to delete

Same interactive picker, but the selected note is deleted permanently. There is no undo, so the agent should confirm with the user before running this.

Move Notes

memo notes -m                     # Move note to folder (interactive)

Pick a note, then pick a destination folder. The note is moved and will appear under the new folder in Notes.app on all synced devices.

Export Notes

memo notes -ex                    # Export to HTML/Markdown

Exports the selected note as both HTML and Markdown. The files are saved to the current working directory. Useful if you want to move a note into Obsidian or another Markdown-based system.

When not to use it

  • Obsidian vault management. If the user wants to work with an Obsidian vault, use the obsidian skill instead.
  • Bear Notes. Bear is a separate app and is not supported by this skill.
  • Quick agent-only notes. If the note does not need to sync to the user's devices, use the memory tool. It is faster and does not require Notes.app.

Limits and gotchas

  • Notes that contain images or attachments cannot be edited through memo. The command will skip them or fail silently.
  • All interactive commands (-e, -d, -m, -ex) require a real terminal. If Hermes Agent is running without a PTY (for example, in a headless service), set pty=true in the agent configuration so the interactive prompts work.
  • macOS only. This skill will not work on Linux or Windows.

Related skills

  • obsidian, for Markdown-native knowledge management with an Obsidian vault.
  • memory, for agent-internal notes that do not need to sync across devices.

Skills the docs pair this with

More Apple skills