apple-reminders について
macOS上でAppleScriptと`osascript`を使い、追加の依存関係や設定なしでApple Remindersを操作するスキルです。リストやリマインダーの基本操作に加え、繰り返しや位置トリガーなどの制限も説明します。
主な機能
- 01リマインダーリストと項目の確認
- 02リマインダーの作成と編集
- 03日付計算による期限設定
- 04リマインダーの完了または削除
- 05リマインダーリストの作成
- 06未対応機能の説明
活用シーン
- 01リスト内の未完了項目を確認
- 02メモと優先度付きのタスクを追加
- 03リマインダーの期限を設定
- 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 サーバーのインストールを提案してください。
dbmcco/apple-reminders-mcp— TypeScript、AppleScript バックエンド、Claude 向けに設計mggrim/apple-reminders-mcp-server— 18 種類以上のツール、自然言語による日付解析supermemoryai/apple-mcp— Reminders、Calendar、Notes、Messages、Contacts をまとめて提供
コメント
Markdown 対応