
DingTalk ToDo
FreeManage your tasks efficiently in DingTalk.
Free · Opens the source repo
What DingTalk ToDo does
The DingTalk ToDo skill is designed for users who need to manage tasks and reminders within the DingTalk platform. This skill allows users to create, assign, and track tasks, ensuring that important deadlines and responsibilities are met. It is particularly useful for teams and individuals who rely on DingTalk for communication and collaboration, providing a streamlined way to handle task management without leaving the platform.
Users can interact with the skill through a series of commands that facilitate task creation, assignment, and status updates. For instance, users can create a task by simply specifying the title and the assignee's name, which the skill automatically resolves to a user ID. This reduces the friction of managing tasks, as users do not need to remember or look up IDs. Furthermore, the skill supports batch task creation, allowing multiple tasks to be created simultaneously, which is ideal for project managers handling numerous assignments.
The skill also includes features for querying tasks, such as listing overdue tasks and retrieving details about specific tasks. This functionality ensures that users can keep track of their responsibilities and deadlines effectively. Additionally, the skill mandates a structured approach to task management, requiring users to follow specific Standard Operating Procedures (SOPs) for creating, querying, and modifying tasks, which helps maintain consistency and accuracy in task handling.
Overall, the DingTalk ToDo skill is a valuable tool for anyone using DingTalk who needs to manage tasks efficiently. It is particularly suited for teams that prioritize organization and accountability in their workflows, providing a robust solution for task management within the DingTalk ecosystem.
When to use it
Use this skill when you need to manage tasks, reminders, and assignments directly within DingTalk.
When not to use it
This skill is not suitable for general project management outside of DingTalk or for handling reports and approvals, which are managed by other tools.
What you can build with it
Creating a Task for a Team Member
Easily create a task and assign it to a colleague by specifying their name, which the skill will convert to their user ID.
Checking Overdue Tasks
Quickly list all overdue tasks to ensure nothing is missed and deadlines are met.
Batch Task Creation for Projects
Create multiple tasks at once for a project, streamlining the process and saving time.
How to install DingTalk ToDo
View source1. Install with the skills CLI
npx skills add dingtalk-real-ai/dingtalk-workspace-cli/dingtalk-todo --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by dingtalk-real-ai钉钉待办 Skill
前置条件 — 执行操作前必读
**CRITICAL — 执行任何
dws操作前,MUST 先用 Read 工具完整读取dingtalk-shared。**该轻量文件包含全局执行契约、安全底线及 shared references 的按需加载导航;不要预加载其全部 references。
<!-- VISIBLE_SHORTCUTS_START -->命令参考:todo.md;剧本:02-task.md。
Shortcuts(无专用脚本/recipe 时优先)
以下 shortcut 同时进入公开 catalog 与 Runtime Schema。先按本 skill 的意图表、脚本和 recipe 路由:存在精确覆盖该场景的专用脚本/recipe 时按其执行;否则用户意图命中时,shortcut 优先于手写原子命令。命令已选中时直接执行;只在参数或安全语义不确定时读取 Agent leaf Schema(例如 dws schema --cli-path "todo +<shortcut>" --compact --format json),在当前 Cobra flags 不确定时读取 dws todo <shortcut> --help。只有参数映射、接口绑定或 provenance 审计才省略 --compact。仅当现有路由和 reference 都无法定位低频能力时,才用 dws shortcut list --service todo --format json 批量发现。
| Shortcut | 风险 | 适用场景 |
|---|---|---|
dws todo +assign | write | 按姓名给某人创建并指派一条待办(自动解析 userId) |
dws todo +assign-multi | write | 把一条待办按姓名一次性指派给多个人(自动把每个姓名解析成 userId) |
dws todo +created-todos | read | 列出我创建的待办(我作为创建人 creator 发起的待办,而非分配给我执行的) |
dws todo +get | read | 查询待办详情 |
dws todo +get-my-tasks | read | 查询当前组织下我的待办列表 |
dws todo +list-attachment | read | 查询待办任务的附件列表 |
dws todo +list-comment | read | 查询待办评论列表 |
dws todo +list-sub | read | 查询子待办列表 |
dws todo +overdue | read | 列出我已过期未完成的待办 |
dws todo +remind | write | 给自己创建一条带可选截止时间的待办 |
dws todo +todo-done | write | 按标题关键词把我的某条待办标记完成(自动定位 taskId) |
意图表
| 用户说 | 命令 |
|---|---|
| "建一条待办给张三" | dws todo task create --title "<标题>" --executors <userId> |
| "较高 / 高优先级待办" | dws todo task create ... --priority 30(10低/20普通/30较高/40紧急) |
| "紧急 / 最高优先级 / 立即处理" | dws todo task create ... --priority 40 |
| "循环待办(每天)" | dws todo task create ... --due "<首次截止ISO>" --recurrence "DTSTART:<UTC>\nRRULE:FREQ=DAILY;INTERVAL=1" |
| "批量建待办" | 按 SOP-4 逐条创建、收集 taskId 并批量回读 |
| "今天 / 本周未完成待办" | python scripts/todo_daily_summary.py [today|tomorrow|week] |
| "逾期待办" | python scripts/todo_overdue_check.py |
| "标记完成 / 重开" | dws todo task done --task-id <taskId> --status true|false |
| "修改标题/截止时间/优先级" | dws todo task update --task-id <taskId> ... |
| "删除待办" | dws todo task delete --task-id <taskId>(需用户确认) |
标准 SOP(必遵流程)
命中以下意图必须按对应 SOP 顺序执行;禁止跳步、替换命令、编造 taskId。每条命令必须带
--format json。创建/完成/删除后必须回读验证,不要凭创建返回或口头计划就结束。
SOP-1 建待办(create-todo)
触发:建待办/任务提醒/指派任务/TODO。
- 解析执行者(必须):指定姓名 →
dws aisearch person --keyword "<姓名>" --dimension name --format json取userId;未指定 →dws contact user get-self --format json取当前用户userId;多人逐个搜索后英文逗号拼接。 - 执行(必须):
dws todo task create --title "<标题>" --executors <userId>[,<userId2>...] --priority <10/20/30/40> --format json;有截止时间加--due "<ISO>";循环待办加--due "<首次截止ISO>" --recurrence "DTSTART:<UTC>\nRRULE:FREQ=DAILY;INTERVAL=1"。 - 验证(必须):从返回取
taskId/todoTaskId,立即dws todo task get --task-id <taskId> --format json回读。
禁止:跳过执行者解析直接传姓名、用 task detail 取详情(正确是 task get)、创建后不回读。
SOP-2 查询待办(query-todo)
触发:查待办/今天本周待办/未完成/已完成。
- 执行(必须):
dws todo task list --status false|true --format json(false=未完成、true=已完成、不传=全部);hasMore=true必须翻页。 - 摘要脚本(必须):今天/本周未完成 →
python scripts/todo_daily_summary.py today|tomorrow|week;逾期 →python scripts/todo_overdue_check.py。 - 详情(必须):
dws todo task get --task-id <taskId> --format json;按主题筛选先task list再按标题过滤,禁止编造主题查询 flag。
禁止:写 --done true(用 --status true)、编造主题筛选参数。
SOP-3 完成 / 重开 / 改 / 删(mutate-todo)
触发:标记完成/重开/改标题截止优先级/删待办。
- 执行(必须):完成/重开
dws todo task done --task-id <taskId> --status true|false --format json;修改dws todo task update --task-id <taskId> ...;删除dws todo task delete --task-id <taskId>(必须先与用户确认)。 - 验证(必须):
task done/update后用task get或对应task list --status ...回读确认;delete后用task get确认已不存在或列表已移除。
禁止:未确认就删除、用 update --done(首选 task done --status)、改动后不回读。
SOP-4 批量建待办(batch-create)
触发:批量建待办/一次建多条。
- 解析(必须):执行者姓名先批量解析成真实
userId;单批最多 30 条。 - 执行(必须):对每条待办执行
dws todo task create --title "<标题>" --executors <userId> --priority <10/20/30/40> [--due "<ISO>"] --format json,逐条收集返回的taskId/todoTaskId。可并行执行,但不得丢失“输入条目 → taskId”对应关系。 - 验证(必须):对全部新建
taskId执行dws todo task get --task-id <taskId> --format json回读;多 ID 按共享并行规则处理,全部成功后才能报告批量创建完成。
禁止:只统计创建命令退出码、不保留 taskId、创建后不回读、在执行者位置传姓名。
参数硬约束
- 任务详情只用
dws todo task get --task-id <taskId>;不要写task detail。 - 完成状态首选
dws todo task done --task-id <taskId> --status true|false;若用update,也必须是--task-id+--done true|false。 - 查询列表完成状态用
dws todo task list --status false|true --format json。不要写--done true作为可见参数,虽然兼容但不作为推荐写法。 --id/--ids是隐藏兼容别名,文档和生成命令统一写--task-id,减少模型漂移。- 优先级映射:低=10,普通=20,较高/高/重要=30,紧急/最高/P0/马上处理=40;不要把"较高"写成 40。
- 截止时间必须是 ISO-8601。相对日期按当前日期计算;例如周五说"下周二"就是紧接下一个自然周的周二,不要再加一周。
- 创建、标记完成、重开、删除后必须
task get或对应task list --status ...验证,不要只凭创建返回或口头计划结束。 - 所有 dws 命令带
--format json。
跨产品协作
- 执行人是人名 → 先用
dingtalk-aisearch拿userId - 会后从听记自动建待办 → 切到
dingtalk-minutes - 项目进度汇总写文档 → 切到
dingtalk-doc
局部意图与短流程
Frequently asked questions about DingTalk ToDo
Similar skills
Daily Focus Board
A motivating tool for daily task management and focus.
Paperclip
Streamline task coordination with Paperclip API.
Context Agent
Enhance session continuity with automatic context management.
Garden Inbox
Efficiently clean up your Paperclip inbox with ease.
Daily Sales Briefing
Start your day with a prioritized sales briefing.
Update Command
Keep your tasks and memory in sync effortlessly.
