Use when working with Feishu task/tasklist automation via lark-cli, especially for tasklist creation, task CRUD, task comments, task custom fields, task sections/groups, and task-to-section routing for planner-builder-auditor workflows.
Use this skill when the job is to operate Feishu Task objects through lark-cli.
This skill is for:
For the workflow used here:
description is the human-owned bodycomments are the human/planner discussion surfaceTask Key, Current Plan, Builder Workpad, Auditor Verdict, PR, and Task KindTask Key should be a visible human-facing identifier such as claworld/t100018, derived from the native Feishu task_idBacklogtask.extra should hold only internal March hook state and bookkeeping such as:
Building hook (builder vs planner_review)pickup, execute, rework, review)task.extraDo not treat description as the place for Current Plan or Builder Workpad if task custom fields already exist.
Check current auth first:
lark-cli auth status
For task workflows, the important scopes are usually:
task:task:readtask:task:writetask:task:deletetask:tasklist:readtask:tasklist:writetask:tasklist:deletetask:comment:readtask:comment:writetask:custom_field:readtask:custom_field:writetask:section:readtask:section:writeIf scopes were just granted in the Feishu app backend, re-run device auth to refresh the local user token.
Task Key, Current Plan, Builder Workpad, Auditor Verdict, PR, Task Kind.add_tasklist.Treat delete/remove/archive requests as dangerous operations.
lark-cli task tasklists tasks over lark-cli task tasks listtask.tasks.list only for "my tasks" style requests; it is not the right primitive for precise cleanup inside a specific tasklisttasklist_guidsection_guid or default backlog section when the request is board-column scopedcompleted statetask_guid setclean up, close, or clear but does not explicitly require deletion, prefer non-destructive cleanup first:
completed_atDone or Backlogtask_guid plus summarytask.extra is an opaque string, not a JSON object. If you use it, serialize JSON yourself.tasks.patch supports custom_fields, but does not support moving tasks between tasklist sections.lark-cli task tasks create --data @file may fail with invalid JSON format; prefer inline JSON or jq -n command substitution.lark-cli supports task tasks delete and task tasklists delete, even though some official plugin tool surfaces only document create/get/list/patch flows.tasks.create, tasklists entries use tasklist_guid, not guid.POST /task/v2/tasks/{task_guid}/add_tasklisttasklist_guid and section_guidBacklog instead of creating a separate Backlog section in normal setups.task.tasks.get returns single-select field values as the selected option guid, not the option name.\n into stored field values.Read references/commands.md when you need concrete lark-cli commands or raw API payloads for: