AI Skill

lark-task

open.feishu.cn

Manage Lark tasks, tasklists, and task agents — create, assign, track, and automate via CLI

What is lark-task?

lark-task is a skill for coding agents that enables full task management on the Lark (Feishu) platform. It covers creating and updating tasks, managing subtasks, assigning members, organizing tasklists, uploading attachments, and operating AI task agents. It uses lark-cli under the hood and requires the lark-shared skill for authentication.

  • Create, update, complete, and reopen tasks
  • Assign members and followers to tasks
  • Create and manage subtasks (task decomposition)
  • Organize tasks into tasklists with custom sections
  • Upload file attachments to tasks
  • Register/unregister AI task agents and write agent task step records

How to install lark-task

npx skills add null --skill lark-task
Prerequisites
  • lark-cli must be installed and available in PATH
  • lark-shared SKILL.md must be read first for authentication setup
  • Appropriate Lark OAuth scopes granted: task:task:read, task:task:write, task:tasklist:read, task:tasklist:write, etc.
  • Valid Lark tenant and user credentials configured
Claude Code
Cursor
Windsurf
Cline

How to use lark-task

  1. 1.Install the skill: npx skills add null --skill lark-task
  2. 2.Read lark-shared/SKILL.md first to configure authentication and permissions
  3. 3.Run lark-cli task --help to see available commands
  4. 4.Use schema lookup before API calls: lark-cli schema task.<resource>.<method>
  5. 5.Use shortcuts like +create, +assign, +complete for common task operations
  6. 6.Use +get-my-tasks or +get-related-tasks to list tasks by scope; use +search only when a keyword query is provided
  7. 7.Use +tasklist-create and +tasklist-members to manage project tasklists
  8. 8.Use +upload-attachment to attach local files to tasks

Use cases

Good for
  • Create a to-do item with a due date and assign it to a teammate
  • List all tasks assigned to me or related to me
  • Search tasks or tasklists by keyword
  • Add tasks to a project tasklist and manage list members
  • Upload a file attachment to an existing task
Who it's for
  • Developers building Lark task automation workflows
  • Project managers tracking work items via coding agents
  • Teams using Lark who want agent-driven task assignment and updates
  • Engineers integrating AI task agents with Lark's task platform
  • Anyone automating Feishu task management from a CLI or agent

lark-task FAQ

When should I use +search vs +get-my-tasks or +get-related-tasks?

Use +search only when the user provides an explicit keyword or task name to query. For scope-based filtering (e.g., 'tasks assigned to me', 'tasks I follow', 'tasks I created'), use +get-my-tasks or +get-related-tasks instead.

What is a task GUID and how is it different from the task number shown in the UI?

The task GUID is the global unique identifier used in API calls (e.g., found in applinks as ?guid=...). It is not the same as the display number like t104121. Always use the GUID from the URL query parameter for API operations.

Can I manage Feishu Minutes (妙记) to-dos with this skill?

No. To-dos inside Feishu Minutes (会议纪要/妙记) must be managed via the lark-minutes skill. Use lark-task only for standalone tasks, tasklists, and task center items.

Do I need to check the schema before calling an API?

Yes. Always run lark-cli schema task.<resource>.<method> before using raw API calls to confirm the correct --data and --params field structure.

Can I set a reminder or repeat rule without a due date?

No. Reminders (reminder) and repeat rules (repeat_rule) can only be set if a due date (due) is also provided on the task.

Full instructions (SKILL.md)

Source of truth, from open.feishu.cn.


name: lark-task version: 1.0.0 description: "飞书任务:管理任务、清单和任务智能体。创建待办任务、查看和更新任务状态、拆分子任务、组织任务清单、分配协作成员、上传任务附件、注册或注销任务智能体、更新任务智能体的主页数据、写入智能体任务记录。当用户需要创建待办事项、查看任务列表、跟踪任务进度、管理项目清单或给他人分配任务、为任务上传附件文件、注册注销任务智能体、更新智能体主页数据、写入任务记录时使用。" metadata: requires: bins: ["lark-cli"] cliHelp: "lark-cli task --help"

task (v2)

CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理

