schedule-manager

通过 osascript (Calendar) 和 reminders-cli (Reminders) 管理日程,遵循 GTD 方法论。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "schedule-manager" with this command: npx skills add niracler/skill/niracler-skill-schedule-manager

Schedule Manager

通过 osascript (Calendar) 和 reminders-cli (Reminders) 管理日程,遵循 GTD 方法论。

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.

权限配置

首次运行需要授权,进入系统设置 → 隐私与安全性:

  • 日历 - 勾选 Terminal / iTerm / 你使用的终端应用

  • 提醒事项 - 同上

⚠️ 修改权限后需重启终端应用

核心原则(GTD 风格)

工具 用途 示例

Calendar 固定时间承诺 会议、约会、截止日期

Reminders 待办事项(无固定时间) 购物清单、任务、想法

决策流程:

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

模式选择

用户意图 模式 操作

「安排会议」「创建事件」 Calendar 创建带时间的事件

「添加待办」「创建提醒」「记一下」 Reminders 创建任务

「查看日程」「今天有什么」 查询 查询 Calendar + Reminders

「规划下周」「周回顾」 规划 综合工作流

Calendar 操作

查看日历列表

osascript -e 'tell application "Calendar" to get name of calendars'

查看今日/本周事件

osascript <<'EOF' set today to current date set time of today to 0 set tomorrow to today + (1 * days)

tell application "Calendar" repeat with cal in calendars set evts to (every event of cal whose start date ≥ today and start date < tomorrow) if (count of evts) > 0 then repeat with e in evts log (summary of e) & " | " & (start date of e) end repeat end if end repeat end tell EOF

详见 osascript-calendar.md。

创建事件

osascript -e ' tell application "Calendar" tell calendar "个人" set startDate to (current date) + (1 * days) set hours of startDate to 14 set minutes of startDate to 0 set endDate to startDate + (1 * hours) make new event with properties {summary:"会议标题", start date:startDate, end date:endDate} end tell end tell'

可用属性: summary , start date , end date , description , location , allday event

详见 osascript-calendar.md。

删除事件

osascript -e ' tell application "Calendar" tell calendar "个人" delete (every event whose summary is "要删除的事件名") end tell end tell'

Reminders 操作

注意:osascript 访问 Reminders 非常慢(已知问题),推荐使用 reminders-cli 。

详见 reminders-cli-guide.md。

查看提醒列表

reminders show-lists

查看待办事项

查看所有未完成提醒

reminders show-all

查看指定列表

reminders show "工作"

按截止日期筛选

reminders show-all --due-date today

创建提醒

基础创建

reminders add "收件箱" "任务名称"

带截止日期

reminders add "工作" "完成报告" --due-date "tomorrow 5pm"

带优先级 (low/medium/high)

reminders add "工作" "紧急任务" --priority high

完成提醒

按索引完成(索引通过 show 命令查看)

reminders complete "收件箱" 0

其他操作

取消完成

reminders uncomplete "收件箱" 0

编辑提醒

reminders edit "收件箱" 0 "新的任务名称"

删除提醒

reminders delete "收件箱" 0

osascript 备选(仅用于复杂操作)

osascript 适合需要批量操作或复杂查询的场景,但速度很慢。详见 osascript-reminders.md。

常见工作流

场景 1: 快速收集(GTD Capture)

用户说「记一下」「待会做」「别忘了」→ 创建 Reminder 到收件箱

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

场景 2: 安排会议

用户说「安排明天下午 2 点的会议」→ 创建 Calendar 事件(使用 osascript)

场景 3: 每日规划

  • 查看今日 Calendar 事件(osascript)

  • 查看 Reminders 待办(reminders show-all )

  • 为重要任务安排 Time Block(Calendar 事件)

场景 4: 周回顾(GTD Weekly Review)

  • 查看本周完成的提醒

  • 查看下周 Calendar 事件(osascript)

  • 整理 Reminders 列表(reminders show-all )

详见 gtd-methodology.md。

场景 5: 跨项目周规划(需要 Schedule YAML)

当 ~/code//planning/schedules/.yaml 存在时,「规划下周」工作流增加项目排期上下文:

  • 扫描 ~/code//planning/schedules/.yaml ,解析每个文件的 project 、timeline 、capacity

  • 查看下周 Calendar 已有事件(osascript)

  • 查看 Reminders 待办(reminders show-all )

  • 从 schedule YAML 中提取下周相关 module(按 weeks 字段匹配)

  • 按 capacity.days_per_week 估算各项目时间分配

  • 合并展示:Calendar 事件 + Reminders 待办 + 各项目模块任务

  • 标注产能冲突(总分配 > 可用工作日)

  • 建议 Calendar time block(展示建议,用户确认后创建)

无 Schedule YAML 时:跳过步骤 4-7,退化为标准的场景 4 周回顾流程。

常见错误

错误 原因 解决

AppleEvent timed out

权限未授予 在系统设置中授权

Can't get list

列表不存在 先用 reminders show-lists 查看可用列表

Invalid date

日期格式错误 使用 current date 作为基准

reminders: command not found

未安装 brew install keith/formulae/reminders-cli

osascript Reminders 卡顿 已知性能问题 改用 reminders-cli

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

code-sync

No summary provided by upstream source.

Repository SourceNeeds Review
General

writing-proofreading

No summary provided by upstream source.

Repository SourceNeeds Review
General

diary-assistant

No summary provided by upstream source.

Repository SourceNeeds Review