Apple Reminders Skill - CLIからのAppleリマインダー管理をClawdbotに統合
Clawdbot向けApple Reminders Skillを利用して、remindctlCLIを通じたターミナルベースのリマインダー作成・編集・完了管理を実現する方法を解説します。
Apple Reminders Skill - CLIからのAppleリマインダー管理をClawdbotに統合
概要
Clawdbot向けApple Reminders Skillは、macOS標準のApple Reminders(リマインダー)アプリをターミナルから操作する機能を提供するスキルである。steipete氏が開発したremindctl CLIをバックエンドとして利用し、リマインダーの一覧表示、作成、編集、完了、削除、リスト管理などをコマンドラインから実行できる。
本スキルは日付フィルタ(今日、明日、今週、期限超過等)、JSON/プレーンテキスト出力形式、スクリプト統合に対応しており、GTD(Getting Things Done)等のタスク管理手法との親和性が高い。
技術的仕様
システム要件
- macOS(Apple Reminders.appがインストールされている環境)
- Homebrew(推奨インストール方法)
- Node.js(pnpmを使用した手動インストールの場合)
- システム設定でのReminders権限(Reminders.appへのアクセス許可)
インストール方法
Homebrew経由(推奨):
brew install steipete/tap/remindctl
ソースからビルド(pnpm):
git clone https://github.com/steipete/remindctl.git
cd remindctl
pnpm install
pnpm build
# バイナリは ./bin/remindctl に生成される
初期設定
権限確認:
remindctl status
アクセス権限のリクエスト:
remindctl authorize
初回実行時、macOSのシステムダイアログでReminders.appへのアクセス許可が要求される。システム設定 > プライバシーとセキュリティ > Reminders で、ターミナルまたはremindctlへのアクセスを許可する。
主要機能
1. リマインダー一覧表示(日付フィルタ)
今日のリマインダー(デフォルト):
remindctl
# または
remindctl today
明日のリマインダー:
remindctl tomorrow
今週のリマインダー:
remindctl week
期限超過のリマインダー:
remindctl overdue
今後のリマインダー:
remindctl upcoming
完了済みリマインダー:
remindctl completed
すべてのリマインダー:
remindctl all
特定日付のリマインダー:
remindctl 2026-02-20
2. リスト管理
リスト一覧:
remindctl list
特定リストのリマインダー表示:
remindctl list 仕事
リスト作成:
remindctl list プロジェクト --create
リスト名変更:
remindctl list 仕事 --rename オフィス
リスト削除:
remindctl list 仕事 --delete
3. リマインダー作成
クイック追加:
remindctl add "牛乳を買う"
リストと期限を指定:
remindctl add --title "母に電話" --list 個人 --due tomorrow
4. リマインダー編集
タイトルと期限の変更:
remindctl edit 1 --title "新しいタイトル" --due 2026-02-20
5. リマインダー完了
ID指定で完了:
remindctl complete 1 2 3
6. リマインダー削除
ID指定で削除(強制削除):
remindctl delete 4A83 --force
7. 出力形式
JSON形式(スクリプト統合):
remindctl today --json
プレーンTSV形式:
remindctl today --plain
件数のみ表示:
remindctl today --quiet
実装例
例1: 毎朝の日次レビュースクリプト(Bash)
#!/bin/bash
# daily-review.sh
echo "=== 今日のリマインダー ==="
remindctl today
echo ""
echo "=== 期限超過のリマインダー ==="
remindctl overdue
echo ""
echo "=== 今週のリマインダー ==="
remindctl week --quiet
echo "件のリマインダーが今週中に期限を迎えます"
例2: Node.jsによるJSON出力の解析
const { exec } = require('child_process');
const util = require('util');
const execPromise = util.promisify(exec);
async function getTodayReminders() {
try {
const { stdout } = await execPromise('remindctl today --json');
const reminders = JSON.parse(stdout);
console.log(`今日のリマインダー: ${reminders.length}件`);
reminders.forEach((reminder, index) => {
console.log(`${index + 1}. ${reminder.title} (期限: ${reminder.dueDate})`);
});
return reminders;
} catch (error) {
console.error('Error fetching reminders:', error);
}
}
getTodayReminders();
例3: 期限超過リマインダーのSlack通知
#!/bin/bash
# notify-overdue.sh
OVERDUE_COUNT=$(remindctl overdue --quiet)
if [ "$OVERDUE_COUNT" -gt 0 ]; then
MESSAGE="⚠️ 期限超過のリマインダーが${OVERDUE_COUNT}件あります"
# Slack Webhook経由で通知(環境変数SLACK_WEBHOOK_URLに設定)
curl -X POST -H 'Content-type: application/json' \
--data "{\"text\":\"$MESSAGE\"}" \
"$SLACK_WEBHOOK_URL"
fi
例4: Clawdbot統合スクリプト(リマインダー自動作成)
// auto-create-reminder.js
const { exec } = require('child_process');
const util = require('util');
const execPromise = util.promisify(exec);
async function createReminderFromMessage(message) {
// メッセージから日付とタイトルを抽出(簡易パース)
const dateMatch = message.match(/(\d{4}-\d{2}-\d{2})/);
const title = message.replace(dateMatch ? dateMatch[0] : '', '').trim();
const dueDate = dateMatch ? dateMatch[1] : 'tomorrow';
try {
const command = `remindctl add --title "${title}" --list Clawdbot --due ${dueDate}`;
await execPromise(command);
console.log(`リマインダー作成: ${title} (期限: ${dueDate})`);
} catch (error) {
console.error('Error creating reminder:', error);
}
}
// 使用例
createReminderFromMessage("2026-02-20 プロジェクト報告書を提出");
例5: 週次レポート生成(完了済みリマインダーの集計)
#!/bin/bash
# weekly-report.sh
WEEK=$(date +%Y-W%V)
OUTPUT_FILE="weekly-report-${WEEK}.txt"
echo "週次レポート ${WEEK}" > "$OUTPUT_FILE"
echo "===================" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "完了済みリマインダー:" >> "$OUTPUT_FILE"
remindctl completed --plain >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "来週のリマインダー:" >> "$OUTPUT_FILE"
remindctl upcoming --plain | head -n 20 >> "$OUTPUT_FILE"
echo "レポートを${OUTPUT_FILE}に保存しました"
ユースケース
1. GTD(Getting Things Done)実装
受信箱(Inbox)リストにリマインダーを追加し、定期的にレビューして適切なリストに振り分ける。
2. ポモドーロテクニック統合
作業セッション開始時に今日のリマインダーを確認し、完了後に自動的に完了マークを付ける。
3. チームタスク管理
Slack/Discord等のチャットツールと連携し、期限超過のタスクを自動通知する。
4. AI音声アシスタント連携
Clawdbotの音声認識機能と組み合わせ、「明日の15時にミーティングのリマインダーを追加」といった自然言語コマンドからリマインダーを作成する。
制限事項・セキュリティ考慮事項
制限事項
- macOS専用: Apple Reminders.appに依存するため、Windows/Linuxでは利用不可
- リマインダーID: リマインダーIDは現在のフォルダに相対的であり、フォルダ変更後は再度リスト表示が必要
- 複雑な繰り返しタスク: 繰り返しタスク(毎週月曜日等)の設定はCLIから制限される場合がある
- 添付ファイル非対応: リマインダーへの画像やファイル添付はCLI経由では実行できない
セキュリティ考慮事項
-
Reminders権限:
- システム設定 > プライバシーとセキュリティ > Reminders で、ターミナルまたはremindctlへのアクセス許可が必要
- SSH経由で実行する場合、SSHセッションを実行するMac側で許可設定を行う
-
データアクセス権限:
remindctlはApple Remindersのすべてのリストとリマインダーにアクセス可能- 機密情報(パスワード等)をリマインダーのタイトルに含めないこと
-
JSON出力のセキュリティ:
--jsonオプションで出力されるデータには全リマインダー情報が含まれる- スクリプトでJSON出力を処理する際、ログファイルや一時ファイルに機密情報を残さないよう注意
-
スクリプト実行環境:
- 自動化スクリプトに認証情報やAPIキーを直接記述しないこと
- 環境変数やシークレット管理ツール(1Password CLI等)を利用する
参考リンク
- remindctl GitHub: https://github.com/steipete/remindctl
- Apple Reminders公式サイト: https://www.apple.com/jp/macos/reminders/
- Getting Things Done(GTD): https://gettingthingsdone.com/
- Clawdbot公式サイト: https://clawdbot.com
本記事の情報は2026年2月15日時点のものです。各ツールの機能や仕様は変更される可能性があります。最新情報は各公式サイトおよびGitHubリポジトリをご確認ください。
関連記事
Clawdbot Things Mac Skill - Things 3タスク管理自動化
Clawdbot向けThings Mac Skillを利用して、Things 3 CLIによるタスク追加・検索・更新を自動化する方法を解説します。
Apple Notes Skill - CLIからのApple Notesメモ管理をClawdbotに統合
Clawdbot向けApple Notes Skillを利用して、memoCLIを通じたターミナルベースのメモ作成・検索・編集・削除を実現する方法を解説します。
Bear Notes Skill - Clawdbot向けノート管理機能
Clawdbot向けBear Notes Skillを利用して、grizzly CLIによるBearアプリのノート作成・検索・管理を実現する方法を解説します。
人気記事
ChatGPT(OpenAI)とClaude(Anthropic)の機能比較 2026年版。コーディング・長文解析・コスト・API料金の違いを検証
ChatGPT(GPT-4o/o3)とClaude(Sonnet 4.6/Opus 4.5)を2026年時点の最新情報で比較する。コーディング能力、長文処理、日本語品質、API料金、無料プランの違いをSWE-benchなどのベンチマーク結果とともに解説する。
【2026年2月20日 所感】「AIがコードを書く」は仮説から現実になった——しかし私たちはその意味をまだ消化できていない
2026年2月20日に観測したコーディングエージェント関連ニュースの総括と所感。Anthropicの自律性研究、cmux、MJ Rathbunのエージェント事故、HN「外骨格 vs チーム」論争、Stripe Minions週1000件PR、Taalas 17k tokens/sec——朝から夜までの流れを通じて見えてきた「AIがコードを書く時代」の実相を考察する。
868のスキルをnpx 1コマンドで——「Antigravity Awesome Skills」が主要AIコーディングエージェントの共通スキル基盤になりつつある
Claude Code・Gemini CLI・Codex CLI・Cursor・GitHub Copilotなど主要AIコーディングアシスタントを横断する868以上のスキルライブラリ「Antigravity Awesome Skills」(v5.4.0)を詳細分析。Anthropic・Vercel・OpenAI・Supabase・Microsoftの公式スキルを統合した設計思想、ロール別バンドル・ワークフロー機能、SKILL.mdによる相互運用性のアーキテクチャを解説する。
最新記事
AIエージェント間通信の標準化競争が始まる——AquaとAgent Semantic Protocolが同日登場
2026年2月23日、Hacker Newsに2つのAIエージェント通信プロジェクトが同日掲載された。Go製CLI「Aqua」とセマンティックルーティングを実装する「Agent Semantic Protocol」は、MCPが解決できないP2P・非同期通信の課題に取り組む。
Claude Sonnet 4.6、無料・Proプランのデフォルトモデルに——社内テストでOpus 4.5を59%の確率で上回る
Anthropicは2026年2月17日にリリースしたClaude Sonnet 4.6を、claude.aiの無料・Proプランのデフォルトモデルに設定した。価格はSonnet 4.5と同額の$3/$15 per 1Mトークン。社内評価ではコーディングエージェント用途でOpus 4.5を上回る結果が出ている。
GoogleがOpenClaw経由のGemini利用ユーザーのアカウントを永久停止——月額$250請求継続のまま
2026年2月23日、Hacker Newsで140pt/107コメントを集めたレポートによると、GoogleはOpenClaw(サードパーティクライアント)経由でGeminiを使用していたGoogle AI Pro/Ultraユーザーを予告なしに永久停止した。技術的・経済的背景を整理する。