mcpField
M
macos-reminders

macos-reminders

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

macos-reminders について

macos-reminders は、スクリプトを通じて Apple Reminders を管理するスキルです。JSON を標準入力で渡し、日付、リスト、優先度、フラグを指定してリマインダーを作成・一覧表示できます。

主な機能

  1. 01リマインダーリストの表示
  2. 02リマインダーの作成と絞り込み
  3. 03期限・時刻・優先度の設定
  4. 04フラグ付けとメモの追加

活用シーン

  1. 01期限時刻付きのタスク作成
  2. 02選択したリスト内のタスク確認
  3. 03買い物リストへの複数項目の追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lucaperret/agent-skills --skill macos-reminders

インストール後、Claude Code で/macos-remindersを入力して読み込まれたか確認します。

同梱ファイルreferences/priorities.mdscripts/reminders.sh

詳細

macOS Reminders

$SKILL_DIR/scripts/reminders.sh を使用して Apple Reminders を管理します。日付の処理には、ロケールによる問題(FR/EN/DE の日付形式)を避けるため、相対計算(current date + N * days)を常に使用します。

クイックスタート

リマインダーリストを一覧表示する

正しいリスト名を確認するため、まず必ずリマインダーリストを一覧表示します。

"$SKILL_DIR/scripts/reminders.sh" list-lists
リマインダーを作成する
echo '<json>' | "$SKILL_DIR/scripts/reminders.sh" create-reminder

JSON フィールド:

フィールド必須デフォルト説明
nameはい-リマインダーのタイトル
listいいえデフォルトのリストリマインダーリスト名(list-lists から取得)
bodyいいえ""メモ/詳細
offset_daysいいえ-今日からの日数で指定する期限(0=今日、1=明日)
iso_dateいいえ-絶対期限 YYYY-MM-DD(offset_days より優先)
hourいいえ9期限の時(0~23)
minuteいいえ0期限の分(0~59)
priorityいいえ0優先度:0=なし、1=高、5=中、9=低
flaggedいいえfalseフラグを設定する
リマインダーを一覧表示する
echo '<json>' | "$SKILL_DIR/scripts/reminders.sh" list-reminders

JSON フィールド:

フィールド必須デフォルト説明
listいいえすべてのリストリスト名で絞り込む
include_completedいいえfalse完了済みのリマインダーを含める

自然言語の解釈

ユーザーの依頼を JSON フィールドに対応付けます。

ユーザーの発言JSON
「明日の午後2時にリマインドして」offset_days: 1, hour: 14
「3日後にリマインドして」offset_days: 3
「買い物リストに追加して」list: "Shopping"(最も近いリスト名に合わせる)
「優先度高」または「重要」priority: 1, flagged: true
「2月25日の午後3時30分にリマインドして」iso_date: "2026-02-25", hour: 15, minute: 30
「次の月曜日にリマインドして」今日から次の月曜日までの offset_days を計算する
「これにフラグを付けて」flagged: true

「次の月曜日」、「次の金曜日」などの場合:現在の日付を使って日数のオフセットを計算します。必要に応じて date コマンドを使用します。

# Days until next Monday (1=Monday)
target=1; today=$(date +%u); echo $(( (target - today + 7) % 7 ))

プロンプトの例

以下は実際のユーザープロンプトと、実行するコマンドです。

「牛乳を買うようにリマインドして」

"$SKILL_DIR/scripts/reminders.sh" list-lists

次に:

echo '{"name":"Buy milk","list":"Reminders"}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder

「明日の午前10時に歯医者に電話するタスクを追加して」

echo '{"name":"Call the dentist","offset_days":1,"hour":10}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder

「2月28日にレポートを提出するようにリマインドして — 優先度高」

echo '{"name":"Submit the report","iso_date":"2026-02-28","hour":9,"priority":1,"flagged":true}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder

「買い物リストに卵、パン、バターを追加して」

echo '{"name":"Eggs","list":"Shopping"}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder
echo '{"name":"Bread","list":"Shopping"}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder
echo '{"name":"Butter","list":"Shopping"}' | "$SKILL_DIR/scripts/reminders.sh" create-reminder

「リマインダーには何がある?」

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

「仕事のタスクを表示して」

echo '{"list":"Work"}' | "$SKILL_DIR/scripts/reminders.sh" list-reminders

重要なルール

  1. ユーザーがリストを指定していない場合は、必ず最初にリマインダーリストを一覧表示します — 最も近いリスト名を使用します
  2. AppleScript ではハードコードされた日付文字列を使用しないでください — 必ず offset_days または iso_date を使用します
  3. 意図するリストが曖昧な場合は、リスト名をユーザーに確認します
  4. JSON は stdin 経由で渡します — CLI 引数として渡さないでください(プロセス一覧へのデータ漏えいを防ぐため)
  5. すべてのフィールドはスクリプトで検証されます(型の変換、範囲チェック、形式の検証)。無効な入力はエラーメッセージとともに拒否されます
  6. すべての操作は、タイムスタンプ、コマンド、リスト、名前とともに logs/reminders.log に記録されます
  7. 期限は省略可能です — 期限のないリマインダーも有効です(日付未設定のタスク)
  8. 複数の項目:ユーザーが複数の項目を挙げた場合は、項目ごとにリマインダーを1件作成します

コメント