macos-notes について
macos-notesは、スクリプトを使ってApple Notesを管理するスキルで、コマンドラインからノートを作成、検索、閲覧したい人向けです。アカウントやフォルダーを指定するコマンドがあり、JSONは標準入力から渡します。
主な機能
- 01アカウントとフォルダーの一覧表示
- 02プレーンテキストまたはHTMLのノート作成
- 03指定したノートの読み取り
- 04ノート一覧の取得とタイトル検索
- 05標準入力によるJSONの受け渡し
活用シーン
- 01会議メモを指定フォルダーに保存
- 02特定の話題を含むノートを検索
- 03既存ノートを読む
- 04最近のノート一覧を確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lucaperret/ agent-skills --skill macos-notesインストール後、Claude Code で/macos-notesを入力して読み込まれたか確認します。
同梱ファイルscripts/notes.sh
詳細
macOS メモ
$SKILL_DIR/scripts/notes.sh を使って Apple Notes を管理します。メモの内容は内部的には HTML で保存されます。このスクリプトはプレーンテキストまたは HTML の本文を受け取り、読み取り時にはプレーンテキストを返します。
クイックスタート
フォルダーの一覧表示
アカウント名とフォルダー名を確認するため、必ず最初にフォルダーを一覧表示してください。
"$SKILL_DIR/scripts/notes.sh" list-folders
出力形式:account → folder(1 行に 1 件)。
メモを作成する
echo '<json>' | "$SKILL_DIR/scripts/notes.sh" create-note
JSON フィールド:
| フィールド | 必須 | デフォルト | 説明 |
|---|---|---|---|
title | はい | - | メモのタイトル(最初の行/見出しになります) |
body | いいえ | "" | メモの内容(プレーンテキスト。自動的に HTML に変換されます) |
html | いいえ | "" | HTML の本文(両方が指定された場合は body より優先されます) |
folder | いいえ | default folder | フォルダー名(list-folders の出力から指定) |
account | いいえ | default account | アカウント名(list-folders の出力から指定) |
メモを読む
echo '<json>' | "$SKILL_DIR/scripts/notes.sh" read-note
JSON フィールド:
| フィールド | 必須 | デフォルト | 説明 |
|---|---|---|---|
name | はい | - | メモのタイトル(完全一致) |
folder | いいえ | all folders | 検索対象のフォルダー |
account | いいえ | default account | 検索対象のアカウント |
メモを一覧表示する
echo '<json>' | "$SKILL_DIR/scripts/notes.sh" list-notes
JSON フィールド:
| フィールド | 必須 | デフォルト | 説明 |
|---|---|---|---|
folder | いいえ | default folder | フォルダー名 |
account | いいえ | default account | アカウント名 |
limit | いいえ | 20 | 返すメモの最大数 |
メモを検索する
echo '<json>' | "$SKILL_DIR/scripts/notes.sh" search-notes
JSON フィールド:
| フィールド | 必須 | デフォルト | 説明 |
|---|---|---|---|
query | はい | - | メモのタイトルから検索するテキスト |
account | いいえ | default account | 検索対象のアカウント |
limit | いいえ | 10 | 返す結果の最大数 |
自然言語の解釈
ユーザーのリクエストをコマンドに対応付けます。
| ユーザーの発言 | コマンド | 主なフィールド |
|---|---|---|
| 「これをメモして:…」 | create-note | title、body |
| 「会議のメモを保存して」 | create-note | title: "Meeting notes — <date>"、body |
| 「X について何を書いた?」 | search-notes | query: "X" |
| 「メモを見せて」 | list-notes | (デフォルト) |
| 「X についてのメモを読んで」 | read-note | name: "X" |
| 「仕事のメモに保存して」 | create-note | list-folders の出力から最も近い account/folder を指定 |
プロンプトの例
「API キーの形式をメモして:prefix_xxxx」
echo '{"title":"API key format","body":"Format: prefix_xxxx"}' | "$SKILL_DIR/scripts/notes.sh" create-note
「最近のメモを見せて」
echo '{}' | "$SKILL_DIR/scripts/notes.sh" list-notes
「パスワードについて何を書いた?」
echo '{"query":"password"}' | "$SKILL_DIR/scripts/notes.sh" search-notes
「Hinge についてのメモを読んで」
echo '{"name":"Hinge"}' | "$SKILL_DIR/scripts/notes.sh" read-note
「iCloud のメモに会議の要約を作成して」
"$SKILL_DIR/scripts/notes.sh" list-folders
続けて:
echo '{"title":"Meeting summary — 2026-02-17","body":"Discussed roadmap.\n- Q1: launch MVP\n- Q2: iterate","account":"iCloud","folder":"Notes"}' | "$SKILL_DIR/scripts/notes.sh" create-note
重要なルール
- ユーザーがアカウント/フォルダーを指定していない場合は、必ず最初にフォルダーを一覧表示してください — フォルダー名はアカウント間で重複している場合があります
- 特定の場所を指定する場合は、アカウントとフォルダーの両方を指定してください —
folder: "Notes"だけでは場所を特定できません - パスワードで保護されたメモはスキップされます — スクリプトでは読み取りも変更もできません
- JSON は標準入力で渡してください — CLI 引数として渡さないでください(プロセス一覧へのデータ漏えいを防ぎます)
- すべてのフィールドはスクリプトによって検証されます(型変換、範囲チェック) — 無効な入力はエラーとして拒否されます
- すべての操作は、タイムスタンプ、コマンド、メモのタイトルとともに
logs/notes.logに記録されます - 本文にはプレーンテキストを使います —
body内の改行は自動的に<br>に変換されます。リッチな書式を使う場合はhtmlを指定してください - メモのタイトルは最初の行です — Notes.app は本文の最初の行をメモの名前として扱います
コメント
Markdown 対応