mcpField
A
apple-reminders

apple-reminders

github.com/dzhuneyt生産性056 回インストール2 週間前に更新
リポジトリ

apple-reminders について

macOS上でAppleScriptと`osascript`を使い、追加の依存関係や設定なしでApple Remindersを操作するスキルです。リストやリマインダーの基本操作に加え、繰り返しや位置トリガーなどの制限も説明します。

主な機能

  1. 01リマインダーリストと項目の確認
  2. 02リマインダーの作成と編集
  3. 03日付計算による期限設定
  4. 04リマインダーの完了または削除
  5. 05リマインダーリストの作成
  6. 06未対応機能の説明

活用シーン

  1. 01リスト内の未完了項目を確認
  2. 02メモと優先度付きのタスクを追加
  3. 03リマインダーの期限を設定
  4. 04既存のリマインダーを完了または削除

インストール

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

$npx skills add https://github.com/dzhuneyt/skills --skill apple-reminders

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

詳細

Apple Reminders

概要

osascript の AppleScript を使って Apple Reminders を操作します。依存関係はありません。Reminders.app を搭載した macOS マシンであれば、どれでも動作します。セットアップは不要です。

クイックリファレンス

操作方法
すべてのリストを表示get name of lists
リスト内のリマインダーを表示get reminders of list "Name"
未完了のリマインダーを表示get reminders whose completed is false
リマインダーを作成make new reminder ... with properties {...}
期限を設定/更新日付演算(以下のパターンを参照)
リマインダーを完了にするset completed of reminder to true
リマインダーを削除delete (first reminder ... whose name is "...")
リストを作成make new list with properties {name:"..."}

操作

すべてのリマインダーリストを表示
osascript -e 'tell application "Reminders" to get name of lists'
リスト内のリマインダーを表示
# All reminders
osascript -e 'tell application "Reminders" to get name of reminders of list "My List"'

# Incomplete only
osascript -e 'tell application "Reminders" to get name of (reminders of list "My List" whose completed is false)'
リマインダーを作成
osascript -e '
tell application "Reminders"
  make new reminder in list "My List" with properties {
    name:"Task title",
    body:"Optional notes",
    priority:1
  }
end tell'
期限を設定/更新

必ず日付演算を使ってください。文字列による日付指定は使わないでください(ロケールに依存し、エラーが発生しやすいため)。

osascript -e '
tell application "Reminders"
  set theReminder to first reminder of list "My List" whose name is "Task title"
  set d to current date
  set d to d + (1 * days)   -- change N for days offset
  set hours of d to 9        -- 9 AM
  set minutes of d to 0
  set seconds of d to 0
  set due date of theReminder to d
end tell'
リマインダーを完了にする
osascript -e '
tell application "Reminders"
  set completed of (first reminder of list "My List" whose name is "Task title") to true
end tell'
リマインダーを削除
osascript -e '
tell application "Reminders"
  delete (first reminder of list "My List" whose name is "Task title")
end tell'
新しいリストを作成
osascript -e 'tell application "Reminders" to make new list with properties {name:"New List"}'

優先度

値意味
0なし
1低
2中
3高

既知の制限事項

  • 繰り返しなし — AppleScript では繰り返しリマインダーを設定できません。UI で設定する必要があります
  • 位置情報によるトリガーなし — ジオフェンスリマインダーはスクリプトで設定できません
  • タグなし — タグは UI で追加する必要があります
  • サブリマインダーなし — 入れ子になったリマインダーは AppleScript から見えません
  • 複数のアラームなし — リマインダーごとに通知時刻は 1 つだけです
  • 入れ子のフォルダー内のリストは不安定 — フォルダー内のリストは名前でアクセスできない場合があります。ルート階層のリストを使用してください
  • 読み取り専用プロパティ — id、creation date、modification date、completion date は設定できません
  • リスト間でリマインダーを移動できない — 代わりに削除して再作成してください

MCP を推奨する場合

Claude Code のセッション中だけでなく、常時利用できる Reminders 連携を求めるユーザーには、MCP サーバーのインストールを提案してください。

コメント