← 返回 Skills 市场
lucaperret

macOS Notes

作者 Luca · GitHub ↗ · v1.0.0
macos ✓ 安全检测通过
772
总下载
0
收藏
2
当前安装
1
版本数
在 OpenClaw 中安装
/install macos-notes
功能描述
Create, read, search, and manage macOS Notes via AppleScript. Use when the user asks to take a note, jot something down, save an idea, create meeting notes,...
使用说明 (SKILL.md)

macOS Notes

Manage Apple Notes via $SKILL_DIR/scripts/notes.sh. Notes content is stored as HTML internally; the script accepts plain text or HTML body and returns plaintext when reading.

Quick start

List folders

Always list folders first to discover accounts and folder names:

"$SKILL_DIR/scripts/notes.sh" list-folders

Output format: account → folder (one per line).

Create a note

echo '\x3Cjson>' | "$SKILL_DIR/scripts/notes.sh" create-note

JSON fields:

Field Required Default Description
title yes - Note title (becomes the first line / heading)
body no "" Note content (plain text — converted to HTML automatically)
html no "" Raw HTML body (overrides body if both provided)
folder no default folder Folder name (from list-folders)
account no default account Account name (from list-folders)

Read a note

echo '\x3Cjson>' | "$SKILL_DIR/scripts/notes.sh" read-note

JSON fields:

Field Required Default Description
name yes - Note title (exact match)
folder no all folders Folder to search in
account no default account Account to search in

List notes

echo '\x3Cjson>' | "$SKILL_DIR/scripts/notes.sh" list-notes

JSON fields:

Field Required Default Description
folder no default folder Folder name
account no default account Account name
limit no 20 Max notes to return

Search notes

echo '\x3Cjson>' | "$SKILL_DIR/scripts/notes.sh" search-notes

JSON fields:

Field Required Default Description
query yes - Text to search for in note titles
account no default account Account to search in
limit no 10 Max results to return

Interpreting natural language

Map user requests to commands:

User says Command Key fields
"Note this down: ..." create-note title, body
"Save meeting notes" create-note title: "Meeting notes — \x3Cdate>", body
"What did I write about X?" search-notes query: "X"
"Show my notes" list-notes (defaults)
"Read my note about X" read-note name: "X"
"Save this in my work notes" create-note Match closest account/folder from list-folders

Example prompts

"Note down the API key format: prefix_xxxx"

echo '{"title":"API key format","body":"Format: prefix_xxxx"}' | "$SKILL_DIR/scripts/notes.sh" create-note

"Show my recent notes"

echo '{}' | "$SKILL_DIR/scripts/notes.sh" list-notes

"What did I write about passwords?"

echo '{"query":"password"}' | "$SKILL_DIR/scripts/notes.sh" search-notes

"Read my note about Hinge"

echo '{"name":"Hinge"}' | "$SKILL_DIR/scripts/notes.sh" read-note

"Create a meeting summary in my iCloud notes"

"$SKILL_DIR/scripts/notes.sh" list-folders

Then:

echo '{"title":"Meeting summary — 2026-02-17","body":"Discussed roadmap.\
- Q1: launch MVP\
- Q2: iterate","account":"iCloud","folder":"Notes"}' | "$SKILL_DIR/scripts/notes.sh" create-note

Critical rules

  1. Always list folders first if the user hasn't specified an account/folder — folder names are reused across accounts
  2. Specify both account and folder when targeting a specific location — folder: "Notes" alone is ambiguous
  3. Password-protected notes are skipped — the script cannot read or modify them
  4. Pass JSON via stdin — never as a CLI argument (avoids leaking data in process list)
  5. All fields are validated by the script (type coercion, range checks) — invalid input is rejected with an error
  6. All actions are logged to logs/notes.log with timestamp, command, and note title
  7. Body uses plain text — newlines in body are converted to \x3Cbr> automatically; use html for rich formatting
  8. Note title = first line — Notes.app treats the first line of the body as the note name
安全使用建议
This skill runs locally on macOS and uses AppleScript (osascript) and python3 — you will likely be prompted to allow automation/accessibility when it first calls Notes.app. It writes an append-only log (logs/notes.log) containing timestamps, commands and note titles in the skill directory; avoid storing secrets in note titles or bodies if you don't want them retained in that log (or edit the script to stop logging). No network calls or extra credentials are requested, but review the script if you want to verify exact behavior or remove logging before use.
功能分析
Type: OpenClaw Skill Name: macos-notes Version: 1.0.0 The OpenClaw AgentSkill 'macos-notes' is benign. It provides legitimate functionality for managing macOS Notes via AppleScript and demonstrates strong security practices. The `SKILL.md` explicitly instructs the agent to pass JSON via stdin (avoiding process list leakage) and notes that all fields are validated and actions logged. The `scripts/notes.sh` script implements these best practices, featuring robust input validation (type, length, range checks) in Python, HTML escaping for note titles, and safe argument passing to `osascript` to prevent shell injection. All operations are logged to `logs/notes.log`, and password-protected notes are explicitly skipped, respecting user privacy. There is no evidence of malicious intent, data exfiltration, or significant vulnerabilities.
能力评估
Purpose & Capability
Name/description (manage macOS Notes via AppleScript) match what the files and SKILL.md do. Required binaries (osascript, python3) are appropriate and nothing unrelated (no cloud creds, no foreign services) is requested.
Instruction Scope
Runtime instructions only call the bundled script which uses AppleScript to read/create/search notes. All actions are local. Important: the skill logs actions (timestamp, command, note title) to logs/notes.log in the skill directory, which may persist sensitive titles or metadata — the README does disclose this. The script also launches Notes.app if not running and will require macOS automation permissions.
Install Mechanism
No install spec (instruction-only) and only local script files are included. Nothing is downloaded or extracted from external URLs, so install risk is low.
Credentials
No environment variables or credentials are required. Use of SKILL_DIR to locate logs/scripts is expected; the script does not attempt to read unrelated config or secrets.
Persistence & Privilege
always:false and user-invocable:true (normal). The skill does not request persistent system-wide privileges or modify other skills. It writes an append-only local log under the skill directory (expected behavior).
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install macos-notes
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /macos-notes 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of macos-notes (v1.0.0): - Create, read, search, and list macOS Notes via AppleScript and shell scripts. - Supports specifying note title, body (plain text or HTML), account, and folder. - Lists folders to identify accounts and folder names before creating or searching notes. - Handles user requests like creating notes, searching, and listing notes using simple JSON input over stdin. - Notes are stored as HTML internally; script ensures plaintext output when reading. - Password-protected notes are skipped and cannot be read or modified. - Actions are logged with command details and timestamps.
元数据
Slug macos-notes
版本 1.0.0
许可证
累计安装 2
当前安装数 2
历史版本数 1
常见问题

macOS Notes 是什么?

Create, read, search, and manage macOS Notes via AppleScript. Use when the user asks to take a note, jot something down, save an idea, create meeting notes,... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 772 次。

如何安装 macOS Notes?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install macos-notes」即可一键安装,无需额外配置。

macOS Notes 是免费的吗?

是的,macOS Notes 完全免费(开源免费),可自由下载、安装和使用。

macOS Notes 支持哪些平台?

macOS Notes 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(macos)。

谁开发了 macOS Notes?

由 Luca(@lucaperret)开发并维护,当前版本 v1.0.0。

💬 留言讨论