AI Skill
Pass
Audit score 90

lark-approval

larksuite/cli

Query, process, and initiate Lark approval tasks, instances, and definitions.

What is lark-approval?

Manages Lark approval workflows including querying pending/completed tasks, searching approval definitions, viewing definition details, and initiating native approval instances. Use when handling approval tasks, viewing approval progress, or starting new approval processes.

  • Search available approval definitions by keyword
  • Retrieve approval definition details including form structure and workflow
  • Initiate native approval instances with form data and node approvers
  • Query pending and completed approval tasks with filtering by topic
  • Approve or reject approval tasks with optional comments
  • Transfer, add signatures, or rollback approval tasks

How to install lark-approval

npx skills add null --skill lark-approval
Prerequisites
  • lark-cli installed and configured
  • Lark authentication credentials set up (see lark-shared SKILL.md)
  • Appropriate approval permissions in Lark workspace
Claude Code
Cursor
Windsurf
Cline

How to use lark-approval

  1. 1.Read ../lark-shared/SKILL.md for authentication and permission handling
  2. 2.To initiate an approval: run `lark-cli approval approvals search` to find the definition, then `lark-cli approval approvals get` to view details, then `lark-cli approval instances create` with form data
  3. 3.To process an approval: run `lark-cli approval tasks query --params '{"topic":"1"}'` to list pending tasks, then `lark-cli approval tasks approve` or `tasks reject` with instance_code and task_id
  4. 4.For task details, use `lark-cli approval instances get` to view form values and workflow progress
  5. 5.Use `lark-cli schema approval.<resource>.<method>` to check parameter structures before calling commands

Use cases

Good for
  • Search for a leave request approval definition and initiate a new leave approval instance
  • Query pending approval tasks and approve them with a comment
  • Retrieve approval instance details to view current form values and workflow progress
  • Reject an approval task and return it to the initiator
  • Search for reimbursement approval definitions and check their form structure before submitting
Who it's for
  • Employees processing approval tasks
  • Managers approving requests
  • Users initiating approval workflows
  • Teams managing approval-based processes

lark-approval FAQ

What is the difference between approval tasks and Lark tasks?

Approval tasks are part of approval workflows and are handled by this skill. Non-approval tasks should use the lark-task skill instead.

Can I create approval definitions with this skill?

No, this skill only initiates instances from existing definitions. Create definitions in the Lark client or approval management console.

How do I handle third-party approval definitions?

For third-party definitions (is_external=true), return the create_link and guide the user to initiate through the link instead of using instances.create.

What information do I need to initiate an approval?

You need the approval_code from the definition and the form data matching the definition's form structure. Always confirm details with the user before executing with --yes flag.

How do I find pending approvals waiting for my action?

Use `lark-cli approval tasks query --params '{"topic":"1"}' --as user` to list pending tasks, which returns instance_code and task_id needed for approval actions.

Full instructions (SKILL.md)

Source of truth, from larksuite/cli.


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

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

所有命令默认 --as user(审批是人的动作)。调用前先 lark-cli schema approval.<resource>.<method> 查参数结构,不要猜字段。

选哪个命令

想做什么命令
搜可发起定义approvals search
看审批定义详情/提单前确认表单与流程approvals get
发起原生审批实例instances create
查待办/已办tasks querytopic:1待办 2已办 17未读 18已读)
看表单/进度/当前节点instances get
同意/拒绝tasks approve / tasks reject
转交/加签/退回tasks transfer / tasks add_sign / tasks rollback
催办tasks remind
撤回/抄送/按定义查已发起instances cancel / instances cc / instances initiated

处理链:

  • 发起审批:approvals search -> approvals get -> instances.create
  • 处理审批:tasks queryinstance_code + task_id(操作必须成对带上)→ 需要细节再 instances get → 执行操作
lark-cli approval approvals search --data '{"keyword":"请假"}' --as user
lark-cli approval approvals get --params '{"approval_code":"<code>"}' --as user
lark-cli approval instances create --data '{"approval_code":"<code>","form":"[...]"}' --yes --as user
lark-cli approval tasks query --params '{"topic":"1"}' --as user
lark-cli approval tasks approve --data '{"instance_code":"<ic>","task_id":"<tid>","comment":"同意"}' --as user

发起原生审批

发起审批属于高风险写操作,按下表处理:

规则处理
用户意图是发起审批 / 提单 / 提交请假审批 / 提交报销审批 / 创建审批实例先读 references/lark-approval-initiate.mdreferences/lark-approval-instance-form-control-parameters.mdreferences/lark-approval-instance-value-sourcing.md,并运行 lark-cli schema approval.instances.create
编排顺序固定走 approvals.search -> approvals.get -> instances.create;未拿到定义详情前不要猜 formnode_approver_listnode_cc_list
三方定义is_external=true 时不要调用 approval instances create,返回 create_link 并说明需通过链接发起
表单与节点参数控件 value 结构看 references/lark-approval-instance-form-control-parameters.md;值来源看 references/lark-approval-instance-value-sourcing.md
真正执行前让用户确认最终定义、表单值和节点参数;执行时显式传 --yes,成功后回报 instance_codeinstance_link

不在本 skill 范围

创建审批定义(走飞书客户端或审批管理后台);三方定义发起(返回 create_link,引导用户通过链接发起);非审批类待办 → lark-task