关于 lark-shared
lark-shared 是所有 lark-* skill 共用的基础规则集,涵盖身份与认证、输出契约以及高风险写操作的确认流程。它面向使用 lark-cli 的 Agent 和脚本编写者,用于统一调用行为。
主要功能
- 01user 与 bot 身份的选择与权限说明
- 02JSON 输出中成功与失败的判断方式
- 03高风险写操作的确认门禁与重试规则
- 04授权类 URL 需配合二维码展示
- 05相对路径限制与敏感信息输出禁令
适用场景
- 01判断 lark-cli 命令执行是否成功
- 02在执行删除或写入类命令前完成用户确认
- 03编写调用 lark-cli 的脚本或封装
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ larksuite/ cli --skill lark-shared安装后在 Claude Code 中输入/lark-shared确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/lark-shared-config-init.mdlark-shared-high-risk-approval.mdlark-shared-identity-and-permissions.mdlark-shared-output-contract.mdlark-shared-update-notice.mdlark-wiki-token-routing.md详细介绍
来自项目 READMElark-cli 共享规则
所有 lark-* skill 共享的底座:身份、认证、输出契约与高风险操作。
通用准则
-
调用前先确认用法:执行前读对应 reference 或跑
--help,别猜 flag 盲调。 -
身份决定你代表谁操作:
--as user代表用户本人(能看到、也能操作其日历、云空间/云盘/云存储等个人资源),--as bot代表应用自己,应用级操作,只能访问bot自己的资源,bot 查用户资源会返回空成功而非报错。动手前先搞清楚身份identity。身份模型和权限管理 →lark-shared-identity-and-permissions.md。 -
授权 / 配置类 URL 必须配二维码:当命令输出
verification_url、verification_uri_complete、console_url等 URL 字段时,必须用lark-cli auth qrcode生成并在回复中展示,URL 在前二维码在后;优先生成 PNG(--output),仅当用户明确要求时才使用 ASCII(--ascii)。URL 原样转发——不编解码、不加标点、不重拼 query,二维码和链接请一起展示给用户。 -
--format json(默认)下,判断成功用ok == true(或进程退出码 0),不要用code == 0:成功信封没有顶层code/msg字段,code只出现在错误信封的error内。按 OpenAPI 老格式{"code": 0, "msg": "ok"}判断会把所有成功调用误判为失败——封装写入类命令时尤其危险。JSON 输出契约 →lark-shared-output-contract.md。
安全规则
-
禁止输出密钥(appSecret、accessToken等)到终端明文。
-
写入/删除操作前必须确认用户意图。
-
目标命令支持
--dry-run时,用--dry-run预览危险请求。 -
退出码 10 是高风险确认门禁(
risk: "high-risk-write"),不是错误:停下 → 向用户确认(展示action、risk和关键参数)→ 取得用户显式同意后,将hint指出的确认 flag 追加到你原始 argv 的末尾后重试;绝不静默加确认 flag 绕过 →lark-shared-high-risk-approval.md。 -
文件路径只接受相对路径:
--file、--output、--output-dir、@file等路径参数只接受 cwd 下的相对路径,传绝对路径会报unsafe file path。数据输入(@file、大 JSON)优先用 stdin 传入,避免路径和转义问题。
Reference 强触发索引
命中任一触发条件时,MUST 在执行下一步前读取对应 reference。命中多条时按表中顺序读取,同一reference只读取一次。
| 强触发条件(命中任一即必读) | Reference |
|---|---|
查看自己是谁(user/bot)、获取当前身份详细字段信息、身份诊断、--as选择逻辑、身份延续、登录态、认证、scope、授权和权限管理、missing_scopes 或 console_url、Agent 准备发起或完成 auth login | lark-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 --new | lark-shared-config-init.md |
用户询问 notice、CLI版本更新、或输出含 _notice(升级 / skills 落后 / 废弃命令提示) | lark-shared-update-notice.md |