dingtalk-todo
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese钉钉待办 Skill
DingTalk Todo Skill
执行契约
Execution Contract
- 执行第一个 操作前完整读取
dws;当前任务已加载则不重复读取。dingtalk-shared - 先把请求拆成有序步骤,再逐步选入口。已知命令直接执行,不先查 Help、Schema 或 Shortcut Catalog;只有当前 leaf 的 flag 或安全语义确实不明时才查精确 leaf。
- 所有命令加 ,按结构化业务返回判断结果。后续 ID 只取自本次真实返回;零匹配、多匹配或类型不明时停止并消歧。
--format json - 写操作遵循最终 Runtime gate。需要确认时先说明对象、动作和影响,用户确认后才追加 ;不要把
--yes写入存储示例。--yes - 写后必须核验。非幂等写超时、缺少稳定 ID 或读回失败时先查询对账,禁止盲目重放。
- Before the first operation, fully read
dws; if already loaded in the current task, do not read it again.dingtalk-shared - Break the request into ordered steps first, then choose entry points step by step. For known commands, execute directly without first checking Help, Schema, or Shortcut Catalog; only check the exact leaf when its flag or security semantics are genuinely unclear.
- Add to all commands and judge results by structured business responses. Subsequent IDs come only from this actual response; stop and disambiguate on zero matches, multiple matches, or unclear types.
--format json - Writes follow the final Runtime gate. When confirmation is needed, first state the object, action, and impact; append only after the user confirms. Do not write
--yesinto stored examples.--yes - Verify after every write. On non-idempotent write timeout, missing stable ID, or read-back failure, query to reconcile first; blind replay is forbidden.
Shortcuts(无专用脚本/recipe 时优先)
Shortcuts (preferred when no dedicated script/recipe exists)
以下 shortcut 同时进入公开 catalog 与 Runtime Schema。按本 skill/recipe 路由,命中时 Shortcut 优先于原子命令。参数只查 ;仅需且已发布 时查 ,字段级再查 ;缺失不以 Help/样例推断。Schema 不可用才读一次已知 leaf Help; 用同 leaf Help 修正一次。 禁 Help:错误 suggestion → 已加载 Skill/reference 明确入口;均无则报漂移。禁全 Catalog/root/parent/product Help;仅映射、接口或 provenance 审计省略 。现有路由和 reference 均无法定位低频能力时,才用 发现。
dws schema --cli-path "todo +<shortcut>" --compact --jq '{cli_path,parameters,constraints,confirmation}' -f jsonresult--jq '{cli_path,outcomes:.result.outcomes,pagination}'data_schemaunknown flagunknown command--compactdws shortcut list --service todo --format json| Shortcut | 风险 | 适用场景 |
|---|---|---|
| write | 按姓名给某人创建并指派一条待办(自动解析 userId) |
| write | 把一条待办按姓名一次性指派给多个人(自动把每个姓名解析成 userId) |
| write | 添加待办评论并读回验证 |
| write | 创建待办并读回验证 |
| read | 列出我创建的待办(我作为创建人 creator 发起的待办,而非分配给我执行的) |
| read | 列出我今天到期的待办 |
| read | 查询待办详情 |
| read | 查询当前组织下我的待办列表 |
| read | 一次性列出与我相关的全部待办(我作为创建人/执行人/参与人三种角色的并集,按 taskId 去重) |
| read | 查询待办任务的附件列表 |
| read | 查询待办评论列表 |
| read | 查询子待办列表 |
| read | 列出我已过期未完成的待办 |
| write | 给自己创建一条带可选截止时间的待办 |
| write | 设置或清除待办提醒(仅终端回执) |
| read | 搜索与我相关的全部待办 |
| write | 按标题关键词把我的某条待办标记完成(自动定位 taskId) |
| write | 更新待办并读回验证 |
The following shortcuts also enter the public catalog and Runtime Schema. Route by this skill/recipe; on a hit, Shortcut takes priority over atomic commands. For parameters, only query ; when only the published is needed, query with ; for field-level details, query ; do not infer missing information from Help/examples. Only when the Schema is unavailable, read the known leaf Help once; an can be corrected once with the same leaf Help. forbids Help: a wrong suggestion → use the loaded Skill/reference to determine the entry; if both are absent, report drift. Full Catalog/root/parent/product Help is forbidden; omit only for mapping, interface, or provenance audits. Only when existing routes and references cannot locate a low-frequency capability, use to discover.
dws schema --cli-path "todo +<shortcut>" --compact --jq '{cli_path,parameters,constraints,confirmation}' -f jsonresult--jq '{cli_path,outcomes:.result.outcomes,pagination}'data_schemaunknown flagunknown command--compactdws shortcut list --service todo --format json| Shortcut | Risk | Applicable scenarios |
|---|---|---|
| write | Create and assign a todo to someone by name (automatically resolves userId) |
| write | Assign one todo to multiple people by name at once (automatically resolves each name into a userId) |
| write | Add a todo comment and read back to verify |
| write | Create a todo and read back to verify |
| read | List todos I created (as creator, not assigned to me for execution) |
| read | List todos due today |
| read | Query todo details |
| read | List my todos under the current organization |
| read | List all todos related to me at once (union of creator/executor/participant roles, deduplicated by taskId) |
| read | Query the attachment list of a todo task |
| read | Query the comment list of a todo |
| read | Query the subtask list |
| read | List my overdue incomplete todos |
| write | Create a todo for myself with an optional due time |
| write | Set or clear todo reminders (terminal receipt only) |
| read | Search all todos related to me |
| write | Mark one of my todos as done by title keyword (automatically locates taskId) |
| write | Update a todo and read back to verify |
路由优先级
Routing Priority
上面的通用 Shortcut 优先规则只适用于一个 Shortcut 完整覆盖当前步骤的情况。不要因为请求里出现“创建”就默认使用 / 。
+remind+create- 先选创建入口:按姓名指派用 /
+assign;给自己记一条且后续只有搜索、详情或清理时用+assign-multi;已有真实+remind且只需创建、回读和清理时用userId。+create - 组合生命周期从原子创建开始:创建后还要按状态/优先级/角色/日期/页码列举,或继续更新、完成/重开、提醒、评论、附件、成员、子待办、标签,或一次创建多个对象时,使用 。不要用创建 Shortcut 代替第一步。
todo task create - 后续按步骤选最窄入口:聚合、搜索和核验完整由 Shortcut 覆盖时使用 、
+get-my-tasks、+get-related-tasks、+due-today、+overdue、+search、+get、+complete、+reopen、+update、+comment或+reminder;需要原子特有参数、动态子资源 ID、多对象或中间状态时用原子命令。+list-* - 确定性批量/汇总使用脚本:批量创建、今天/明天/本周汇总、逾期扫描分别使用 bundled script。
- 跨步骤只传稳定 ID:Shortcut 与原子命令可以共存,但只传递规范化后的 、
taskId、commentId、attachmentId、tagCode;不要假设两类入口的完整返回结构相同。userId
The generic Shortcut priority rule above applies only when one Shortcut fully covers the current step. Do not default to / just because the request contains 'create'.
+remind+create- Choose the creation entry first: use /
+assignfor assigning by name; use+assign-multifor recording one for yourself that will only be searched, viewed, or cleaned up later; use+remindwhen you already have a real+createand only need create, read-back, and cleanup.userId - Compose a lifecycle starting from atomic creation: use when after creation you need to list by status/priority/role/date/page, or continue updating, completing/reopening, reminding, commenting, attachments, members, subtasks, tags, or creating multiple objects at once. Do not use a creation Shortcut in place of the first step.
todo task create - Then choose the narrowest entry per step: use ,
+get-my-tasks,+get-related-tasks,+due-today,+overdue,+search,+get,+complete,+reopen,+update,+comment, or+reminderwhen a Shortcut fully covers aggregation, search, and verification; use atomic commands when atomic-specific parameters, dynamic sub-resource IDs, multiple objects, or intermediate states are needed.+list-* - Use scripts for deterministic batch/aggregation: batch creation, today/tomorrow/week summaries, and overdue scans use the bundled scripts.
- Only pass stable IDs across steps: Shortcuts and atomic commands can coexist, but only pass normalized ,
taskId,commentId,attachmentId, andtagCode; do not assume the two entry types have identical complete return structures.userId
Golden Routes
Golden Routes
| 用户意图 | 首选入口 | 关键结果 / 边界 |
|---|---|---|
| 给自己创建,随后只搜索、看详情或清理 | | 自动解析当前用户; |
| “给张三建待办” | | 姓名必须唯一解析后才创建 |
| “给张三、李四建同一条待办” | | 任一姓名不唯一则零写入 |
已有 | | 返回稳定 |
| 创建后还要筛选、变更资源或创建多个对象 | | 从 |
| 今天到期 / 已逾期 | | 均有界拉全分页;空集合也是成功结果 |
| 当前组织下我的执行待办 | | |
| 与我相关的全部待办 | | 创建人、执行人、参与人三种角色并集,按 |
| 按标题关键词查询 | | 搜索与 list 不混用;跨全部分页匹配 |
已知 | | 详情必须回传同一个稳定 |
已知 | | 先读当前状态,避免重复写,再读回核验 |
| 只记得标题,标记完成 | | 仅唯一命中时写;零个或多个候选均停止 |
| 修改标题、截止时间或优先级 | | 至少指定一个待改字段;写后逐字段核验 |
| 设置独立提醒 | | 上游无提醒查询接口,只能返回终端写回执, |
| 基于截止时间提前提醒 | | 待办必须已有截止时间;偏移单位为分钟 |
| 清除全部提醒 | | 清除写操作;不能与提醒参数混用 |
| 批量创建 | | 预览返回稳定 |
| 今天/明天/本周汇总 | | 走 |
| User intent | Preferred entry | Key results / boundaries |
|---|---|---|
| Create for yourself, then only search, view details, or clean up | | Automatically resolves the current user; |
| Assign a todo to Zhang San | | Create only after the name resolves uniquely |
| Create the same todo for Zhang San and Li Si | | If any name is not unique, zero writes are performed |
Already have | | Returns a stable |
| After creation, also filter, change resources, or create multiple objects | | Enter the combined lifecycle from |
| Due today / overdue | | Both fetch all pages within bounds; an empty result is also a successful result |
| My execution todos under the current organization | | |
| All todos related to me | | Union of creator/executor/participant roles, deduplicated by |
| Query by title keyword | | Search and list are not mixed; matches across all pages |
Known | | Details must return the same stable |
Known | | Read the current state first to avoid duplicate writes, then read back to verify |
| Only remember the title, mark as complete | | Write only on a unique match; stop on zero or multiple candidates |
| Modify title, due time, or priority | | Specify at least one field to change; verify each field after writing |
| Set a standalone reminder | | Upstream has no reminder query interface; only the terminal write receipt can be returned, |
| Remind in advance based on due time | | The todo must already have a due time; offset unit is minutes |
| Clear all reminders | | Clear is a write operation; cannot be mixed with reminder parameters |
| Batch create | | Preview returns a stable |
| Today / tomorrow / week summary | | Uses |
低频原子能力
Low-Frequency Atomic Capabilities
组合请求先读 组合生命周期。以下常用原子命令已审定,直接执行,不要先猜别名或查 Help:
| 意图 | 命令骨架 |
|---|---|
| 解析自己 / 姓名 | |
| 创建 / 子待办 | |
| 列表 / 详情 | |
| 更新 / 完成或重开 | |
| 增删执行人 / 参与人 | |
| 评论 | |
| 附件 | |
| 提醒 | |
| 标签 | |
| 删除待办 | |
删除类操作必须由用户确认;若用户在当前请求中已明确授权“办完后删除/清理本次创建对象”,该授权只覆盖本次记录的精确 ID。附件上传会真实传输本地文件,不能用来试探权限。
For combined requests, read Combined Lifecycle first. The following commonly used atomic commands are approved; execute them directly without guessing aliases or checking Help:
| Intent | Command skeleton |
|---|---|
| Resolve self / name | |
| Create / subtasks | |
| List / details | |
| Update / complete or reopen | |
| Add/remove executors / participants | |
| Comments | |
| Attachments | |
| Reminders | |
| Tags | |
| Delete todo | |
Delete-type operations must be confirmed by the user; if the user has explicitly authorized in the current request to 'delete/clean up the object created this time after completion', the authorization only covers the exact IDs recorded in this session. Attachment uploads actually transfer local files and must not be used to probe permissions.
关键约束
Key Constraints
- 标题、URL、展示序号都不是 。已知 ID 直接行动;未知 ID 用列表/搜索定位,零匹配或多匹配时停止。
taskId - 待办公开命令统一使用 ;
--task-id/--id只是隐藏兼容别名,不要写入新命令或示例。--ids - 优先级:低=10、普通=20、较高/高/重要=30、紧急/最高/P0=40。
- /
--due表示 deadline;独立 reminder 必须走+remind --at。+reminder - 自定义时间提醒的原子 flag 是 ;不要把 Shortcut 的
--reminder-time-stamp套到--at。task add-reminder - 使用
task list,不要写--status;详情是--done,不存在task get。task detail - “待办标签”始终属于 Todo,使用 ;绝不能解释成 Git tag、通讯录标签或其他产品标签。
dws todo tag ... - 创建和评论是非幂等写。超时、缺少稳定 ID 或读回失败时保留“可能已提交/未核验”状态,先查询对账,禁止盲目重放。
- 所有命令加 ;写 Shortcut 按 Runtime 安全契约确认,确认前不得自行附加
--format json。--yes - 会后行动项来自听记时先走 ;OA 审批走
dingtalk-minutes;时间块和会议走dingtalk-misc。dingtalk-calendar
- Title, URL, and display sequence number are not . Act directly on known IDs; for unknown IDs, locate via list/search, and stop on zero or multiple matches.
taskId - Todo public commands uniformly use ;
--task-id/--idare only hidden compatibility aliases. Do not write them into new commands or examples.--ids - Priority: low=10, normal=20, above normal/high/important=30, urgent/highest/P0=40.
- /
--duemeans the deadline; standalone reminders must use+remind --at.+reminder - The atomic flag for a custom-time reminder is ; do not apply the Shortcut's
--reminder-time-stampto--at.task add-reminder - uses
task list; do not write--status; details are--done;task getdoes not exist.task detail - 'Todo tags' always belong to Todo; use ; never interpret them as Git tags, contact tags, or other product tags.
dws todo tag ... - Creation and comments are non-idempotent writes. On timeout, missing stable ID, or read-back failure, keep a 'possibly submitted/unverified' state and query to reconcile first; blind replay is forbidden.
- All commands add ; write Shortcuts follow the Runtime security contract; do not attach
--format jsonon your own before confirmation.--yes - Post-meeting action items from minutes should go through first; OA approvals use
dingtalk-minutes; time blocks and meetings usedingtalk-misc.dingtalk-calendar
按需参考
On-Demand References
- 局部意图消歧
- 轻量流程
- 组合流程
- 完整命令参考
- Local Intent Disambiguation
- Lightweight Flows
- Combined Flows
- Complete Command Reference