wecomcli-edit-todo

企业微信待办事项编辑技能,支持创建、更新、删除待办及变更用户处理进度状态。在用户说"帮我创建一个待办"、"把这个任务分派给张三"、"标记待办完成"、"删掉那个待办"、"帮我建个提醒"、"更新一下待办内容"、"把提醒时间改到下周"、"接受这个待办"、"拒绝这个待办"等需要对待办进行写操作的场景时使用。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "wecomcli-edit-todo" with this command: npx skills add wecomteam/wecom-cli/wecomteam-wecom-cli-wecomcli-edit-todo

企业微信待办事项编辑技能

wecom-cli 是企业微信提供的命令行程序,所有操作通过执行 wecom-cli 命令完成。

通过 wecom-cli 对企业微信待办事项进行写操作,支持四种操作:创建待办、更新待办、删除待办、变更用户状态。

行为策略

重试策略: 遭遇"返回 HTTP 错误"或"HTTP 请求失败"时,主动重试,最多重试三次。


操作

1. 创建待办

创建一个新的待办事项,可指定内容、分派人和提醒时间:

wecom-cli todo create_todo '<json格式的入参>'

参数说明:

需要遵循 “注意事项”中的格式要求:

参数类型必填说明
contentstring待办内容
follower_listobject分派人列表,格式见注意事项第 7 条
remind_timestring提醒时间,格式:YYYY-MM-DD HH:mm:ss

调用示例:

wecom-cli todo create_todo '{"content": "<待办的内容>", "remind_time": "2025-06-01 09:00:00"}'

返回格式:

{
    "errcode": 0,
    "errmsg": "ok",
    "todo_id": "TODO_ID"
}

2. 更新待办

修改已有待办事项的内容、分派人、状态或提醒时间:

wecom-cli todo update_todo '<json格式的入参>'

参数说明:

需要遵循 “注意事项”中的格式要求:

参数类型必填说明
todo_idstring待办 ID
contentstring新的待办内容
follower_listobject新的分派人列表(全量替换,非追加),格式见注意事项第 7 条。若要新增分派人,需先查出现有分派人,合并后一起提交
todo_statusnumber新的待办状态:0-已完成,1-进行中。删除请使用 delete_todo
remind_timestring新的提醒时间

调用示例:

wecom-cli todo update_todo '{"todo_id": "TODO_ID", "content": "<待办的内容>", "remind_time": "2025-07-01 09:00:00"}'

返回格式:

{
    "errcode": 0,
    "errmsg": "ok"
}

3. 删除待办

删除指定的待办事项:

wecom-cli todo delete_todo '<json格式的入参>'

参数说明:

需要遵循 “注意事项”中的格式要求:

参数类型必填说明
todo_idstring待办 ID

调用示例:

wecom-cli todo delete_todo '{"todo_id": "TODO_ID"}'

返回格式:

{
    "errcode": 0,
    "errmsg": "ok"
}

删除操作不可撤销,执行前应向用户确认。 注意:delete_todoupdate_todo 设置 todo_status=2 效果相同,优先使用 delete_todo


4. 变更用户待办状态

更改当前用户在某个待办中的状态(拒绝/接受/已完成):

wecom-cli todo change_todo_user_status '<json格式的入参>'

参数说明:

需要遵循 “注意事项”中的格式要求:

参数类型必填说明
todo_idstring待办 ID
user_statusnumber用户状态:0-拒绝,1-接受,2-已完成

调用示例:

wecom-cli todo change_todo_user_status '{"todo_id": "TODO_ID", "user_status": 2}'

返回格式:

{
    "errcode": 0,
    "errmsg": "ok"
}

典型工作流

创建待办并分派给同事

用户问:"帮我创建一个待办,让张三下周一前完成需求文档"

  1. 第一步:通过 wecomcli-lookup-contact 技能查询张三的 userid,在返回结果中筛选姓名为"张三"的成员,获取其 userid
  2. 第二步:创建待办并分派:wecom-cli todo create_todo '{"content": "<待办的内容>", "follower_list": {"followers": [{"follower_id": "zhangsan", "follower_status": 1}]}, "remind_time": "2025-03-24 09:00:00"}'

follower_id 必须来自 wecomcli-lookup-contact 技能的 get_userlist 接口返回的 userid,禁止自行猜测。若搜索结果有多个同名人员,需展示候选列表让用户确认。

标记待办完成

需要区分两种场景:标记待办本身完成(改 todo_status)和标记我的参与状态为完成(改 user_status)。

场景 A:标记待办本身完成

