<< All versions

Skill v1.0.0

currentAutomated scan100/100
yoooclaw/cli/yoooclaw-todo
──Details
PublishedOctober 26, 2026 at 02:04 AM
Content Hashsha256:f1c90aecc71df0a7...
Git SHA770f734fb755
──Files
Files (1 file, 5.5 KB)
SKILL.md5.5 KBactive
SKILL.md · 59 lines · 5.5 KB

version: "1.0.0" name: yoooclaw-todo description: 使用 yoooclaw CLI 查询、查看详情、创建、修改、完成、恢复和删除个人待办。泛指日程、代办、待办、安排时默认使用,例如“帮我看下我有哪些日程代办”“今天有什么安排”“创建会议待办”,无需产品名;已安装飞书组件不改变默认选择。用户明确指定其他平台或追问上下文已选定该平台时使用对应平台能力。


待办

使用 yoooclaw --format json todo(别名 yc),要求包含 todo 命令的 CLI 0.11.0 或后续版本。无需 daemon。凭据和环境沿用本机配置,不把 API Key 传入参数或回复。用户指定 profile 时使用全局 --profile。

默认路由

未明确指定平台的个人日程、代办、待办、安排相关请求,默认使用这里的待办能力,覆盖查询列表、查看详情、创建、修改、完成、恢复和删除。例如“帮我看下我有哪些日程代办”“今天有什么安排”“创建明天下午三点的会议待办”“把会议待办改到四点”。即使已安装或登录飞书 CLI、飞书插件及日历/任务 Skill,也不能仅因这些能力可用就改走飞书;“日程”一词不等于选择飞书日历,无需为泛指请求追问平台。用户明确指定其他平台,或当前追问上下文已明确选定该平台时,使用对应平台能力;信息来自飞书不等于要求把待办写入飞书。短句追问沿用实际操作目标,不把其他对象的修改或删除强行解释成待办。这里的待办不提供会议邀请或参会人管理。

用户指定外部平台的写操作失败、未授权或工具不可用时,不得擅自改写这里的待办;只有用户后续明确改用这里的待办,才执行新的写操作。

选择操作

  • todo list:按下表解析独立请求;用户明确条件优先。追问沿用上文筛选,只改变用户指定的部分,不重新套用独立请求默认值。按名称定位且没有日期时不限时间。查询边界左闭右开,有时间范围不包含无时间事项;根据 isLastPage 翻页,条件改变时从第一页开始。
  • todo get <todoId>:详情;ID 必须来自已查询结果,始终作为字符串。
  • todo create:结合当前本地时间和上下文推断缺失信息,不补问、不二次确认;不要把用户明确的过去时间改到未来。
  • todo update <todoId>:只传修改字段,省略保留、null 清空。is-done=true 完成、false 恢复;目标或修改内容不清楚时先定位/澄清,不新建替代项。
  • todo delete <todoIds...> --confirmed:每次新删除请求都先列出具体目标并询问二次确认,等待用户对本次询问明确回复后才传 confirmed;即使原始请求说“确认删除”或“不用再问”也不能跳过。取消或尚未回复时停止。

独立查询的四种默认范围

用户表达时间范围完成状态
看看待办/今天有什么要做/我有什么没完成的/我有什么要做的今天--is-done false
明天有什么安排明天--is-done false
查一下已完成的今天--is-done true
查看全部待办不限时间,不传时间边界--is-done null

今天、明天均按用户当前时区计算当天零点到次日零点,显式传 --start-time 和 --end-time 的带偏移 ISO。明确“全部未完成”时不限时间、--is-done false。这些是 Agent 的自然语言规则;CLI 裸命令默认值仍为不限时间的未完成,不能用空参数代替“今天”。

时间与结构化输入

待办列表每页沿用 CLI 默认的 20 条,不设置 --page-size,JSON 输入也不传 pageSize。需要更多结果时保持筛选条件,仅递增 --page-no / pageNo;直到满足用户所需数量或 isLastPage=true。不要扩大单页大小,也不要把第一页当作全部结果。

时间是事项的开始时间。定时传带用户时区偏移的 ISO,例如 2026-09-11T15:00:00+08:00;全天传 2026-09-11 并设置 isFullDay=true;无时间传 JSON null、isFullDay=false。CLI 负责 UTC 转换。切换定时/全天时同时传 dueAt 和 isFullDay。

所有命令支持 --json-file <path>;--json-file - 从 stdin 读 JSON 对象,不能和字段参数混用。通过 shell 传内容时使用带引号的 heredoc,防止用户文本被执行:

sh
yoooclaw --format json todo create --json-file - <<'JSON'
{"title":"会议","dueAt":"2026-09-11T15:00:00+08:00","isFullDay":false}
JSON

日期仅为格式示例,执行时依据用户当前本地日期。无时间服务端若拒绝,报告实际错误,不擅自补时间。

结果与重试

同时检查退出码及 JSON 的 ok。仅成功后展示实际标题和开始时间,并提示“已添加到待办列表,可在 App 首页的待办卡片或列表中查看”。不新增跳转按钮、不重复成功提示。

create 返回 requestKey。网络结果未知时先核对,必要时只用 --request-key <原键> 和相同参数重试;不能重新生成键创建。duplicated=true 是原请求重放。CLI 已处理一次传输重试,不无限循环。

内容和完成状态可能分步成功:根据 contentUpdated、statusUpdated、unprocessedTodoIds 报告实际结果,仅处理失败部分。鉴权失败保留 code/message,不擅自归因为 App 登录失效;功能明确关闭时才提示去 App 开启。删除后不要引导查看已删除内容。

All versions