SuperAPI AI 工具集

task-calendar

办公与效率

查看项目

更新于 10-15 23:46

技能介绍

用途:在 Taskwarrior 任务与 Google Calendar 之间建立连接。Taskwarrior 是任务内容与截止时间的真实来源,Google Calendar 是实际投入工作时间块的来源。核心原则:任务上的 due 表示截止日期而非工作时间块;日历事件才代表为任务承诺的工作时间;绝不自动同步,写入日历前必须先与用户确认。任务生命周期规则参见 task-workflow,本技能只增加日历操作。

工具选择:执行任何日历操作前检测可用工具,命令为 command -v gog && echo "gogcli available"。存在 gog(gogcli)时优先使用,它通过 Bash 运行并向 stdout 输出 JSON/TSV,无 MCP 开销;gog 不可用时回退到 mcp__claude_ai_Google_Calendar__* MCP 工具。gogcli 文档见 https://gogcli.sh/quickstart.html。

主要能力与操作: 一、设置截止日期前检查可用性。当用户说“add task due Friday”或询问日程时,用 gog calendar events --today 列出事件,或使用 MCP 的 list_events 按日期范围查询,报告冲突,待用户确认后才执行 task add ... due:<date>。 二、为任务预留时间块(写入日历)。用户说“schedule this”“block time”“add to calendar”时,先 task <id> info 获取描述、due、project,再用 gog calendar events --today 查看空闲窗口,向用户展示建议时段并获取确认,然后创建事件:gog calendar create --summary "<task description>" --from "YYYY-MM-DDTHH:MM:SS+TZ" --to "YYYY-MM-DDTHH:MM:SS+TZ"(或 MCP 回退 create_event),最后 task <id> annotate "gcal:<summary> <date> HH:MM"。事件格式:summary 为任务描述原文;若用 MCP,描述含 taskwarrior id 与 project;时长 25–90 分钟视复杂度而定,不明确时询问用户;时区使用本地偏移。 三、重排任务。用户说“move this to next week”“reschedule task 42”时,先 task <id> info 获取已有 gcal 注释,再找新的空闲时段,展示变更并确认,gogcli 无编辑命令需删除后重建,之后仅在截止日期也变化时执行 task <id> modify due:<new-date>,并 task <id> annotate "Rescheduled: <old-date> → <new-date>"。 四、带日历上下文的每日计划。用户说“plan my day”“what should I work on today”时,执行 task +TODAY list 与 task +OVERDUE list,再 gog calendar events --today(或 MCP list_events),报告占用时间的会议、空闲窗口及未安排时间块的任务,并提出为未排程任务预留时间。

规则:未经用户确认不得创建日历事件;不得仅依据日历数据修改任务 due 日期,只能在用户明确指示时修改;未经确认不得删除日历事件;若任务已有 gcal: 注释,创建新事件前先检查该事件;注释格式保持一致:gcal:<summary> YYYY-MM-DD HH:MM。

隐含限制:依赖 Taskwarrior 和 Google Calendar 的可用性及授权;gogcli 无事件编辑命令,更新需删除后重建;MCP 工具需先通过 ToolSearch 加载,如 ToolSearch: select:mcp__claude_ai_Google_Calendar__<tool_name>。其他限制资料暂未提供。