SuperAPI AI Directory

schedule-manager

Office & productivity

View repository

Updated 10-15 16:45

About this skill

Schedule Manager

Manage schedules via osascript (Calendar) and reminders-cli (Reminders), following the GTD methodology.

Prerequisites

Tool Type Required Install
macOS system Yes This skill requires macOS
osascript cli Yes Built-in on macOS
reminders-cli cli Yes brew install keith/formulae/reminders-cli
Schedule YAML data No ~/code/*/planning/schedules/*.yaml — for cross-project weekly planning

Do NOT proactively verify these tools on skill load. If a command fails due to a missing tool, directly guide the user through installation and configuration step by step.

Permission configuration

The first run requires authorization. Go to System Settings → Privacy & Security:

  1. Calendar - Check Terminal / iTerm / the terminal app you use
  2. Reminders - Same as above

⚠️ After changing permissions, you need to restart the terminal app

Core principles (GTD style)

Tool Purpose Example
Calendar Fixed-time commitments Meetings, appointments, deadlines
Reminders To-dos (no fixed time) Shopping lists, tasks, ideas

Decision process:

有具体时间? → Calendar 事件
无具体时间? → Reminders 待办
需要提醒? → 两者都可设置提醒

Mode selection

User intent Mode Action
"Schedule a meeting", "Create an event" Calendar Create an event with a time
"Add a to-do", "Create a reminder", "Note this down" Reminders Create a task
"View schedule", "What's on today" Query Query Calendar + Reminders
"Plan next week", "Weekly review" Planning Comprehensive workflow

Calendar operations

Manage Calendar events via osascript (view, create, delete).

See osascript-calendar.md for the complete command templates.

Reminders operations

Recommended to use reminders-cli(accessing Reminders via osascript is very slow).

Common commands quick reference:

reminders show-lists              # 查看列表
reminders show-all --due-date today  # 今日待办
reminders add "列表" "任务"         # 创建
reminders complete "列表" 0        # 完成

See reminders-cli-guide.md for the complete command reference. For osascript alternatives, see osascript-reminders.md。

Common workflows

Scenario 1: Quick capture (GTD Capture)

User says "Note this down", "Do it later", "Don't forget" → Create a Reminder in the inbox

reminders add "提醒" "<任务名>"

Scenario 2: Schedule a meeting

User says "Schedule a meeting at 2 PM tomorrow" → Create a Calendar event (using osascript)

Scenario 3: Daily planning

  1. View today's Calendar events (osascript)
  2. View Reminders to-dos (reminders show-all)
  3. Schedule Time Blocks for important tasks (Calendar events)

Scenario 4: Weekly review (GTD Weekly Review)

  1. View reminders completed this week
  2. View next week's Calendar events (osascript)
  3. Organize Reminders lists (reminders show-all)

See gtd-methodology.md。

Scenario 5: Cross-project weekly planning (requires Schedule YAML)

When ~/code/*/planning/schedules/*.yaml exists, the "Plan next week" workflow adds project scheduling context:

  1. Scan ~/code/*/planning/schedules/*.yaml, parse each file's project、timeline、capacity
  2. View existing next week's Calendar events (osascript)
  3. View Reminders to-dos (reminders show-all)
  4. Extract next week's relevant modules from the schedule YAML (matching by the weeks field)
  5. By capacity.days_per_week estimate each project's time allocation
  6. Display combined: Calendar events + Reminders to-dos + each project's module tasks
  7. Flag capacity conflicts (total allocation > available workdays)
  8. Suggest Calendar time blocks (display suggestions, create after user confirmation)

Without Schedule YAML: Skip steps 4-7, degrading to the standard scenario 4-week review process.

Common Errors

Error Cause Solution
AppleEvent timed out Permission not granted Grant authorization in system settings
Can't get list List does not exist First use reminders show-lists to view available lists
Invalid date Incorrect date format Use current date as the baseline
reminders: command not found Not installed brew install keith/formulae/reminders-cli
osascript Reminders is laggy Known performance issue Switch to reminders-cli