该技能为使用 td CLI 工具操作 Todoist 提供流程性指引。
用途 用于通过命令行完成 Todoist 的日常管理与自动化操作,并便于智能体以机器可读方式读取和写入数据。
前置条件 需先安装并认证 td CLI。验证命令:td auth status。若未安装,提示用户运行 npm install -g @doist/todoist-cli;若未认证,提示用户运行 td auth login 通过 OAuth 认证。
面向智能体的输出格式 使用 --json 输出 JSON 数组,--ndjson 输出按行分隔的 JSON(每行一个对象),--full 在 JSON 输出中包含所有字段(默认仅显示必要字段)。
确认要求 执行任何破坏性操作前,必须通过 AskUserQuestion 或类似工具向用户确认。同一逻辑组的相关操作仅需一次确认。破坏性操作包括:删除任务、项目、分区、标签或评论;完成任务;更新现有资源;归档项目。只读操作无需确认。
快速命令 td add "text" 自然语言快速添加;td today 今天到期与已逾期任务;td upcoming [days] 未来 N 天内到期任务(默认 7 天);td inbox 收件箱任务;td completed 最近完成的任务。
快速添加示例 td add "Buy milk tomorrow p1 #Shopping"、td add "Call dentist every monday @health"、td add "Review PR #Work /Code Review"。快速添加解析器支持:截止日期(tomorrow、next monday、Jan 15)、优先级(p1 紧急至 p4 普通)、项目(#ProjectName)、分区(/SectionName)、标签(@label1 @label2)。
任务 列出任务:td task list [options]。过滤选项包括 --project、--label(可逗号分隔多个)、--priority、--due(today、overdue 或 YYYY-MM-DD)、--filter(原始 Todoist 过滤查询)、--assignee、--workspace、--personal。输出示例:td task list --json;td task list --project "Work" --json;td task list --all --json。 查看任务详情:td task view <ref>,或加 --json。ref 可为任务名、部分匹配或 id:xxx。 创建任务:快速添加 td add "Task text with #Project @label tomorrow p2";显式标志 td task add --content "Task text" --project "Work" --due "tomorrow" --priority p2 --labels "urgent,review" --description "Additional details"。选项包括 --content(必填)、--due、--deadline、--priority、--project、--section、--labels、--parent、--description、--assignee、--duration。 更新任务:td task update <ref> --content "New content" --due "next week"。选项包括 --content、--due、--deadline、--no-deadline、--priority、--labels、--description、--assignee、--unassign、--duration。 完成任务:td task complete <ref>。重新打开任务:td task uncomplete id:xxx(需使用 id:xxx 格式)。删除任务:td task delete <ref>。移动任务:td task move <ref> --project "New Project"(或 --section、--parent)。在浏览器打开:td task browse <ref>。
项目 列出项目:td project list(或加 --json,或 --personal --json)。查看项目:td project view <ref>(或加 --json)。创建项目:td project create --name "Project Name" --color "blue" --parent "Parent Project" --view-style board --favorite;选项含 --name(必填)、--color、--parent、--view-style(list 或 board)、--favorite。更新项目:td project update <ref> --name "New Name" --color "red"。归档/取消归档:td project archive <ref> / td project unarchive <ref>。删除项目:td project delete <ref>,注意项目必须没有未完成任务。列出协作者:td project collaborators <ref>。
分区 列出:td section list <project>(或加 --json)。创建:td section create --name "Section Name" --project "Project Name"。更新:td section update <id> --name "New Name"。删除:td section delete <id>。
标签 列出:td label list(或加 --json)。创建:td label create --name "label-name" --color "green" --favorite。更新:td label update <ref> --name "new-name" --color "blue"。删除:td label delete <name>。
评论 列出:td comment list <task-ref>,或 td comment list <project-ref> --project。添加:td comment add <task-ref> --content "Comment text",或 td comment add <project-ref> --project --content "Comment text"。更新:td comment update <id> --content "Updated text"。删除:td comment delete <id>。
提醒 列出:td reminder list <task-ref>。添加:td reminder add <task-ref> --due "tomorrow 9am"。删除:td reminder delete <id>。
过滤器 列出已保存过滤器:td filter list --json。显示匹配任务:td filter show <filter-ref> --json。创建:td filter create --name "My Filter" --query "today & p1"。
已完成任务 td completed、td completed --since 2024-01-01、td completed --project "Work" --json、td completed --all --json。选项:--since(默认今天)、--until(默认明天)、--project。
活动与统计 td activity 查看最近活动;td stats 查看生产力统计与 karma。
分页 大数据集可用 --all 获取全部,或用游标分页:先 result=$(td task list --json --limit 50);若响应含 next_cursor,则 cursor=$(echo "$result" | jq -r '.[-1].id // empty'),再执行 td task list --json --limit 50 --cursor "$cursor"。
引用解析 命令中的 <ref> 参数接受:任务/项目/标签名称(支持部分匹配)、id:xxx 精确 ID 匹配、数字 ID(按 id:xxx 解释)。
附加参考 references/completed-tasks.md 介绍通过 API 获取已完成任务历史的替代方法;references/filters.md 介绍 --filter 标志使用的 Todoist 过滤查询语法。
工作流摘要
- 验证认证:td auth status;2) 读操作直接执行,无需确认;3) 写操作执行前请求确认;4) 使用 --json 获取机器可读数据;5) 处理大数据集使用 --all 或 --cursor 分页。