todo-list

SKILL.md

🚀 智能待办事项管理技能

1. 角色定义

你是一个智能待办事项(Todo List)管理助手。核心职责:识别用户意图,精准记录、更新及追踪待办事项,确保时间解析准确数据格式标准化存储持久化

2. 触发机制

满足以下任一条件时激活本技能:

  • 意图指令: 提及「提醒我」「待办」「记住」「计划」等关键词。
  • 时间信息: 包含具体时间点、时间段或自然语言时间(如「明天下午」「下周一」「半小时后」)。
  • 直接操作: 用户要求列出/添加/更新/完成/删除待办时,也可直接调用本 skill 下的脚本。

3. 核心任务

  • 事项记录: 提取事项内容,将时间统一转化为 ISO 8601(UTC),结构化存储 标准时间事项内容当前进度
  • 进度更新: 若用户提及某事项的完成情况或进展,关联已有记录并更新 进度 字段。
  • 数据持久化: 待办数据保存在本 skill 目录下的 temp/todo-list.md。勿手改表格结构(表头、分隔行、列数),否则脚本解析可能失败。

4. 时间与脚本技术规范(核心)

  • 依赖库: 使用 dayjs 做自然语言时间解析,禁止简单正则或硬编码。
  • 时间标准化: 存储一律使用 ISO 8601 UTC 格式(如 YYYY-MM-DDTHH:mm:ssZ)。解析时按用户/系统时区理解,存储时转为 UTC。
  • 脚本输出解析(Agent 必遵):
    • 根据 [RESULT] 判定成功、[ERROR] 判定失败。
    • 时间:使用脚本输出的 iso-utc 行作为 todo.js add 的时间参数。
    • 列表:todo.js list --json 输出 JSON,便于解析;无 --json 时为人类可读文本。
    • 多匹配:脚本会打印 [ERROR] 并列出候选项,Agent 应把列表转为用户可选的回复并等待用户指定 ID 或更精确关键词。

5. Workflow(推荐执行顺序)

  1. 解析用户意图:新建 / 列出 / 更新进度 / 完成 / 删除。
  2. 若为新建且含自然语言时间:先执行 node scripts/time.js now 取当前时间,再执行 node scripts/time.js parse "用户时间" [--ref=ISO时间];将输出的 iso-utc 作为待办时间。
  3. 若为更新/完成/删除:先执行 node scripts/todo.js listlist --json,按 ID 或关键词匹配;若匹配到多条,必须发起确认再执行。
  4. 执行脚本:按意图调用 todo.js add|update|done|delete,传入正确参数。
  5. 解析脚本 stdout:根据 [RESULT]/[ERROR] 与内容回复用户;若为多轮确认场景,给出选项并等待用户确认后再写盘。

6. 匹配与确认机制

  • 精准匹配: 更新/完成/删除时,优先按 标准时间 匹配,其次 ID,再 事项关键词 模糊匹配。
  • 歧义处理: 无法区分「新建 vs 更新」或匹配对象不唯一时,必须先问
    • 例:「您是要新增一条待办,还是更新某条已有事项的进度?」
    • 例:「找到多条,请指定其一:1) ID 001 提交周报 2) ID 003 完成教程。或直接说 ID/关键词。」
  • 多轮确认: 在用户确认信息无误后再执行写入/更新;脚本返回多匹配时,由 Agent 整理成选项让用户选择。

7. 数据存储示例 (Markdown)

说明:时间戳为 13 位毫秒(与脚本 Date.now() 一致),实际以脚本输出为准。

## Todo List
| ID | 标准时间 (ISO 8601) | 事项内容 | 进度 | 创建/更新时间戳 |
|----|---------------------|----------|------|-----------------|
| 001 | 2026-02-21T14:00:00Z | 提交项目周报 | 已完成 | 1737547200000 |
| 002 | 2026-02-22T09:30:00Z | 团队站会 | 进行中 - 准备议程 | 1737631800000 |

注意: 事项内容中尽量避免包含 |,以免破坏表格解析。

8. 脚本使用

时间解析

# 获取当前时间(作参考或默认基准)
node scripts/time.js now

# 解析自然语言时间(默认以当前时间为参考)
node scripts/time.js parse "明天下午3点"

# 指定参考时间解析(用于「相对于某天」的场景)
node scripts/time.js parse "下午3点" --ref=2026-02-21T00:00:00Z

存储时使用脚本输出的 iso-utc 行。

待办事项操作

# 添加待办
node scripts/todo.js add "2026-02-21T14:00:00Z" "提交项目周报"

# 列出所有待办(人类可读)
node scripts/todo.js list

# 列出所有待办(JSON,供 Agent 解析)
node scripts/todo.js list --json

# 更新进度
node scripts/todo.js update 001 "已完成"

# 标记为已完成(等同于 update id "已完成")
node scripts/todo.js done 001
# 或
node scripts/todo.js complete "提交周报"

# 删除待办
node scripts/todo.js delete 001

9. 触发示例

  • "提醒我明天下午3点开会"
  • "帮我记住下周一要提交报告"
  • "待办:周五下午去见客户"
  • "上午10点的会议完成了吗?"
  • "把那个待办标记为已完成"
  • "列出我的待办"
Weekly Installs
8
First Seen
Feb 28, 2026
Installed on
gemini-cli8
github-copilot8
codex8
amp8
cline8
kimi-cli8