Lark Workflow Approval Reminder logo

Lark Workflow Approval Reminder

Community
liangdabiao
lark-workflow-approval-reminder

审批催办机器人:自动查询待审批实例,定位当前审批人并发送催办提醒,支持逐级升级催办策略。当用户需要'催审批'、'催办'、'审批提醒'、'提醒审批人'、'跟进审批流程'、'审批到谁了'时使用。

Overview

Publisherliangdabiao
Repositorylark-workflow-feishu-cli
Skill namelark-workflow-approval-reminder
Stars
68
Forks
10
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by liangdabiao on GitHub. Read the source before you install it.

Installation

Install the Lark Workflow Approval Reminder AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/liangdabiao/lark-workflow-feishu-cli/tree/main/.claude/skills/lark-workflow-approval-reminder
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/liangdabiao/lark-workflow-feishu-cli.git /tmp/lark-workflow-feishu-cli
mkdir -p .claude/skills
cp -r /tmp/lark-workflow-feishu-cli/.claude/skills/lark-workflow-approval-reminder .claude/skills/lark-workflow-approval-reminder
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Lark Workflow Approval Reminder in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Lark Workflow Approval Reminder on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Lark Workflow Approval Reminder is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

审批催办机器人工作流

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

适用场景

  • "帮我催一下那个报销审批" / "催审批"
  • "审批单12345到谁手里了?" / "审批到谁了"
  • "帮我催办一下审批流程" / "催办"
  • "提醒一下审批人处理审批" / "审批提醒"
  • "跟进一下XXX的审批进度" / "跟进审批流程"

前置条件

需要 user 身份(查询审批)和 bot 身份(发消息催办)。

bash
lark-cli auth login --domain im,contact --scope "approval:instance:readonly"

注意:审批 API 未被 lark-cli 直接封装,需要使用 lark-cli api 调用。首次使用前,参考 ../lark-openapi-explorer/SKILL.md 确认 API 路径。

工作流

{审批实例 ID 或 approval_code}
  │
  ├── lark-cli api GET ────────────► 查询审批实例状态
  │     /approval/v4/instances/{id}
  │
  ├── AI 提取当前审批人 ───────────► approver_open_id
  │
  ├── contact +search-user ─────────► 获取审批人信息(姓名等)
  │
  ├── im +messages-send ────────────► 发送催办消息
  │
  └── [超24h未处理] ────────────────► 升级催办策略
        ├── 群内 @催办
        └── 通知上级/HR

Step 1: 查询审批实例状态

方式一:按实例 ID 查询

如果用户提供了审批实例 ID:

bash
MSYS_NO_PATHCONV=1 lark-cli api GET "/open-apis/approval/v4/instances/<instance_id>" \
  --as user

方式二:按审批定义 code 查询

如果用户提供了审批定义的 code(或名称):

bash
# 先通过 openapi-explorer 确认 API 路径
# 查询待审批实例列表
MSYS_NO_PATHCONV=1 lark-cli api GET "/open-apis/approval/v4/instances" \
  --params '{
    "approval_code": "<approval_code>",
    "status": "1",
    "page_size": 50
  }' \
  --as user

status 参数说明:

  • 1 — 审批中(待处理)
  • 2 — 已通过
  • 3 — 已拒绝
  • 4 — 已撤销
  • 6 — 已转交

API 文档确认

审批 API 未被 lark-cli 直接封装。调用前,建议使用 openapi-explorer 模式确认最新 API 路径和参数:

  1. 获取顶层索引:https://open.feishu.cn/llms.txt
  2. 找到审批模块文档链接
  3. 确认具体 API 的参数和响应格式

Step 2: 提取当前审批人

从审批实例详情中提取:

  • instance_code — 实例编号
  • title — 审批标题
  • status — 当前状态
  • 当前审批节点和审批人信息

AI 从返回结果中分析出当前待处理的审批节点和对应的审批人。

审批人可能是个人(open_id)也可能是群组,需要分别处理。

Step 3: 查找审批人信息

bash
lark-cli contact +search-user --query "<审批人姓名>" --as user

获取审批人的 open_id。

Step 4: 发送催办消息

bash
lark-cli im +messages-send \
  --user-id "<approver_open_id>" \
  --markdown "审批催办提醒

审批单:{审批标题}
审批编号:{instance_code}
提交时间:{submit_time}
当前状态:待您审批

请您尽快处理,如有问题请联系发起人。" \
  --as bot

Step 5: 升级催办(可选)

如果审批已超过 24 小时未处理,启动升级策略:

第二级:群内 @催办

bash
lark-cli im +messages-send \
  --chat-id "<相关群chat_id>" \
  --markdown '<at user_id="ou_xxx"></at> 您有一笔审批单待处理已超过 24 小时,请尽快处理:

审批单:{审批标题}
审批编号:{instance_code}' \
  --as bot

第三级:通知上级

如果超过 48 小时仍未处理,通知审批人的直属上级或发起人:

bash
lark-cli im +messages-send \
  --user-id "<上级或发起人_open_id>" \
  --markdown "审批超时通知

审批单:{审批标题}
审批编号:{instance_code}
当前审批人:{审批人姓名}
等待时间:{N} 小时

请协助推动审批流程。" \
  --as bot

降级策略

场景降级方案
审批 API 不可用提示用户检查 approval 权限是否开通
查不到审批实例提示用户确认实例 ID 或审批名称
审批人查不到使用返回的 open_id 直接发送消息
消息发送失败输出催办信息让用户手动通知
无群聊可 @跳过群内 @催办,直接通知个人
审批已完成告知用户"该审批已处理完毕",无需催办

权限表

命令所需 scope
approval/v4/instances (GET)approval:instance:readonly
contact +search-usercontact:user.base:readonly
im +messages-sendim:message

参考

Frequently asked questions

What does the Lark Workflow Approval Reminder AI skill do?

审批催办机器人:自动查询待审批实例,定位当前审批人并发送催办提醒,支持逐级升级催办策略。当用户需要'催审批'、'催办'、'审批提醒'、'提醒审批人'、'跟进审批流程'、'审批到谁了'时使用。

Why use Lark Workflow Approval Reminder on TypingMind?

Because you install it once and use it with any model. Lark Workflow Approval Reminder is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Lark Workflow Approval Reminder in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/liangdabiao/lark-workflow-feishu-cli/tree/main/.claude/skills/lark-workflow-approval-reminder. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Lark Workflow Approval Reminder?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Lark Workflow Approval Reminder?

As many as you like. As long as a model supports skills, you can use Lark Workflow Approval Reminder with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Lark Workflow Approval Reminder AI skill free?

It is published on GitHub by liangdabiao. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