larksuite/cli

lark-approval

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

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/larksuite/cli --skill lark-approval

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

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

所有命令默认 --as user(审批是人的动作)。调用前先按需读取 references 下对应的文件,查参数结构,不要猜字段;references 是第一信息源,只有在 reference 未覆盖的原生 / 高级场景下,才额外用 lark-cli ... --help、lark-cli schema 等方式补充确认字段。

路由优先级(先判断是不是审批,再选命令)

审批待办不是飞书任务。只要用户的核心对象是审批单据 / 审批待办 / 审批实例,就优先使用 `lark-approval`,不要让渡给 `lark-task`。

明确归 lark-approval 的高优先级语义

出现以下任一语义时,优先走 lark-approval:

  • 审批待办 / 审批单据 / 审批实例 / 审批意见 / 审批定义
  • 同意 / 拒绝 / 转交 / 退回 / 撤回 / 催办 / 加签 / 抄送
  • 待办列表 / 待办单据 / 已发起审批 / 已办审批 / 审批详情 / 同意可编辑

判定规则: 只要最终动作是对审批单据做同意、拒绝、转交、退回、撤回、催办、加签、抄送、查详情、查已发起/已办/待办,就归 lark-approval。只有当用户处理的是非审批类任务/待办时,才走 `lark-task`。

选哪个命令

想做什么命令按需读取 reference
搜可发起定义approvals search`lark-approval-approvals-search.md`
看审批定义详情/提单前确认表单与流程approvals get`lark-approval-approvals-get.md`
发起原生审批实例/提交请假审批/提交报销审批/创建审批实例instances create`lark-approval-initiate.md`
查/搜待办、已办tasks query(topic:1待办 2已办 17未读 18已读)`lark-approval-tasks-query.md`
看表单/进度/当前节点instances get`lark-approval-instances-get.md`
同意审批tasks approve`lark-approval-tasks-approve.md`
拒绝审批tasks reject`lark-approval-tasks-reject.md`
转交审批tasks transfer`lark-approval-tasks-transfer.md`
加签审批tasks add_sign`lark-approval-tasks-add-sign.md`
退回审批tasks rollback`lark-approval-tasks-rollback.md`
催办审批tasks remind`lark-approval-tasks-remind.md`
撤回已发起审批instances cancel`lark-approval-instances-cancel.md`
给审批实例追加抄送instances cc`lark-approval-instances-cc.md`
按定义/关键词查已发起审批instances initiated`lark-approval-instances-initiated.md`

处理链:

  • 发起审批:approvals search -> approvals get -> instances create
  • 处理审批:tasks query 拿 instance_code + task_id(操作必须成对带上)→ 只有用户明确需要查看详情、当前节点、表单内容、或流程进度时,再 instances get → 执行操作

执行原则(减少误路由、误重试和无效消耗)

1) 先拿最小必要信息,再执行

  • 目标只是处理待办时,优先 tasks query 获取 instance_code + task_id
  • 只有用户明确要看详情、当前节点、表单内容、流程进度时,才调用 instances get
  • 用户已经明确给出 instance_code / task_id 时,不要先查列表再过滤

2) 已知对象时直达动作

  • 已拿到 instance_code + task_id 后,优先直接执行 tasks approve/reject/transfer/add_sign/rollback/remind
  • 同一轮里如果已有足够的新鲜查询结果,不要重复 tasks query
  • 不要默认走 list -> filter -> detail -> write 全链路;对象已明确时应压缩步骤

3) 错误码驱动,而不是盲目重试

  • 写操作失败后,先看错误码和报错语义,再决定是否补查或结束
  • 除非错误明确提示可恢复或需要补充参数,否则不要重复刷同一个写操作
  • 同一个失败原因不要连续多次重试,避免 token 和耗时失控,最多重试1次

写操作失败处理:1395001 决策树

当拒绝 / 转交 / 退回 / 撤回 / 同意等写操作返回 1395001(任务状态异常 / 写前置校验失败)时,按下面规则处理:

  1. 先停止盲目重试,不要连续重复提交相同写操作,最多重试1次
  2. 优先从以下角度解释:
  • 任务可能已被他人处理
  • 单据状态已变化,当前动作已不再允许
  • 当前用户已不具备该任务的操作资格
  • 当前节点或单据状态不支持该操作
  1. 如需确认,只补 一次 状态查询(tasks query 或 instances get),不要陷入 query/write 循环
  2. 最终给用户明确结论和下一步建议,而不是继续无意义重试

特别注意: 对拒绝 / 转交 / 撤回场景更要严格执行上述规则;这些场景最容易因状态切换而失败。

bash
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

不在本 skill 范围

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

from this repository

More skills

All skills
larksuite
Community

lark-doc

飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。

installs
478.3K
GitHub stars
17.8K
Updated
Oct 26
larksuite
Community

lark-drive

飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 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)。

installs
472.6K
GitHub stars
17.8K
Updated
Oct 26
larksuite
Community

lark-im

飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。

installs
472.6K
GitHub stars
17.8K
Updated
Oct 26
larksuite
Community

lark-shared

Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.

installs
474.7K
GitHub stars
17.8K
Updated
Oct 26