lark-task
飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。
By larksuite · 438,631 installs
npx skills add larksuite/cli --skill lark-task
Source repository · Upstream listing
task (v2)
CRITICAL — 开始前 MUST 先用 Read 工具读取 [ ../lark shared/SKILL.md ](../lark shared/SKILL.md),其中包含认证、权限处理
命令选择与渐进式发现(必读)
执行任何 Task 命令前,必须先确认能力真实存在,禁止根据用户意图自行拼接或猜测 +<verb :
1. 先将用户意图与下方 Shortcut 表精确匹配。只有表中明确列出的 shortcut 才可直接选择;参数不确定时读取对应 reference 或运行该 shortcut 的 help 。
2. 没有精确匹配、或无法确认当前版本是否支持时,先运行 lark cli task help ,以当前 CLI 输出的命令列表为准。
3. help 中存在匹配 shortcut 时,使用 help 列出的完整 shortcut token(例如 +create )运行 lark cli task <shortcut help ,再按真实 flag 执行。
4. help 中没有匹配 shortcut 时,不得尝试相似的 +<verb ;从 help 中选择原生 resource,运行 lark cli task <resource help 确认 method,再运行 lark cli schema task.<resource .<method 获取参数结构,最后调用 lark cli task <resource <method ... 。
5. 遇到 unknown subcommand 时必须停止猜测或尝试变体,回到第 2 步重新发现能力。
shortcut 名称只能来自本 Skill 的 Shortcut 表或 lark cli task help ;原生 resource/method 以逐级 help 为准,参数名、类型和嵌套结构以 method schema 为准。
任务搜索技巧 :先区分用户是否 特地指定使用搜索 skill ,以及是否真的提供了 查询关键字 (例如任务名称、关键词、片段描述)。如果用户特地指定使用搜索 skill,或明确给出了任务查询关键字,则目标是 任务 时优先使用 +search 。如果用户没有特地指定使用搜索 skill,且意图里没有查询关键字,只有范围条件(例如“今年以来”“已完成”“由我创建”“我关注的”),并且使用 +search 与 +get related tasks / +get my tasks 都能达到目的时,应优先使用列表型能力,而不是搜索型能力。其中,“与我相关 / 我关注的 / 由我创建”等优先考虑 +get related tasks ;“我负责的 / 分配给我”的列表优先考虑 +get my tasks 。不要把时间范围词(例如“今年以来”)本身误当成 query 去走搜索。
任务搜索相关性提示 : +search 当前不会自动判断搜索结果与搜索发起人的相关性。如果用户明确要求搜索“与我相关”的任务,必须先识别具体关系,获取当前用户的 open id ,并显式传入对应的 assignee (负责人)、 creator (创建人)或 follower (关注人)过滤条件;不能只依赖 query 期待自动返回与当前用户相关的任务。
任务清单搜索技巧 :任务清单也遵循同样的判断逻辑。先区分用户是否 特地指定使用搜索 skill ,以及是否真的提供了 清单查询关键字 (例如清单名称、关键词、片段描述)。如果用户特地指定使用搜索 skill,或明确给出了清单查询关键字,则优先使用 +tasklist search 。如果用户没有特地指定使用搜索 skill,且意图里没有查询关键字,只有范围条件(例如“由我创建的任务清单”“今年以来创建的清单”),并且使用搜索或原生列取清单都能达到目的时,应优先使用原生 tasklists.list 接口列取清单(先 schema task.tasklists.list ,再 lark cli task tasklists list as user ... ),再按 creator 、 created at 等字段做本地筛选和分页控制。
意图区分补充 :像“搜索飞书中今年以来我关注的任务”这类表达,虽然字面带有“搜索”,但如果没有真正的查询关键字,且本质是在限定“与我相关 + 时间范围”,则应优先走 +get related tasks ;像“搜索飞书中由我创建的任务清单”这类表达,如果没有清单关键字,且本质是在限定“清单范围 + 创建者”,则应优先走原生 tasklists.list 后筛选,而不是直接走搜索型 shortcut。
用户身份识别 :在用户身份(user identity)场景下,如果用户提到了“我”(例如“分配给我”、“由我创建”),请默认获取当前登录用户的 open id 作为对应的参数值。
术语理解 — 待办 disambiguation(必读) :
用户提到「待办 / todo / 任务」时, 先判断归属 ,不要默认走本 skill。
走 [lark meeting](../lark meeting/SKILL.md) 的 minutes +todo (禁止本 skill):上下文含 妙记 / 会议纪要 / minute token / 妙记 URL ( /minutes/ );或「在某某妙记里新建/修改待办」「妙记 AI 待办」「会议录制里的待办」。
走本 skill(lark task) :任务清单、分配给我、项目待办、截止日期/提醒、子任务、任务清单成员;或 applink 含 client/todo/task?guid= ;或明确说「飞书任务」「任务中心」「我的任务清单」。
禁止 :用户要在妙记里加待办时, 不要 调用 task tasklists list 、 task +create 或任何 task 命令去「找清单再放任务」。
友好输出 :在输出任务(或清单)的执行结果给用户时,建议同时提取并输出命令返回结果中的 url 字段(任务链接),以便用户可以直接点击跳转查看详情。
创建/更新注意 :
1. 只有在设置了 due (截止时间)的情况下,才能设置 repeat rule (重复规则)和 reminder (提醒时间)。
2. 若同时设置了 start (开始时间)和 due (截止时间),开始时间必须小于或等于截止时间。
3. 使用 tenant access token(应用身份)时,无法跨租户添加任务成员。
查询注意 :
1. 在输出任务详情时,如果需要渲染负责人、创建人等人员字段,除了展示 id (例如 open id) 外,还必须通过其他方式(例如调用通讯录技能)尝试获取并展示这个人的真实名字,以便用户更容易识别。
2. 在输出清单详情时,如果需要渲染 owner、member、角色成员等人员字段,也必须像任务成员展示一样,除了展示 id 外,尽量解析并展示对应人员的真实名字。
3. 在输出任务或清单详情时,如果需要渲染创建时间、截止时间等字段,需要使用本地时区来渲染(格式为2006 01 02 15:04:05)。
Task GUID 定义 :
Task OpenAPI 中用于更新/操作任务的 guid 是任务的全局唯一标识(GUID),不是客户端展示的任务编号(例如 t104121 / suite entity num )。
对于 Feishu 的任务 applink(例如 .../client/todo/task?guid=... ),必须使用 URL query 里的 guid 参数作为 task guid。
从任务清单定位并修改任务的最短路径 :
1. 已知任务清单 GUID 时直接使用,不要先搜索;已知任务清单 applink 时,取 URL query 中的 guid 作为 tasklist guid 。
2. 只有清单名称或关键词、没有 GUID/applink 时,才调用一次 +tasklist search 解析目标清单。
3. 按原生 API 规则先执行 lark cli schema task.tasklists.tasks ,再执行 lark cli task tasklists tasks params '{"tasklist guid":"<tasklist guid "}' as user 。
4. 从清单任务结果中取任务的 guid ,直接传给 +update 或 +complete ;禁止传客户端展示编号(例如 t104121 )。这两个 shortcut 也可直接接收包含 guid= 的任务 applink。
5. +update 返回 updated fields 和每个任务的服务端 confirmed 字段; +complete 返回 status 、 completed at 、 already completed 。这些字段已确认目标状态时,不要例行追加 tasks get ;仅在服务端未返回所需字段或用户明确要求完整复核时再查询详情。
Shortcut 说明
[ +create ](references/lark task create.md) create a task
[ +update ](references/lark task update.md) update task attributes
[ +set ancestor ](references/lark task set ancestor.md) set or clear a task ancestor
[ +comment ](references/lark task comment.md) add a comment to a task
[ +complete ](references/lark task complete.md) mark a task as complete
[ +reopen ](references/lark task reopen.md) reopen a completed task
[ +assign ](references/lark task assign.md) assign or remove task members
[ +followers ](references/lark task followers.md) manage task followers
[ +reminder ](references/lark task reminder.md) manage task reminders
[ +get my tasks ](references/lark task get my tasks.md) List tasks assigned to me
[ +get related tasks ](references/lark task get related tasks.md) list tasks related to me
[ +search ](references/lark task search.md) search tasks
[ +upload attachment ](references/lark task upload attachment.md) upload a local file as an attachment to a task
[ +tasklist create ](references/lark task tasklist create.md) create a tasklist and optionally add tasks
[ +tasklist search ](references/lark task tasklist search.md) search tasklists
[ +tasklist task add ](references/lark task tasklist task add.md) add tasks to a tasklist
[ +tasklist members ](references/lark task tasklist members.md) manage tasklist members
API Resources
重要 :使用原生 API 时,必须先运行 schema 查看 data / params 参数结构,不要猜测字段格式。
tasks
create — 创建任务
delete — 删除任务
get — 获取任务详情
list — 列取任务列表
patch — 更新任务
tasklists
add members — 添加清单成员
create — 创建清单
delete — 删除清单
get — 获取清单详情
list — 获取清单列表
patch — 更新清单
remove members — 移除清单成员
tasks — 获取清单任务列表
subtasks
create — 创建子任务
list — 获取任务的子任务列表
members
add — 添加任务成员
remove — 移除任务成员
sections
create — 创建自定义分组
delete — 删除自定义分组
get — 获取自定义分组详情
list — 获取自定义分组列表
patch — 更新自定义分组
tasks — 获取自定义分组任务列表
custom fields
create — 创建自定义字段
get — 获取自定义字段详情
patch — 更新自定义字段
list — 获取自定义字段列表
add — 将自定义字段加入资源
remove — 将自定义字段移出资源
custom field options
create — 创建自定义字段选项
patch — 更新自定义字段选项
agent
update agent profile — 更新任务代理的主页内容数据。
register agent — 注册AI 智能体
agent task step info
append task steps — 写入任务记录。
权限表
方法 所需 scope
tasks.create task:task:write
tasks.delete task:task:write
tasks.get task:task:read
tasks.list task:task:read
tasks.patch task:task:write
tasklists.add members task:tasklist:write
tasklists.create task:tasklist:write
tasklists.delete task:tasklist:write
tasklists.get task:tasklist:read
tasklists.list task:tasklist:read
tasklists.patch task:tasklist:write
tasklists.remove members task:tasklist:write
tasklists.tasks task:tasklist:read
subtasks.create task:task:write
subtasks.list task:task:read
members.add task:task:write
members.remove task:task:write
sections.create task:section:write
sections.delete task:section:write
sections.get task:section:read
sections.list task:section:read
sections.patch task:section:write
sections.tasks task:section:read
custom fields.create task:custom field:write
custom fields.get task:custom field:read
custom fields.patch task:custom field:write
custom fields.list task:custom field:read
custom fields.add task:custom field:write
custom fields.remove task:custom field:write
custom field options.create task:custom field:write
custom field options.patch task:custom field:write
agent.update agent profile task:task:write
agent.register agent task:task:write
agent task step info.append task steps task:task:write