schedule-manager

安装量: 40
排名: #18085

安装

npx skills add https://github.com/niracler/skill --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

返回排行榜