用户问:"把'完成Q2规划文档'这个待办标记为完成" / "关闭这个待办"

  1. 第一步:通过 wecomcli-get-todo-list 获取待办列表,找到目标待办的 todo_id:wecom-cli todo get_todo_list '{}'
  2. 第二步:通过 wecomcli-get-todo-detail 获取详情,确认是目标待办:wecom-cli todo get_todo_detail '{"todo_id_list": ["TODO_ID"]}'
  3. 第三步:确认后,将待办状态改为已完成:wecom-cli todo update_todo '{"todo_id": "TODO_ID", "todo_status": 0}'

场景 B:标记我的参与状态为完成

用户问:"我已经完成了这个待办" / "标记我的部分为完成"

  1. 第一步:通过 wecomcli-get-todo-list 获取待办列表,找到目标待办的 todo_id:wecom-cli todo get_todo_list '{}'
  2. 第二步:通过 wecomcli-get-todo-detail 获取详情,确认是目标待办:wecom-cli todo get_todo_detail '{"todo_id_list": ["TODO_ID"]}'
  3. 第三步:确认后,变更当前用户的参与状态为已完成:wecom-cli todo change_todo_user_status '{"todo_id": "TODO_ID", "user_status": 2}'

如何判断用户意图: 如果用户说"标记完成"且该待办是自己创建的、没有其他分派人,通常指场景 A(标记待办本身完成)。如果该待办有多个参与人,用户可能只是想标记自己那部分完成(场景 B)。不确定时应向用户确认。

用户提供的是待办内容描述而非 ID,所以需要先通过 wecomcli-get-todo-list 和 wecomcli-get-todo-detail 查找再匹配。匹配到多个相似待办时,列出候选项让用户确认。

更新待办内容或提醒时间

用户问:"把那个需求文档的待办提醒时间改到下周五"

  1. 第一步:查找目标待办:wecom-cli todo get_todo_list '{}',再查详情:wecom-cli todo get_todo_detail '{"todo_id_list": ["TODO_ID_1", "TODO_ID_2"]}'
  2. 第二步:确认目标后更新:wecom-cli todo update_todo '{"todo_id": "TODO_ID", "remind_time": "2025-03-28 09:00:00"}'

删除待办

用户问:"删掉'代码评审'那个待办"

  1. 第一步:查找目标待办:wecom-cli todo get_todo_list '{}',再查详情:wecom-cli todo get_todo_detail '{"todo_id_list": ["TODO_ID"]}'
  2. 第二步:向用户确认后删除:wecom-cli todo delete_todo '{"todo_id": "TODO_ID"}'

删除前必须向用户确认,确认措辞示例:"确认删除待办'代码评审'吗?删除后不可恢复。"


注意事项

  1. todo_id 来源规则

    • todo_id 必须来自 wecomcli-get-todo-list 返回的结果,禁止自行推测或构造
    • 用户通常提供待办内容描述而非 ID,应先通过 wecomcli-get-todo-list 查列表再匹配
    • 若匹配到多个相似待办,展示候选列表让用户确认
  2. follower_id 来源规则

    • follower_iduserid,必须通过 wecomcli-lookup-contact 技能的 get_userlist 接口获取
    • 禁止根据用户姓名自行猜测 userid
    • 若搜索结果有多个同名人员,展示候选列表让用户选择
  3. 时间格式

    • 所有时间参数使用 YYYY-MM-DD HH:mm:ss 格式
    • 用户说"明天"、"下周一"等相对时间时,根据当前日期推算具体日期
  4. 状态值含义

    • 待办状态(todo_status):0-已完成,1-进行中,2-已删除
    • 用户状态(user_status):0-拒绝,1-接受,2-已完成
    • 分派人状态(follower_status):0-拒绝,1-接受,2-已完成
  5. 破坏性操作确认

    • 删除待办(delete_todo)前必须向用户确认
    • 变更状态为"拒绝"(user_status=0)前建议向用户确认
  6. 错误处理

    • errcode 不为 0,说明接口调用失败,告知用户 errmsg 中的错误信息
  7. follower_list 的格式(作为输入参数的时候)

    "follower_list": {                    // 分派人列表
        "followers": [                    // 注意里面还有一层是 "followers",它的value才是真正的列表数组
            {
                "follower_id": "FOLLOWER_ID",      // 分派人id
                "follower_status": 1              // 分派人状态:0-拒绝, 1-接受, 2-已完成
            }
        ]
    }
    

    follower_id 即 userid,需要通过 wecomcli-lookup-contact 查询获取,禁止自行猜测或构造。

相关技能

  • 获取待办列表wecomcli-get-todo-list — 查询待办概要列表,获取 todo_id
  • 获取待办详情wecomcli-get-todo-detail — 根据 todo_id 获取完整内容
  • 通讯录查询wecomcli-lookup-contactget_userlist — 获取成员 userid,用于 follower_id

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

wecomcli-get-meeting

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

wecomcli-manage-smartsheet-data

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

wecomcli-manage-doc

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

wecomcli-manage-smartsheet-schema

No summary provided by upstream source.

Repository SourceNeeds Review