← 返回 Skills 市场
niracler

Schedule Manager

作者 Niracler · GitHub ↗ · v1.0.1
cross-platform ✓ 安全检测通过
386
总下载
0
收藏
1
当前安装
2
版本数
在 OpenClaw 中安装
/install nini-schedule-manager
功能描述
(macOS only) 通过 osascript 和 reminders-cli 管理 Apple Calendar 和 Reminders,遵循 GTD 方法论。Triggers on "schedule", "calendar", "reminders", "GTD", "todo". 触发场景:用户说「安...
使用说明 (SKILL.md)

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.

权限配置

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

  1. 日历 - 勾选 Terminal / iTerm / 你使用的终端应用
  2. 提醒事项 - 同上

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

核心原则(GTD 风格)

工具 用途 示例
Calendar 固定时间承诺 会议、约会、截止日期
Reminders 待办事项(无固定时间) 购物清单、任务、想法

决策流程:

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

模式选择

用户意图 模式 操作
「安排会议」「创建事件」 Calendar 创建带时间的事件
「添加待办」「创建提醒」「记一下」 Reminders 创建任务
「查看日程」「今天有什么」 查询 查询 Calendar + Reminders
「规划下周」「周回顾」 规划 综合工作流

Calendar 操作

查看日历列表

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

查看今日/本周事件

osascript \x3C\x3C'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 \x3C 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 "提醒" "\x3C任务名>"

场景 2: 安排会议

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

场景 3: 每日规划

  1. 查看今日 Calendar 事件(osascript)
  2. 查看 Reminders 待办(reminders show-all
  3. 为重要任务安排 Time Block(Calendar 事件)

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

  1. 查看本周完成的提醒
  2. 查看下周 Calendar 事件(osascript)
  3. 整理 Reminders 列表(reminders show-all

详见 gtd-methodology.md

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

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

  1. 扫描 ~/code/*/planning/schedules/*.yaml,解析每个文件的 projecttimelinecapacity
  2. 查看下周 Calendar 已有事件(osascript)
  3. 查看 Reminders 待办(reminders show-all
  4. 从 schedule YAML 中提取下周相关 module(按 weeks 字段匹配)
  5. capacity.days_per_week 估算各项目时间分配
  6. 合并展示:Calendar 事件 + Reminders 待办 + 各项目模块任务
  7. 标注产能冲突(总分配 > 可用工作日)
  8. 建议 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
安全使用建议
This skill appears to do what it says: manipulate Apple Calendar and Reminders via osascript and reminders-cli. Before installing or granting permissions: 1) Confirm you are on macOS (the skill only works there). 2) Review any ~/code/*/planning/schedules/*.yaml files if you don't want project timelines exposed — the skill may scan them if present. 3) Be prepared to grant Calendar and Reminders access to the terminal/agent process (check the process name it requests access for, e.g., Terminal or your agent). 4) reminders-cli is installed via Homebrew; the scripts only suggest standard Homebrew bootstrap commands. If you want to be cautious, run the included scripts (scripts/check_dependencies.sh and scripts/check_permissions.sh) locally to see what the skill would do before enabling it for autonomous use.
功能分析
Type: OpenClaw Skill Name: nini-schedule-manager Version: 1.0.1 The skill is a macOS-specific schedule manager that uses osascript and reminders-cli to manage Apple Calendar and Reminders following GTD principles. It includes utility scripts for dependency and permission checking (scripts/check_dependencies.sh, scripts/check_permissions.sh) and provides extensive documentation for managing events and tasks. While it features a workflow that scans ~/code/*/planning/schedules/*.yaml for project context, this behavior is transparently documented and aligned with the stated goal of cross-project planning.
能力评估
Purpose & Capability
The skill's name and instructions target macOS Calendar and Reminders and require osascript and reminders-cli, which is coherent. Minor inconsistency: registry metadata listed no OS restriction while the description and prerequisites explicitly state macOS-only.
Instruction Scope
Runtime instructions and included scripts run osascript and reminders-cli (expected). The SKILL.md also specifies an optional scan of local files at ~/code/*/planning/schedules/*.yaml to enrich weekly planning — this is within the skill's stated feature set but does cause the skill to read user project files, which may contain sensitive scheduling/roadmap data. The README also says not to proactively check tools at load time, but shipped scripts exist that do dependency/permission checks (a minor contradiction, not malicious).
Install Mechanism
Instruction-only skill with two helper scripts; no install spec or archived downloads. The only external install guidance is to use Homebrew and a brew formula (reminders-cli). The Homebrew bootstrap command suggested (curl raw.githubusercontent.com) is standard guidance and not an arbitrary download URL.
Credentials
The skill requests no environment variables or external credentials (good). It does require Terminal/agent to be granted Calendar and Reminders privacy permissions to function. It also optionally reads local schedule YAMLs under ~/code/* — reasonable for the 'cross-project weekly planning' feature but a privacy consideration: those files may contain sensitive project timelines and should be reviewed before granting access.
Persistence & Privilege
The skill does not request always:true, does not declare persistent system-wide changes, and does not modify other skills. Permission requests are limited to standard macOS Calendar/Reminders access prompts.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install nini-schedule-manager
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /nini-schedule-manager 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
Add openclaw metadata
v1.0.0
Initial release
元数据
Slug nini-schedule-manager
版本 1.0.1
许可证
累计安装 1
当前安装数 1
历史版本数 2
常见问题

Schedule Manager 是什么?

(macOS only) 通过 osascript 和 reminders-cli 管理 Apple Calendar 和 Reminders,遵循 GTD 方法论。Triggers on "schedule", "calendar", "reminders", "GTD", "todo". 触发场景:用户说「安... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 386 次。

如何安装 Schedule Manager?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install nini-schedule-manager」即可一键安装,无需额外配置。

Schedule Manager 是免费的吗?

是的,Schedule Manager 完全免费(开源免费),可自由下载、安装和使用。

Schedule Manager 支持哪些平台?

Schedule Manager 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Schedule Manager?

由 Niracler(@niracler)开发并维护,当前版本 v1.0.1。

💬 留言讨论