macos-reminders について
macos-reminders は、スクリプトを通じて Apple Reminders を管理するスキルです。JSON を標準入力で渡し、日付、リスト、優先度、フラグを指定してリマインダーを作成・一覧表示できます。
主な機能
- 01リマインダーリストの表示
- 02リマインダーの作成と絞り込み
- 03期限・時刻・優先度の設定
- 04フラグ付けとメモの追加
活用シーン
- 01期限時刻付きのタスク作成
- 02選択したリスト内のタスク確認
- 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
重要なルール
- ユーザーがリストを指定していない場合は、必ず最初にリマインダーリストを一覧表示します — 最も近いリスト名を使用します
- AppleScript ではハードコードされた日付文字列を使用しないでください — 必ず
offset_daysまたはiso_dateを使用します - 意図するリストが曖昧な場合は、リスト名をユーザーに確認します
- JSON は stdin 経由で渡します — CLI 引数として渡さないでください(プロセス一覧へのデータ漏えいを防ぐため)
- すべてのフィールドはスクリプトで検証されます(型の変換、範囲チェック、形式の検証)。無効な入力はエラーメッセージとともに拒否されます
- すべての操作は、タイムスタンプ、コマンド、リスト、名前とともに
logs/reminders.logに記録されます - 期限は省略可能です — 期限のないリマインダーも有効です(日付未設定のタスク)
- 複数の項目:ユーザーが複数の項目を挙げた場合は、項目ごとにリマインダーを1件作成します
コメント
Markdown 対応