CtrlK
BlogDocsLog inGet started
Tessl Logo

dingtalk-todo

钉钉待办 / TODO。Use when 用户说 创建待办/TODO/任务提醒/指派任务/标记完成/查待办/紧急待办/循环待办/批量建待办/逾期待办。不做日报周报(走 dingtalk-misc)、审批(走 dingtalk-misc)、日程(走 dingtalk-calendar)。命令前缀:dws todo。

78

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

钉钉待办 Skill

前置条件 — 执行操作前必读

**CRITICAL — 执行任何 dws 操作前,MUST 先用 Read 工具完整读取 dws-shared。**该轻量文件包含全局执行契约、安全底线及 shared references 的按需加载导航;不要预加载其全部 references。

命令参考:todo.md;剧本:02-task.md

Shortcuts(无专用脚本/recipe 时优先)

以下 shortcut 同时进入公开 catalog 与 Runtime Schema。先按本 skill 的意图表、脚本和 recipe 路由:存在精确覆盖该场景的专用脚本/recipe 时按其执行;否则用户意图命中时,shortcut 优先于手写原子命令。命令已选中时直接执行;只在参数或安全语义不确定时读取 leaf Schema(例如 dws schema --cli-path "todo +<shortcut>" --format json),在当前 Cobra flags 不确定时读取 dws todo <shortcut> --help。仅当现有路由和 reference 都无法定位低频能力时,才用 dws shortcut list --service todo --format json 批量发现。

Shortcut风险适用场景
dws todo +assignwrite按姓名给某人创建并指派一条待办(自动解析 userId)
dws todo +assign-multiwrite把一条待办按姓名一次性指派给多个人(自动把每个姓名解析成 userId)
dws todo +created-todosread列出我创建的待办(我作为创建人 creator 发起的待办,而非分配给我执行的)
dws todo +getread查询待办详情
dws todo +get-my-tasksread查询当前组织下我的待办列表
dws todo +list-attachmentread查询待办任务的附件列表
dws todo +list-commentread查询待办评论列表
dws todo +list-subread查询子待办列表
dws todo +overdueread列出我已过期未完成的待办
dws todo +remindwrite给自己创建一条带可选截止时间的待办
dws todo +todo-donewrite按标题关键词把我的某条待办标记完成(自动定位 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。

  1. 解析执行者(必须):指定姓名 → dws aisearch person --keyword "<姓名>" --dimension name --format jsonuserId;未指定 → dws contact user get-self --format json 取当前用户 userId;多人逐个搜索后英文逗号拼接。
  2. 执行(必须)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"
  3. 验证(必须):从返回取 taskId/todoTaskId,立即 dws todo task get --task-id <taskId> --format json 回读。

禁止:跳过执行者解析直接传姓名、用 task detail 取详情(正确是 task get)、创建后不回读。

SOP-2 查询待办(query-todo)

触发:查待办/今天本周待办/未完成/已完成。

  1. 执行(必须)dws todo task list --status false|true --format jsonfalse=未完成、true=已完成、不传=全部);hasMore=true 必须翻页。
  2. 摘要脚本(必须):今天/本周未完成 → python scripts/todo_daily_summary.py today|tomorrow|week;逾期 → python scripts/todo_overdue_check.py
  3. 详情(必须)dws todo task get --task-id <taskId> --format json;按主题筛选先 task list 再按标题过滤,禁止编造主题查询 flag。

禁止:写 --done true(用 --status true)、编造主题筛选参数。

SOP-3 完成 / 重开 / 改 / 删(mutate-todo)

触发:标记完成/重开/改标题截止优先级/删待办。

  1. 执行(必须):完成/重开 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>必须先与用户确认)。
  2. 验证(必须)task done/update 后用 task get 或对应 task list --status ... 回读确认;delete 后用 task get 确认已不存在或列表已移除。

禁止:未确认就删除、用 update --done(首选 task done --status)、改动后不回读。

SOP-4 批量建待办(batch-create)

触发:批量建待办/一次建多条。

  1. 解析(必须):执行者姓名先批量解析成真实 userId;单批最多 30 条。
  2. 执行(必须):对每条待办执行 dws todo task create --title "<标题>" --executors <userId> --priority <10/20/30/40> [--due "<ISO>"] --format json,逐条收集返回的 taskId/todoTaskId。可并行执行,但不得丢失“输入条目 → taskId”对应关系。
  3. 验证(必须):对全部新建 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-aisearchuserId
  • 会后从听记自动建待办 → 切到 dingtalk-minutes
  • 项目进度汇总写文档 → 切到 dingtalk-doc

局部意图与短流程

Repository
DingTalk-Real-AI/dingtalk-workspace-cli
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.