Replace memo-based Apple Notes skill with native osascript workflow - #6480
Replace memo-based Apple Notes skill with native osascript workflow#6480lishix520 wants to merge 1 commit into
Conversation
dc2cd45 to
f6d214d
Compare
teknium1
left a comment
There was a problem hiding this comment.
Thanks for replacing the extra memo dependency with a native macOS path. Current main still requires memo in skills/apple/apple-notes/SKILL.md:13, so the premise is valid.
Problems
skills/apple/apple-notes/SKILL.md:3is 119 characters; modernized skill descriptions must be one sentence, ≤60 characters, and end with a period (AGENTS.md:888-900).skills/apple/apple-notes/SKILL.md:18makesosascriptthe prose interaction surface. Skills must name the Hermesterminaltool for shell work (AGENTS.md:902-914).- The promised append/update, folder creation, and move workflows have no executable procedure:
skills/apple/apple-notes/SKILL.md:104-120contains only advice. Add validated, noninteractive examples/helper scripts or narrow the stated coverage. - This modernization retains
author: Hermes Agentand adds no skill test, contrary toAGENTS.md:926-950.
Suggested changes
- Update the metadata and add a focused
tests/skills/test_apple_notes_skill.py. - Provide safely parameterized AppleScript workflows for each claimed mutation, validated on macOS Notes.
Automated hermes-sweeper review.
| @@ -1,7 +1,7 @@ | |||
| --- | |||
| name: apple-notes | |||
| description: Manage Apple Notes via the memo CLI on macOS (create, view, search, edit). | |||
| version: 1.0.0 | |||
| description: Manage Apple Notes natively on macOS via osascript and Notes automation (read, search, create, append, organize, move). | |||
There was a problem hiding this comment.
This description is 119 characters. Modernized skills require one sentence of at most 60 characters ending with a period (AGENTS.md:888-900); please shorten it before merge.
| --- | ||
|
|
||
| # Apple Notes | ||
|
|
||
| Use `memo` to manage Apple Notes directly from the terminal. Notes sync across all Apple devices via iCloud. | ||
| Use Apple Notes natively through `osascript` and macOS Notes automation. |
There was a problem hiding this comment.
Please name Hermes' terminal tool as the interaction surface here (for example, “Use terminal to run macOS osascript commands”). The skill standards prohibit presenting a shell utility as the headline tool in prose (AGENTS.md:902-914).
| - Choose the correct folder if known | ||
| - Use a clear title and readable structure | ||
|
|
||
| ### Append or Update |
There was a problem hiding this comment.
The PR claims append/update support, but this section supplies only advice. Add a safely parameterized, macOS-validated command or helper script for appending to an identified note; do the same for the claimed folder-create and move workflows.
|
Pushed 1. description ≤60 chars ( 2. 3. Executable procedures for append / folder / move ( 4. author + skill test ( Suggested changes — metadata updated; focused test added at One bug found and fixed during live validation: |
a5a2c46 to
9828a77
Compare
Replace the third-party `memo` CLI dependency with a native macOS `osascript` path driven through a helper script, so the skill works without `brew tap` / `brew install memo`. - SKILL.md: rewritten to the modern section order; description <=60 chars, one sentence ending with a period (AGENTS.md #1); prose names the Hermes `terminal` tool as the interaction surface, not osascript (AGENTS.md #2); `author` credits the human contributor first (AGENTS.md #4) - scripts/apple_notes.py: parameterized, noninteractive helper exposing list-folders, list-notes, search, read, create, append, create-folder, move. AppleScript string building is separated from osascript execution so it is unit-testable (AGENTS.md #6) - tests/skills/test_apple_notes_skill.py: metadata compliance, AppleScript string building/escaping, and CLI dispatch (stdlib + pytest + unittest.mock) - all mutations validated against a live Notes.app scratch folder
9828a77 to
1bc9b2d
Compare
This PR replaces the built-in Apple Notes skill guidance with a native
osascriptworkflow on macOS.Why make this change:
memobrew tap/brew installstepFrom a user-experience standpoint, this is the main improvement: the current skill asks the user to install and trust an extra wrapper CLI before the agent can do anything useful. The native
osascriptpath removes that friction and gives the agent a single built-in access path it can reuse across sessions.What this updated skill covers:
It also keeps the guidance more agent-oriented by preferring append over overwrite, requiring clarification on ambiguity, and documenting practical organization workflows instead of relying on interactive prompts.
The only system requirement is standard macOS Automation permission for Notes, which users already need for any native Apple Notes automation.
I also opened an issue for discussion here: #6478