lark-shared

Shared instructions for lark-cli authentication, identity, permissions, output handling, and safety rules. lark-cli is a command-line tool for operating on Feishu resources.

In plain words
What is it for?
Use it when logging in, checking authorization, switching between user and bot access, diagnosing missing permissions, handling confirmation gates, and interpreting lark-cli output.
Why use it?
It prevents common mistakes such as using the wrong user or bot identity, exposing credentials, misreading command results, or performing unconfirmed writes.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/larksuite/cli/lark-shared
Any agent
npx skills add larksuite/cli --skill lark-shared
Clone the repo
git clone --depth 1 https://github.com/larksuite/cli

Made for: Claude Code, Codex.

Per session 49 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,165 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00049 $0.01165
Opus 5 $0.00024 $0.00583
Sonnet 5 $0.00010 $0.00233
Haiku 4.5 $0.00005 $0.00117

Measured 2d ago against content hash 9fa68bb1f3ce, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

lark-shared scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/lark-shared/SKILL.md · 49 lines

How it starts

The opening of the file, as written. The whole thing — 49 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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 传入,避免路径和转义问题。

Reference 强触发索引

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

强触发条件(命中任一即必读) Reference
查看自己是谁(user/bot)、获取当前身份详细字段信息、身份诊断、--as选择逻辑、身份延续、登录态、认证、scope、授权和权限管理、missing_scopesconsole_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

Read the full file on GitHub · 49 lines

Files

What ships with it

6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 49 lines · 49 tokens per session scan A 9fa68bb1f3ce

Subscribe to this mod's changes

lark-shared is a skill published in the GitHub repository larksuite/cli (16,925 stars, last pushed today), licensed MIT. It adds 49 tokens to every session and 1,165 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

obra/superpowers · 37 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

agent-host-chat-contributions

Build and review cross-cutting agent-host chat behavior through lifecycle contributions. Use when adding turn lifecycle side effects, prompt or context injection, restored-history transformation, protocol-action observation, or when reviewing changes that add code to AgentSideEffects or AgentService.

microsoft/vscode · 56 tokens

auto-perf-optimize

Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.

microsoft/vscode · 62 tokens