lark-approval

飞书审批 API:审批实例、审批任务管理。

npx skills add https://github.com/larksuite/cli --skill lark-approval

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

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

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

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

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

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

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

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

选哪个命令

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

处理链:

  • 发起审批:approvals search -> approvals get -> instances create
  • 处理审批:tasks queryinstance_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. 优先从以下角度解释:
    • 任务可能已被他人处理
    • 单据状态已变化,当前动作已不再允许
    • 当前用户已不具备该任务的操作资格
    • 当前节点或单据状态不支持该操作
  3. 如需确认,只补 一次 状态查询(tasks queryinstances get),不要陷入 query/write 循环
  4. 最终给用户明确结论和下一步建议,而不是继续无意义重试

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

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

More skills from larksuite

lark-doc
larksuite
飞书云文档 / Docx / 知识库 Wiki 文档(v2):创建、打开、读取、获取、查看、总结、整理、改写、翻译、审阅和编辑飞书文档内容。当用户给出飞书文档 URL/token,或说查看/读取/打开某个文档、提取文档内容、总结文档、生成/创建文档、追加/替换/删除/移动内容、调整排版、插入或下载文档图片/附件/素材/画板缩略图时使用。文档内容中出现嵌入电子表格、多维表格、需要将重要信息可视化为画板(含 SVG 画板)、引用或同步块时,也先用本 skill 读取和提取 token,再切到对应 skill 下钻。使用本 skill 时,docs +create、docs +fetch、docs +update 必须携带 --api-version v2;默认使用 DocxXML,也支持 Markdown。
documentapiproductivity
lark-im
larksuite
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件(支持大文件分片下载)、管理表情回复。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据时使用。
communicationproductivityapi
lark-shared
larksuite
Use when first setting up lark-cli, running auth login, switching user/bot identity (--as), handling permission denied or scope errors, needing to update lark-cli, or seeing _notice in JSON output.
developmentapicommunication
lark-base
larksuite
当需要用 lark-cli 操作飞书多维表格(Base)时调用:搜索 Base、建表、字段管理、记录读写、记录分享链接、视图配置、历史查询,以及角色/表单/仪表盘管理/工作流;也适用于把旧的 +table / +field / +record 写法改成当前命令写法。涉及字段设计、公式字段、查找引用、跨表计算、行级派生指标、数据分析需求时也必须使用本 skill。
databasedata-analysisapi
lark-drive
larksuite
飞书云空间:管理云空间中的文件和文件夹。上传和下载文件、创建文件夹、复制/移动/删除文件、查看文件元数据、管理文档评论、管理文档权限、订阅用户评论变更事件、修改文件标题(docx、sheet、bitable、file、folder、wiki);也负责把本地 Word/Markdown/Excel/CSV 以及 Base 快照(.base)导入为飞书在线云文档(docx、sheet、bitable)。当用户需要上传或下载文件、整理云空间目录、查看文件详情、管理评论、管理文档权限、修改文件标题、订阅用户评论变更事件,或要把本地文件导入成新版文档、电子表格、多维表格/Base 时使用。
documentproductivityapi
lark-whiteboard
larksuite
飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板时使用此 skill。不负责:飞书云文档内容编辑(lark-doc)、文档内嵌电子表格/Base(lark-sheets / lark-base)。
documentcreativeproductivity
lark-mail
larksuite
飞书邮箱 — draft, compose, send, reply, forward, read, and search emails; manage drafts, folders, labels, contacts, attachments, and mail rules. Use when user mentions 起草邮件, 写一封邮件, 拟邮件, 草稿, 发通知邮件, 发送邮件, 发邮件, 回复邮件, 转发邮件, 查看邮件, 看邮件, 读邮件, 搜索邮件, 查邮件, 收件箱, 邮件会话, 编辑草稿, 管理草稿, 下载附件, 邮件文件夹, 邮件标签, 邮件联系人, 监听新邮件, 收信规则, 邮件规则, draft, compose, send email, reply, forward, inbox, mail thread, mail rules.
communicationproductivityapi
lark-workflow-meeting-summary
larksuite
会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。
productivitydocumentcommunication