lark-task

A Feishu task skill for managing to-do items, task lists, subtasks, assignments, attachments, and task-focused agents.

In plain words
What is it for?
Use it to create, search, update, split, assign, and track tasks; manage lists; upload attachments; and register or maintain task agents.
Why use it?
It keeps work, responsibility, progress, and supporting files organised in one task system.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/dropfan/claude-code-plugins/lark-task
Any agent
npx skills add DropFan/claude-code-plugins --skill lark-task
Clone the repo
git clone --depth 1 https://github.com/DropFan/claude-code-plugins

Made for: Claude Code, Codex.

Per session 125 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,564 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00125 $0.03564
Opus 5 $0.00063 $0.01782
Sonnet 5 $0.00025 $0.00713
Haiku 4.5 $0.00013 $0.00356

Measured 2d ago against content hash eea9ed4bbd34, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

lark-task scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/lark/skills/lark-task/SKILL.md · 187 lines

How it starts

The opening of the file, as written. The whole thing — 187 lines — stays where its author put it; the contents beside it link to each section on GitHub.

⚙️ Cowork / Claude Desktop 执行环境说明(自动注入)

本技能依赖本地 lark-cli@larksuite/cli,可用 command -v lark-cli 定位)及其 ~/.lark-cli 登录态(应用密钥存于 macOS keychain)。

在 Cowork 中运行任何 lark-cli 命令时,必须在本地 macOS 上执行(使用 Desktop Commander 的 start_process / interact_with_process,或其它本地 shell 工具),不要用隔离的 Linux 沙箱 mcp__workspace__bash——沙箱里没有 lark-cli、也读不到 keychain。 执行前确保 npm 全局 bin 目录(npm prefix -g 输出目录下的 bin)在 PATH 中。

(在 Claude Code 中可忽略本说明,lark-cli 在本机 shell 直接可用。)

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 去走搜索。 任务搜索相关性提示+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 ...),再按 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。

从任务清单定位并修改任务的最短路径

  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 返回 statuscompleted_atalready_completed。这些字段已确认目标状态时,不要例行追加 tasks get;仅在服务端未返回所需字段或用户明确要求完整复核时再查询详情。
Shortcut 说明
+create create a task
+update update task attributes
+set-ancestor set or clear a task ancestor
+comment add a comment to a task
+complete mark a task as complete
+reopen reopen a completed task
+assign assign or remove task members
+followers manage task followers
+reminder manage task reminders
+get-my-tasks List tasks assigned to me
+get-related-tasks list tasks related to me
+search search tasks
+upload-attachment upload a local file as an attachment to a task
+tasklist-create create a tasklist and optionally add tasks
+tasklist-search search tasklists
+tasklist-task-add add tasks to a tasklist
+tasklist-members manage tasklist members

Read the full file on GitHub · 187 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 187 lines · 125 tokens per session scan A eea9ed4bbd34

Subscribe to this mod's changes

lark-task is a skill published in the GitHub repository DropFan/claude-code-plugins (7 stars, last pushed 26d ago), licensed MIT. It adds 125 tokens to every session and 3,564 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.