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.
npx agentmods add skills/dropfan/claude-code-plugins/lark-tasknpx skills add DropFan/claude-code-plugins --skill lark-taskgit clone --depth 1 https://github.com/DropFan/claude-code-pluginsWhat 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.
| Model | Per session | Once 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 |
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.
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 ...),再按creator、created_at等字段做本地筛选和分页控制。 意图区分补充:像“搜索飞书中今年以来我关注的任务”这类表达,虽然字面带有“搜索”,但如果没有真正的查询关键字,且本质是在限定“与我相关 + 时间范围”,则应优先走+get-related-tasks;像“搜索飞书中由我创建的任务清单”这类表达,如果没有清单关键字,且本质是在限定“清单范围 + 创建者”,则应优先走原生tasklists.list后筛选,而不是直接走搜索型 shortcut。 用户身份识别:在用户身份(user identity)场景下,如果用户提到了“我”(例如“分配给我”、“由我创建”),请默认获取当前登录用户的open_id作为对应的参数值。 术语理解 — 待办 disambiguation(必读):
- 用户提到「待办 / todo / 任务」时,先判断归属,不要默认走本 skill。
- 走 lark-minutes 的
minutes +todo(禁止本 skill):上下文含 妙记 / 会议纪要 / minute_token / 妙记 URL(/minutes/);或「在某某妙记里新建/修改待办」「妙记 AI 待办」「会议录制里的待办」。- 走本 skill(lark-task):任务清单、分配给我、项目待办、截止日期/提醒、子任务、任务清单成员;或 applink 含
client/todo/task?guid=;或明确说「飞书任务」「任务中心」「我的任务清单」。- 禁止:用户要在妙记里加待办时,不要调用
task tasklists list、task +create或任何 task 命令去「找清单再放任务」。 友好输出:在输出任务(或清单)的执行结果给用户时,建议同时提取并输出命令返回结果中的url字段(任务链接),以便用户可以直接点击跳转查看详情。
创建/更新注意:
- 只有在设置了
due(截止时间)的情况下,才能设置repeat_rule(重复规则)和reminder(提醒时间)。- 若同时设置了
start(开始时间)和due(截止时间),开始时间必须小于或等于截止时间。- 使用 tenant_access_token(应用身份)时,无法跨租户添加任务成员。
查询注意:
- 在输出任务详情时,如果需要渲染负责人、创建人等人员字段,除了展示
id(例如 open_id) 外,还必须通过其他方式(例如调用通讯录技能)尝试获取并展示这个人的真实名字,以便用户更容易识别。- 在输出清单详情时,如果需要渲染 owner、member、角色成员等人员字段,也必须像任务成员展示一样,除了展示
id外,尽量解析并展示对应人员的真实名字。- 在输出任务或清单详情时,如果需要渲染创建时间、截止时间等字段,需要使用本地时区来渲染(格式为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。
从任务清单定位并修改任务的最短路径:
- 已知任务清单 GUID 时直接使用,不要先搜索;已知任务清单 applink 时,取 URL query 中的
guid作为tasklist_guid。- 只有清单名称或关键词、没有 GUID/applink 时,才调用一次
+tasklist-search解析目标清单。- 按原生 API 规则先执行
lark-cli schema task.tasklists.tasks,再执行lark-cli task tasklists tasks --params '{"tasklist_guid":"<tasklist_guid>"}' --as user。- 从清单任务结果中取任务的
guid,直接传给+update或+complete;禁止传客户端展示编号(例如t104121)。这两个 shortcut 也可直接接收包含guid=的任务 applink。+update返回updated_fields和每个任务的服务端confirmed字段;+complete返回status、completed_at、already_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 |
What ships with it
17 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/lark-task-assign.md 1.4 KB
- references/lark-task-comment.md 902 B
- references/lark-task-complete.md 1.3 KB
- references/lark-task-create.md 3.8 KB
- references/lark-task-followers.md 1.2 KB
- references/lark-task-get-my-tasks.md 3.3 KB
- references/lark-task-get-related-tasks.md 2.9 KB
- references/lark-task-reminder.md 1.5 KB
- references/lark-task-reopen.md 740 B
- references/lark-task-search.md 1.5 KB
- references/lark-task-set-ancestor.md 966 B
- references/lark-task-tasklist-create.md 1.3 KB
- references/lark-task-tasklist-members.md 1.2 KB
- references/lark-task-tasklist-search.md 1.4 KB
- references/lark-task-tasklist-task-add.md 1.5 KB
- references/lark-task-update.md 1.8 KB
- references/lark-task-upload-attachment.md 3.1 KB
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.
- 2d ago First seen · 187 lines · 125 tokens per session scan A eea9ed4bbd34
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.
Other skills, from other repositories
auto-loop
TDD-based autonomous development loop with checkpoint recovery and observability changelog.
agent-check
Validate custom agent file format and structure. Use after creating or editing an agent, before committing agent changes, or when an agent fails to load.
hook-template
Generate hook script from template. Use when adding a new hook, wiring a PreToolUse/PostToolUse/Stop/Notification hook, or scaffolding hook config for settings.json.
skill-check
Validate skill/command file format and structure. Use after creating or editing a skill, before committing skill changes, or when a skill fails to load or trigger.
agent-template
Generate custom agent from template. Use when creating a new subagent from scratch, or scaffolding an agent file with correct frontmatter.
session-relay
Continue real repository work between Claude Code, Codex CLI, and Grok Build with a privacy-bounded, drift-aware handoff packet. Use for cross-vendor takeover, context-limit checkpoints, multi-hop Claude→Codex→Grok relays, or receiving an existing Director packet. Use native resume commands for same-CLI history; never…