mcpField
M
macos-notes

macos-notes

github.com/lucaperret生産性743 回インストール32 週間前に更新
リポジトリ

macos-notes について

macos-notesは、スクリプトを使ってApple Notesを管理するスキルで、コマンドラインからノートを作成、検索、閲覧したい人向けです。アカウントやフォルダーを指定するコマンドがあり、JSONは標準入力から渡します。

主な機能

  1. 01アカウントとフォルダーの一覧表示
  2. 02プレーンテキストまたはHTMLのノート作成
  3. 03指定したノートの読み取り
  4. 04ノート一覧の取得とタイトル検索
  5. 05標準入力によるJSONの受け渡し

活用シーン

  1. 01会議メモを指定フォルダーに保存
  2. 02特定の話題を含むノートを検索
  3. 03既存ノートを読む
  4. 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-notetitle、body
「会議のメモを保存して」create-notetitle: "Meeting notes — <date>"、body
「X について何を書いた?」search-notesquery: "X"
「メモを見せて」list-notes(デフォルト)
「X についてのメモを読んで」read-notename: "X"
「仕事のメモに保存して」create-notelist-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

重要なルール

  1. ユーザーがアカウント/フォルダーを指定していない場合は、必ず最初にフォルダーを一覧表示してください — フォルダー名はアカウント間で重複している場合があります
  2. 特定の場所を指定する場合は、アカウントとフォルダーの両方を指定してください — folder: "Notes" だけでは場所を特定できません
  3. パスワードで保護されたメモはスキップされます — スクリプトでは読み取りも変更もできません
  4. JSON は標準入力で渡してください — CLI 引数として渡さないでください(プロセス一覧へのデータ漏えいを防ぎます)
  5. すべてのフィールドはスクリプトによって検証されます(型変換、範囲チェック) — 無効な入力はエラーとして拒否されます
  6. すべての操作は、タイムスタンプ、コマンド、メモのタイトルとともに logs/notes.log に記録されます
  7. 本文にはプレーンテキストを使います — body 内の改行は自動的に <br> に変換されます。リッチな書式を使う場合は html を指定してください
  8. メモのタイトルは最初の行です — Notes.app は本文の最初の行をメモの名前として扱います

コメント