任务搜索技巧:先区分用户是否特地指定使用搜索 skill,以及是否真的提供了查询关键字(例如任务名称、关键词、片段描述)。如果用户特地指定使用搜索 skill,或明确给出了任务查询关键字,则目标是任务时优先使用 +search。如果用户没有特地指定使用搜索 skill,且意图里没有查询关键字,只有范围条件(例如“今年以来”“已完成”“由我创建”“我关注的”),并且使用 +search+get-related-tasks / +get-my-tasks 都能达到目的时,应优先使用列表型能力,而不是搜索型能力。其中,“与我相关 / 我关注的 / 由我创建”等优先考虑 +get-related-tasks;“我负责的 / 分配给我”的列表优先考虑 +get-my-tasks。不要把时间范围词(例如“今年以来”)本身误当成 query 去走搜索。 任务清单搜索技巧:任务清单也遵循同样的判断逻辑。先区分用户是否特地指定使用搜索 skill,以及是否真的提供了清单查询关键字(例如清单名称、关键词、片段描述)。如果用户特地指定使用搜索 skill,或明确给出了清单查询关键字,则优先使用 +tasklist-search。如果用户没有特地指定使用搜索 skill,且意图里没有查询关键字,只有范围条件(例如“由我创建的任务清单”“今年以来创建的清单”),并且使用搜索或原生列取清单都能达到目的时,应优先使用原生 tasklists.list 接口列取清单(先 schema task.tasklists.list,再 lark-cli task tasklists list --as user ...),再按 creatorcreated_at 等字段做本地筛选和分页控制。 意图区分补充:像“搜索飞书中今年以来我关注的任务”这类表达,虽然字面带有“搜索”,但如果没有真正的查询关键字,且本质是在限定“与我相关 + 时间范围”,则应优先走 +get-related-tasks;像“搜索飞书中由我创建的任务清单”这类表达,如果没有清单关键字,且本质是在限定“清单范围 + 创建者”,则应优先走原生 tasklists.list 后筛选,而不是直接走搜索型 shortcut。 用户身份识别:在用户身份(user identity)场景下,如果用户提到了“我”(例如“分配给我”、“由我创建”),请默认获取当前登录用户的 open_id 作为对应的参数值。 术语理解 — 待办 disambiguation(必读)

  • 用户提到「待办 / todo / 任务」时,先判断归属,不要默认走本 skill。
  • lark-minutesminutes +todo(禁止本 skill):上下文含 妙记 / 会议纪要 / minute_token / 妙记 URL/minutes/);或「在某某妙记里新建/修改待办」「妙记 AI 待办」「会议录制里的待办」。
  • 走本 skill(lark-task):任务清单、分配给我、项目待办、截止日期/提醒、子任务、任务清单成员;或 applink 含 client/todo/task?guid=;或明确说「飞书任务」「任务中心」「我的任务清单」。
  • 禁止:用户要在妙记里加待办时,不要调用 task tasklists listtask +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。

Shortcut说明
+createcreate a task
+updateupdate task attributes
+set-ancestorset or clear a task ancestor
+commentadd a comment to a task
+completemark a task as complete
+reopenreopen a completed task
+assignassign or remove task members
+followersmanage task followers
+remindermanage task reminders
+get-my-tasksList tasks assigned to me
+get-related-taskslist tasks related to me
+searchsearch tasks
+upload-attachmentupload a local file as an attachment to a task
+tasklist-createcreate a tasklist and optionally add tasks
+tasklist-searchsearch tasklists
+tasklist-task-addadd tasks to a tasklist
+tasklist-membersmanage tasklist members

API Resources

lark-cli schema task.<resource>.<method>   # 调用 API 前必须先查看参数结构
lark-cli task <resource> <method> [flags] # 调用 API

重要:使用原生 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.createtask:task:write
tasks.deletetask:task:write
tasks.gettask:task:read
tasks.listtask:task:read
tasks.patchtask:task:write
tasklists.add_memberstask:tasklist:write
tasklists.createtask:tasklist:write
tasklists.deletetask:tasklist:write
tasklists.gettask:tasklist:read
tasklists.listtask:tasklist:read
tasklists.patchtask:tasklist:write
tasklists.remove_memberstask:tasklist:write
tasklists.taskstask:tasklist:read
subtasks.createtask:task:write
subtasks.listtask:task:read
members.addtask:task:write
members.removetask:task:write
sections.createtask:section:write
sections.deletetask:section:write
sections.gettask:section:read
sections.listtask:section:read
sections.patchtask:section:write
sections.taskstask:section:read
custom_fields.createtask:custom_field:write
custom_fields.gettask:custom_field:read
custom_fields.patchtask:custom_field:write
custom_fields.listtask:custom_field:read
custom_fields.addtask:custom_field:write
custom_fields.removetask:custom_field:write
custom_field_options.createtask:custom_field:write
custom_field_options.patchtask:custom_field:write
agent.update_agent_profiletask:task:write
agent.register_agenttask:task:write
agent_task_step_info.append_task_stepstask:task:write

Related skills

More from open.feishu.cn and the wider catalog.

LA

lark-approval

open.feishu.cn

飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。

320k installs
LA

lark-doc

open.feishu.cn

飞书云文档(Docx / Wiki 文档):读取和编辑飞书文档内容。当用户给出文档 URL 或 token,或需要查看、创建、编辑文档、插入或下载文档图片附件时使用。文档中嵌入的电子表格、多维表格、画板,先用本 skill 提取 token 再切到对应 skill。当用户给出 doubao.com 的 /docx/ 或 /wiki/ URL/token 时,也应直接使用本 skill;路由依据是 URL 路径模式和 token,而不是域名。不负责文档评论管理,也不负责表格或 Base 的数据操作。

320k installs
LA

lark-base

open.feishu.cn

飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、workflow、角色权限;遇到 Base/多维表格/bitable 或 /base/ 链接时使用。文件导入转 lark-drive,认证/授权转 lark-shared。

320k installs
LA

lark-calendar

open.feishu.cn

飞书日历:管理日历日程和会议室。查看/搜索日程、创建/更新日程、管理参会人、查询忙闲和推荐时段、预定会议室。当用户需要查看日程安排、创建/修改会议、查询/预定会议室时使用。不负责:查询过去的视频会议记录(走 lark-vc)、待办任务(走 lark-task)。

320k installs
LA

lark-drive

open.feishu.cn

飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、评论/权限/订阅、标题、版本和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。

320k installs
LA

lark-contact

open.feishu.cn

飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名。当用户提到某人姓名要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。

320k installs