Lark Shared logo

Lark Shared

OrganizationPopular
Pinvou
lark-shared

【何时用:仅在其他 lark-* 技能遇到认证/授权/身份/配置问题时,或首次使用 lark-cli 时;泛指需求默认走本地工具】lark-cli 共享规则:首次配置(config init)、认证登录(auth login --domain/--scope,split-flow)、登录态查询与撤销(auth status/logout/whoami)、--as user/bot 身份切换、权限不足与 missing_scope 处理、JSON 输出契约与 _notice、update 更新、高风险操作审批(exit 10)。

Overview

PublisherPinvou
Repositorypinvou-agent
Skill namelark-shared
Stars
2K
Forks
281
Bundled files
6
LicenseMIT
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.

  • 6 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

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

Installation

Install the Lark Shared 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.
  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/Pinvou/pinvou-agent.git /tmp/pinvou-agent
mkdir -p .claude/skills
cp -r /tmp/pinvou-agent/pinvou3-app/src-tauri/resources/common/bundle/lark-skills/lark-shared .claude/skills/lark-shared
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Lark Shared 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 Shared 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 Shared 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.

lark-cli 共享规则

所有 lark-* skill 共享的底座:身份、认证、输出契约与高风险操作。

通用准则

  1. 调用前先确认用法:执行前读对应 reference 或跑 --help,别猜 flag 盲调。

  2. 身份决定你代表谁操作--as user 代表用户本人(能看到、也能操作其日历、云空间/云盘/云存储等个人资源),--as bot 代表应用自己,应用级操作,只能访问bot自己的资源,bot 查用户资源会返回空成功而非报错。动手前先搞清楚身份identity。身份模型和权限管理 → lark-shared-identity-and-permissions.md

  3. 授权 / 配置类 URL 必须配二维码:当命令输出 verification_urlverification_uri_completeconsole_url 等 URL 字段时,必须用 lark-cli auth qrcode 生成并在回复中展示,URL 在前二维码在后;优先生成 PNG(--output),仅当用户明确要求时才使用 ASCII(--ascii)。URL 原样转发——不编解码、不加标点、不重拼 query,二维码和链接请一起展示给用户。

  4. --format json(默认)下,判断成功用 ok == true(或进程退出码 0),不要用 code == 0:成功信封没有顶层 code / msg 字段,code 只出现在错误信封的 error 内。按 OpenAPI 老格式 {"code": 0, "msg": "ok"}判断会把所有成功调用误判为失败——封装写入类命令时尤其危险。JSON 输出契约 → lark-shared-output-contract.md

安全规则

  1. 禁止输出密钥(appSecret、accessToken等)到终端明文。

  2. 写入/删除操作前必须确认用户意图

  3. 目标命令支持 --dry-run 时,用 --dry-run 预览危险请求。

  4. 退出码 10 是高风险确认门禁(risk: "high-risk-write"),不是错误:停下 → 向用户确认(展示 actionrisk 和关键参数)→ 取得用户显式同意后,将 hint 指出的确认 flag 追加到你原始 argv 的末尾后重试;绝不静默加确认 flag 绕过 → lark-shared-high-risk-approval.md

  5. 文件路径只接受相对路径--file--output--output-dir@file 等路径参数只接受 cwd 下的相对路径,传绝对路径会报 unsafe file path。数据输入(@file、大 JSON)优先用 stdin 传入,避免路径和转义问题。

  6. 临时文件一律写 tmp/ 子目录,别落工作目录根:CLI 入参、API 响应、分步数据等中间文件,统一写到 cwd 下的 tmp/ 子目录(如 --data @tmp/params.jsonlark-cli ... > tmp/resp.json,相对路径仍合法)。原因:工作目录根的文件会被当作「产出物」展示给用户,过程文件会污染产物列表。能用 stdin 不落文件就别落;必须落就放 tmp/(必要时先 mkdir -p tmp)。

Reference 强触发索引

命中任一触发条件时,MUST 在执行下一步前读取对应 reference。命中多条时按表中顺序读取,同一reference只读取一次。

强触发条件(命中任一即必读)Reference
查看自己是谁(user/bot)、获取当前身份详细字段信息、身份诊断、--as选择逻辑、身份延续、登录态、认证、scope、授权和权限管理、missing_scopesconsole_url、Agent 准备发起或完成 auth loginlark-shared-identity-and-permissions.md
需要依赖 JSON 输出契约判断成功 / 失败、读取 stdout / stderr,或为命令编写脚本与封装lark-shared-output-contract.md
准备执行high-risk-write(高风险操作)、判断命令风险等级、遇到退出码 exit 10、confirmation_required、确认后重试lark-shared-high-risk-approval.md
首次使用CLI需运行 lark-cli config init 完成应用配置、或 CLI 明确提示 config init --newlark-shared-config-init.md
用户询问 notice、CLI版本更新、或输出含 _notice(升级 / skills 落后 / 废弃命令提示)lark-shared-update-notice.md

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Lark Shared AI skill do?

【何时用:仅在其他 lark-* 技能遇到认证/授权/身份/配置问题时,或首次使用 lark-cli 时;泛指需求默认走本地工具】lark-cli 共享规则:首次配置(config init)、认证登录(auth login --domain/--scope,split-flow)、登录态查询与撤销(auth status/logout/whoami)、--as user/bot 身份切换、权限不足与 missing_scope 处理、JSON 输出契约与 _notice、update 更新、高风险操作审批(exit 10)。

Why use Lark Shared on TypingMind?

Because you install it once and use it with any model. Lark Shared 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 Shared in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Pinvou/pinvou-agent/tree/main/pinvou3-app/src-tauri/resources/common/bundle/lark-skills/lark-shared. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Lark Shared?

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 Shared?

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

Is the Lark Shared AI skill free?

Yes. It is published on GitHub by Pinvou under the MIT license. 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 👇