Install
openclaw skills install macos-notification-readerReads recent macOS notifications from the local database and exports them to date-organized markdown files for review and logging.
openclaw skills install macos-notification-readerReads the macOS notification center database and exports recent notifications to markdown files. Also supports automated work notification summary with filtering and delivery.
memory/YYYY-MM-DD/computer_io/notification/This skill requires Full Disk Access to read the macOS notification database.
# Verify permission
python3 -c "import os; print('OK' if os.access(os.path.expanduser('~/Library/Group Containers/group.com.apple.usernoted/db2/db'), os.R_OK) else 'FAIL')"
If it returns FAIL, follow these steps:
Cmd+Shift+G, enter /usr/bin/python3, click OpenNote: If using a virtual environment, add the Python binary from that venv instead.
# Navigate to the skill directory
cd /path/to/macos-notification-reader
# Basic: Read notifications from the last 35 minutes
python3 scripts/read_notifications.py --minutes 35
# Basic: Read notifications from the last 24 hours
python3 scripts/read_notifications.py --hours 24
# Advanced: Generate work notification summary (every 30 min)
bash scripts/work-summary.sh
# Edit crontab
crontab -e
# Add this line:
*/30 * * * * /path/to/macos-notification-reader/scripts/export-notification.sh
This filters work-related notifications (Teams, Outlook) and generates a summary:
crontab -e
# Add this line:
*/30 * * * * /path/to/macos-notification-reader/scripts/work-summary.sh
Or use OpenClaw's built-in cron:
openclaw cron add --name "Work Notification Summary" --every "30m" --message "Run work-summary.sh"
| Script | Purpose |
|---|---|
read_notifications.py | Core script - reads raw notifications from database |
export-notification.sh | Exports all notifications to markdown |
work-summary.sh | Filters work notifications and generates summary |
The work-summary.sh script does:
memory/YYYY-MM-DD/computer_io/notification/work-summary-YYYYMMDD-HHMMSS.md# 工作通知摘要
- Lookback: 过去 35 分钟
- 总工作通知: 5 条
## 渠道分布
- Teams: 3
- Outlook: 2
## 待处理事项(自动提取)
- [时间] (app) 消息内容摘要
## 最近工作通知(去重后)
- [时间] (app) 消息内容
By default, exports go to:
~/.openclaw/workspace/memory/YYYY-MM-DD/computer_io/notification/
To customize, edit the scripts and change the OUTPUT_DIR variable.
The script recognizes these apps by default:
| Bundle ID | Display Name |
|---|---|
| com.tencent.xinWeChat | |
| com.microsoft.teams2 | Teams |
| com.microsoft.Outlook | Outlook |
| com.apple.mail | |
| com.apple.mobilesms | iMessage |
| com.apple.ical | Calendar |
| com.apple.reminders | Reminders |
To add more apps, edit the simplify_app_name() function in read_notifications.py.
macos-notification-reader/
├── SKILL.md # This file
├── _meta.json # Skill metadata
├── scripts/
│ ├── read_notifications.py # Core script (file output)
│ ├── export-notification.sh # Basic export wrapper
│ └── work-summary.sh # Work notification summary (NEW)
└── references/
└── permission-setup.md # Detailed permission guide
Grant Full Disk Access. See references/permission-setup.md.
ls -la ~/Library/Group\ Containers/group.com.apple.usernoted/db2/--minutes 10Author: OpenClaw Community
Version: 1.1.0
Platform: macOS 15.0+
License: MIT