bd-dxg/my-pi/todo-list

Claude Code and agent skill by bd-dxg/my-pi

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

个人待办(todolist)增删改查工具,支持项目/子任务多级嵌套、父级进度自动汇总、软删除回收站。只要用户以 "ta#" 开头发指令(如 ta#加个任务、ta#看看有什么没做完、ta#把第2条完成、ta#删除第3条、ta#还原),就必定使用本 skill 解析意图并调用脚本执行。也用于用户提到 todo/待办/任务清单/项目分期/子任务 时。

Install

npx vskill@latest install bd-dxg/my-pi/todo-list

SKILL.md

todo-list(个人待办清单)

管理用户的个人待办事项,数据持久化在 ~/.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 下用反斜杠分隔亦可):

bash
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 找到对应层级序号再操作。

用户意图(示例说法)脚本调用
添加顶层任务<br>加个任务:xxx、新建议题 xxx、记一下 xxxtodo.js add --title "标题"
批量添加(推荐用于创建子任务)<br>在 <父> 下批量建子任务、一口气加一堆todo.js batch-add --parent <父id> --title "标题1" --title "标题2" --title "标题3"
添加子任务(单条)<br>在 <父> 下建个 xxx、加个子任务 xxxtodo.js add --parent <父id> --title "标题"
添加时带附加信息追加 `--priority 高\中\低(优先级)、--due YYYY-MM-DD(截止日期)、--repeat daily\weekly\monthly`(循环类型)。未提到就不传,脚本自动留空
创建循环任务<br>每天重复:xxx、每周一写周报、每月15号还信用卡todo.js add --title "标题" --repeat daily(每日)<br>todo.js add --title "标题" --repeat weekly --every 周一(每周)<br>todo.js add --title "标题" --repeat monthly --every 15(每月)<br>没指定 --due 时自动计算第一个截止日期
设置/修改循环<br>把第 N 条改成每日重复、改为每周三`todo.js edit <序号> --repeat daily\weekly\monthly<br>修改每周需加 --every 周几,修改每月需加 --every 日`
取消循环<br>取消第 N 条的循环、第 N 条不再重复todo.js edit <序号> --repeat off
列出/查看全部<br>看看、列出、有什么没做完的、查一下todo.js list
排序查看`todo.js list --sort priority\due\id`
查看单条+子任务<br>看看第 N 条详情、查一下 xxxtodo.js show <序号>
批量完成(推荐)<br>完成 4.1 4.2 4.3、把这3个做完todo.js batch-done 4.1 4.2 4.3
标记完成<br>把第 N 条完成、第 N 条搞定、勾掉 xxxtodo.js done <序号>
取消完成<br>恢复未完成、取消完成 xxxtodo.js undo <序号>
改标题<br>改第 N 条标题为 xxx、重命名 xxxtodo.js edit <序号> --title "新标题"
设优先级<br>给第 N 条设高优先级`todo.js prio <序号> 高\中\低\无`
设截止日期<br>第 N 条截止到 2026-03-01`todo.js due <序号> YYYY-MM-DD\无`
删除(软删除入回收站)<br>删掉第 N 条、移除 xxxtodo.js del <序号>
查看回收站<br>回收站、看下已删除的todo.js trash
还原<br>还原第 N 条、找回 xxxtodo.js restore <序号>
清空回收站<br>清空回收站、彻底删除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 实现软删除):

json
{ "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 一个循环任务时,如果同组已有更新的副本会被拒绝,提示用户操作新副本。
  • id 自动分配、不复用;显示按创建顺序。

输出铁律(硬规则,违反 = 不合格)

1. 原样输出,绝不二次加工

脚本 stdout 的结果原样展示给用户,不得做任何重新排版、格式化、换表格、加表格、摘要、精简、美化。脚本已经精心设计了输出格式,不需要也不允许再加工。

禁止行为:

  • ✗ 把 list 的文本输出改成 Markdown 表格
  • ✗ 把脚本输出摘要成几句话
  • ✗ 给输出加上额外的 emoji、分隔线、标题
  • ✗ 对完成度做二次计算再展示

正确做法:脚本返回什么 → 用户看到什么,一字不差。

2. 简单操作零冗余

对于 list、trash、show 这类纯查询操作:

  • 不要重新读取 SKILL.md——你已经在执行上下文里了,规则你已经知道
  • 不要解析意图——看看/查看/列一下 就是 list,直接执行
  • 不要多余步骤——一条 node todo.js list 直接跑,跑完原样展示,结束

查询类操作的目标耗时:脚本执行 + 原样回显 = 结束,不做任何其他事。

3. 速度优先

用户的待办数据就在那,脚本跑一下只要几百毫秒。任何不必要的额外工具调用(重读 skill、查文档、做分析)都是浪费时间。每次操作只调用一个脚本命令,不要做多个无关调用。

边界处理

  • 用户省略优先级/截止日期 → 不传参数,保持留空,不要替用户假设默认值。
  • 用户对一个有子任务的条目说"完成" → 按脚本提示,引导其完成子任务,父级自动更新。
  • 对已删除条目再 del / 已还原条目再 restore → 脚本会给出友好报错,把报错原样汇报即可。
  • 识别到的 id 不存在 → 先 list 让用户确认编号,避免误删。

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
89
Repository forks
14
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/bd-dxg/my-pi/todo-list/badge)](https://verified-skill.com/skills/bd-dxg/my-pi/todo-list)

Something wrong with this skill or its page? Tell us.