todo-list(个人待办清单)
SkillProductivityPersonal to-do list (todolist) CRUD tool supporting multi-level nesting of projects/subtasks, automatic parent progress rollup, and soft-delete recycle bin. Whenever the user sends a command starting with "ta#" (e.g. ta#add a task, ta#see what's unfinished, ta#mark item 2 done, ta#delete item 3, ta#
Use todo-list(个人待办清单) in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add todo-list(个人待办清单) and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the todo-list(个人待办清单) skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by bd-dxg/my-pi in skills/todo-list/SKILL.md and read by Ahel’s review.
管理用户的个人待办事项,数据持久化在 ~/.todo/todo.json(跨会话、跨项目)。支持多级父子嵌套(项目→子任务→子子任务)、父级自动汇总子任务进度、软删除回收站(可还原/彻底清空)。
关键:统一入口 ta#
用户会用 ta# 开头的自然语言发起 todolist 操作,例如:
ta#加个任务:写周报ta#看看我有哪些没做完的ta#在 学习编程 下建个子任务 掌握基础语法ta#把第 2 条标记完成ta#删除第 3 条ta#看看回收站ta#还原第 2 条ta#清空回收站
只要消息以 ta# 开头(即使用户没明说"待办/todo"),一律进入本 skill:解析 ta# 后面的自然语言 → 确定意图和参数 → 调用脚本执行 → 把脚本的中文输出原样汇报给用户。非 ta# 开头的内容不要触发。
执行入口
脚本固定在 C:/Users/bddxg/.agents/skills/todo-list/scripts/todo.js(字符集 UTF-8。若移动了 skill,按当前 skill 目录下的 scripts/todo.js 找)。
统一调用方式(Windows 下用反斜杠分隔亦可):
node <skill目录>/scripts/todo.js <命令> <参数>
务必调用脚本执行,不要用 node -e 临场改 JSON——所有逻辑(id 分配、父子汇总、软删除、原子写入)都已在脚本内实现,临场重写既慢又易错。
脚本执行后,把它 stdout 的中文结果直接读给/展示给用户即可(脚本已处理所有回显和提示,无需二次加工)。
脚本内置交互自足能力:
node todo.js help(或-h/无参数)可查看完整用法与示例;数据文件~/.todo/todo.json不存在时,脚本会自动创建并在首次操作时输出提示。当解析的脚本命令遇到困惑时,可先跑help确认正确写法。
意图 → 命令映射
把 ta# 后的自然语言按上表解析成脚本命令。识别序号时,用户说的「第 N 条 / N 号 / #N」对应列表里显示的层级序号(如 4.1、4.2),脚本会自动解析为内部 id。若用户用标题/描述指代某条,先跑 list 找到对应层级序号再操作。
| 用户意图(示例说法) | 脚本调用 |
|---|---|
添加顶层任务加个任务:xxx、新建议题 xxx、记一下 xxx | todo.js add --title "标题" |
批量添加(推荐用于创建子任务)在 <父> 下批量建子任务、一口气加一堆 | todo.js batch-add --parent <父id> --title "标题1" --title "标题2" --title "标题3" |
添加子任务(单条)在 <父> 下建个 xxx、加个子任务 xxx | todo.js add --parent <父id> --title "标题" |
| 添加时带附加信息 | 追加 --priority 高|中|低(优先级)、--due YYYY-MM-DD(截止日期)、--repeat daily|weekly|monthly(循环类型)。未提到就不传,脚本自动留空 |
创建循环任务每天重复:xxx、每周一写周报、每月15号还信用卡 | todo.js add --title "标题" --repeat daily(每日)todo.js add --title "标题" --repeat weekly --every 周一(每周)todo.js add --title "标题" --repeat monthly --every 15(每月)没指定 --due 时自动计算第一个截止日期 |
设置/修改循环把第 N 条改成每日重复、改为每周三 | todo.js edit <序号> --repeat daily|weekly|monthly修改每周需加 --every 周几,修改每月需加 --every 日 |
取消循环取消第 N 条的循环、第 N 条不再重复 | todo.js edit <序号> --repeat off |
列出/查看全部看看、列出、有什么没做完的、查一下 | todo.js list |
| 排序查看 | todo.js list --sort priority|due|id |
查看单条+子任务看看第 N 条详情、查一下 xxx | todo.js show <序号> |
批量完成(推荐)完成 4.1 4.2 4.3、把这3个做完 | todo.js batch-done 4.1 4.2 4.3 |
标记完成把第 N 条完成、第 N 条搞定、勾掉 xxx | todo.js done <序号> |
取消完成恢复未完成、取消完成 xxx | todo.js undo <序号> |
改标题改第 N 条标题为 xxx、重命名 xxx | todo.js edit <序号> --title "新标题" |
设优先级给第 N 条设高优先级 | todo.js prio <序号> 高|中|低|无 |
设截止日期第 N 条截止到 2026-03-01 | todo.js due <序号> YYYY-MM-DD|无 |
删除(软删除入回收站)删掉第 N 条、移除 xxx | todo.js del <序号> |
查看回收站回收站、看下已删除的 | todo.js trash |
还原还原第 N 条、找回 xxx | todo.js restore <序号> |
清空回收站清空回收站、彻底删除 | todo.js empty-trash |
循环任务自动生成下一周期:标记完成一个循环任务时,脚本自动创建下一个周期副本,旧副本在 list 中隐藏。用
show可查看历史副本。批量创建子任务务必使用
batch-add:一条命令一次 load/save,避免并发冲突和顺序错乱。示例:
todo.js batch-add --parent 4 --title "子任务A" --title "子任务B" --title "子任务C"会按参数顺序依次分配 id 并追加,保证顺序正确。批量完成用
batch-done:todo.js batch-done 4.1 4.2 4.3一次性完成多条。所有操作命令均支持层级序号:
done 4.1、del 4.10、show 4.5等,无需查内部 id。多条并列意图(
ta#加一个打包上线,顺便看看今天的)可顺序执行多个脚本调用。
数据模型与规则
~/.todo/todo.json 结构(扁平数组 + parent_id 形成树,deleted 实现软删除):
{ "next_id": 5, "items": [
{ "id": 1, "title": "学习编程", "done": false, "parent_id": null,
"created_at": "...", "deleted": false, "priority": null, "due_date": null },
{ "id": 2, "title": "写日报", "done": false, "parent_id": null,
"created_at": "...", "deleted": false, "priority": null, "due_date": "2026-03-18",
"recurrence": { "type": "daily" },
"recurrence_group_id": "rec_xx_xxxx" }
] }
需要遵循的约束(脚本已内置,但理解它们有助于正确引导用户、准确把自然语言映射到命令):
- 优先级
priority:高/中/低/null(未设置)。 - 截止
due_date:YYYY-MM-DD或null(未设置)。 - 循环
recurrence:{ type: "daily" }/{ type: "weekly", day: 1-7 }/{ type: "monthly", date: 1-31 }/null。 - 循环分组
recurrence_group_id:同一循环任务的不同实例共享此 id,用于关联和隐藏历史副本。 - 父级自动汇总:有子任务的条目不能手动 done/undo,其完成状态由「所有直接子任务是否完成」自动推出,
list会显示子任务 x/y与完成符号。想让父级"完成",去完成它的子任务即可。 - 已完成条目默认隐藏:
list只展示未完成的条目(含部分完成的父级);已完成的叶子及整棵已完成子树不显示,但序号位置保留(如 1.1 完成后仍从 1.2 开始显示),确保done 1.2等序号操作不受影响。全部完成时输出🎉 全部完成!。 - 软删除:
del只是标记deleted=true(连带其整个子树);trash看回收站,restore还原(连带子树),empty-trash才物理删除。 - 循环任务规则:
- 标记完成时自动生成下一周期副本(旧副本在 list 中隐藏,
show仍可查看)。 - 生成副本时复制标题、优先级、父级关系、循环配置。
- 未指定
--due时,脚本自动计算第一个截止日期(每日→今天,每周→最近的目标日,每月→最近的目标日)。 undo一个循环任务时,如果同组已有更新的副本会被拒绝,提示用户操作新副本。
- 标记完成时自动生成下一周期副本(旧副本在 list 中隐藏,
- id 自动分配、不复用;显示按创建顺序。
输出铁律(硬规则,违反 = 不合格)
1. 原样输出,绝不二次加工
脚本 stdout 的结果原样展示给用户,不得做任何重新排版、格式化、换表格、加表格、摘要、精简、美化。脚本已经精心设计了输出格式,不需要也不允许再加工。
禁止行为:
- ✗ 把 list 的文本输出改成 Markdown 表格
- ✗ 把脚本输出摘要成几句话
- ✗ 给输出加上额外的 emoji、分隔线、标题
- ✗ 对完成度做二次计算再展示
正确做法:脚本返回什么 → 用户看到什么,一字不差。
2. 简单操作零冗余
对于 list、trash、show 这类纯查询操作:
- 不要重新读取 SKILL.md——你已经在执行上下文里了,规则你已经知道
- 不要解析意图——
看看/查看/列一下就是list,直接执行 - 不要多余步骤——一条
node todo.js list直接跑,跑完原样展示,结束
查询类操作的目标耗时:脚本执行 + 原样回显 = 结束,不做任何其他事。
3. 速度优先
用户的待办数据就在那,脚本跑一下只要几百毫秒。任何不必要的额外工具调用(重读 skill、查文档、做分析)都是浪费时间。每次操作只调用一个脚本命令,不要做多个无关调用。
边界处理
- 用户省略优先级/截止日期 → 不传参数,保持留空,不要替用户假设默认值。
- 用户对一个有子任务的条目说"完成" → 按脚本提示,引导其完成子任务,父级自动更新。
- 对已删除条目再
del/ 已还原条目再restore→ 脚本会给出友好报错,把报错原样汇报即可。 - 识别到的 id 不存在 → 先
list让用户确认编号,避免误删。
Signals
- GitHub stars
- 88
- Forks
- 13
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
todo-list- Source
- github.com/bd-dxg/my-pi
Related picks
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · wshobson
The pick for JavaScriptlark-markdown
Skill · larksuite
The pick for Markdownmarkdown-formatter
Skill · nvidia
The pick for Markdownsocial
Skill · coreyhaines31
More in Productivitygws-calendar
Skill · googleworkspace
More in Productivity