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.
npx agentmods add skills/larksuite/cli/lark-wikinpx skills add larksuite/cli --skill lark-wikigit clone --depth 1 https://github.com/larksuite/cliWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00169 | $0.03496 |
| Opus 5 | $0.00084 | $0.01748 |
| Sonnet 5 | $0.00034 | $0.00699 |
| Haiku 4.5 | $0.00017 | $0.00350 |
Grade A, and why
lark-wiki 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 3d 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.
How it starts
The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
wiki (v2)
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理
成员管理硬限制:
- 如果目标是“部门”,先判断身份,再决定是否继续。
--as bot对应tenant_access_token。官方限制:这种身份下不能使用部门 ID (opendepartmentid) 添加知识空间成员。- 遇到“部门 + --as bot”时,禁止先调用
lark-cli wiki +member-add试错;直接说明该路径不可行。- 如果用户明确要求“以 bot 身份运行”,且目标是部门,必须停下说明 bot 路径无法完成,不要静默切到
--as user。
身份选择:优先使用 user 身份
知识空间和节点都是用户的个人资源,策略上应优先显式使用 --as user(CLI 的 --as 默认值为 auto,不带 --as 时常被解析成 bot,列出的是应用所属空间而非用户的)。仅当用户明确要求“应用 / bot 视角”时才用 --as bot(仍受上面的成员管理硬限制约束)。
快速决策
- 用户要按特定主题 / 关键词 / 内容线索查找资料并收集到知识库节点或新建知识库节点下,必须先阅读
../lark-drive/references/lark-drive-workflow.md,再按其中Workflow Registry进入topic_move_collectorworkflow。该 workflow 使用 Drive 全量搜索召回,再按 Wiki 目标解析、确认和移动;不要只用 Wiki 节点列表做局部遍历。 - 用户要整理 / 盘点 / 归类 / 重构知识库、个人文档库、文档库目录或 Wiki 节点结构,或要生成整理方案、目标目录树、移动计划时,不要只使用 Wiki 节点 API。必须先阅读
../lark-drive/references/lark-drive-workflow.md,再按其中Workflow Registry进入knowledge_organizeworkflow;该 workflow 负责 Drive / Wiki / 个人文档库的统一入口解析、资源盘点、分类计划、写前确认和结果验证。 - 用户要把已有 Wiki 节点移出知识库,放到 Drive 文件夹或“我的空间”根目录:使用
wiki +move-to-drive,不要使用wiki +move或drive +move。这是会改变节点归属和权限继承的写操作,执行前确认源节点与目标位置。 - 用户给的是知识库 URL(
.../wiki/<token>),且后续要查成员/加成员/删成员:先确定下游成员操作的身份(默认user;用户明确要求应用 / bot 视角时用bot),再调用lark-cli wiki +node-get --node-token '<wiki_url>' --as user --format json,从data.space_id获取空间 ID;下游使用 bot 时将示例中的身份改为--as bot。节点解析与后续成员操作必须使用相同身份。 - 用户要删除知识空间(
wiki +delete-space)但只给了名称或 URL:不能把名称 / URL 原样传给--space-id,必须先解析出真实space_id。解析方式:- URL(
.../wiki/<token>):先确定后续wiki +delete-space的身份(默认user;明确要求 bot 视角时用bot),再调用lark-cli wiki +node-get --node-token '<wiki_url>' --as user --format json,读取data.space_id;下游使用 bot 时将示例中的身份改为--as bot。解析和删除必须使用相同身份。 - 只知名称:
lark-cli wiki spaces list --format json,边翻页边收集 items 并按name精确匹配;一旦任一页累计到至少 1 条精确匹配就停止翻页。只有当翻完所有页(has_more=false)仍无精确匹配时,才对已收集的全量 items 做宽松匹配(nametrim 空格、大小写不敏感、子串包含)。 - 关键安全约束:无论精确还是模糊,无论命中 1 条还是多条,发起删除前都必须把候选(
name+space_id+description+space_type)列给用户,由用户明确选定一个space_id再执行。不要因为"只命中一条"就自动执行删除。 - 命中 0 条:停下来问用户是名称拼错了还是调用方无权限;不要自行改名字重试。
- 用户明确选定后再执行
lark-cli wiki +delete-space --space-id <ID> --yes(高风险写操作,必须显式--yes)。 - 反例:不要把 wiki URL / 名称直接当
--space-id(如--space-id "https://.../wiki/<wiki_token>");务必先用wiki +node-get解析出data.space_id再传。
- URL(
- 用户要在知识库中创建新节点,优先使用
lark-cli wiki +node-create。 - 用户要原地重命名 Wiki 节点 / 修改节点标题:使用
lark-cli drive +update-title --url '<wiki_url>' --title '<new_title>'。该命令保留同一个node_token,并会根据 API 返回给出准确的缺失 scope 和授权提示;不要探索 rawwiki.nodes的update_title端点,也不要通过复制或新建第二个节点实现改名。 - 用户要列出 Wiki 节点:先用
wiki +space-list --as user拿数字space_id,再用wiki +node-list --space-id <space_id>。不要把 wiki URL、node token、doc token、名称直接当--space-id。钻子节点时--parent-node-token必须是 wiki node token;如果用户给的是 docx/sheet/base URL,先用wiki +node-get --node-token <url>解析出node_token。 wiki +node-list命中invalid_parameters、not_found、permission_denied时,不要重复调用同一参数;按 hint 修space_id/parent_node_token/ 权限。只有rate_limit才做退避重试。- 用户说“给知识库添加成员/管理员”:先把目标解析成“用户 / 群 / 部门 / 应用”四类之一,再决定
--member-type,不要先调wiki +member-add再根据报错反推类型。 - 用户说“部门 + bot”:这是已知不支持路径。不要继续尝试
wiki +member-add --as bot;直接提示必须改成--as user,或明确告知当前要求无法完成。 - 用户说“用户 / 群 / 应用 + 添加成员”:先解析对应 ID,再执行
wiki +member-add。 - 用户说“查看 / 列出空间成员”:用
wiki +member-list;该 shortcut 默认只取一页,多成员场景显式加--page-all。 - 用户说“移除 / 删除空间成员”:用
wiki +member-remove,必须传齐原始授予时的--member-type和--member-role(不知道就先wiki +member-list查一下)。
What ships with it
13 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.
- references/lark-wiki-delete-space.md 8.5 KB
- references/lark-wiki-member-add.md 3.5 KB
- references/lark-wiki-member-list.md 2.8 KB
- references/lark-wiki-member-remove.md 2.8 KB
- references/lark-wiki-move-to-drive.md 4.5 KB
- references/lark-wiki-move.md 9.9 KB
- references/lark-wiki-node-copy.md 2.3 KB
- references/lark-wiki-node-create.md 7.7 KB
- references/lark-wiki-node-delete.md 2.9 KB
- references/lark-wiki-node-get.md 3.7 KB
- references/lark-wiki-node-list.md 4.3 KB
- references/lark-wiki-space-create.md 1.5 KB
- references/lark-wiki-space-list.md 2.2 KB
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.
- 3d ago First seen · 120 lines · 169 tokens per session scan A d77b966ab246
lark-wiki is a skill published in the GitHub repository larksuite/cli (16,925 stars, last pushed yesterday), licensed MIT. It adds 169 tokens to every session and 3,496 once invoked, about $0.0008 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.
Other skills, from other repositories
feishu
Work with Feishu or Lark bots, docs, sheets, bitables, approval flows, and OpenAPI/MCP setup without hardcoding credentials.
dws
【何时用:仅当用户明确指向钉钉/DingTalk(钉钉文档、钉钉日程等)时使用;泛指做文档/表格/待办/审批默认走本地工具,不要误用钉钉】用 dws CLI 管理钉钉:AI表格/AI搜问(找人首选)/目标管理(Agoal)/组织大脑/日历/通讯录/群聊与机器人消息/待办/审批/考勤/日志(日报周报)/DING消息/钉钉文档/云盘/Markdown文件/AI听记/邮箱/在线电子表格(axls)/知识库/白板/开放平台文档/个人IM与OA事件订阅。用户要求操作上述钉钉产品时使用。.
co-mail-and-drive
Read and send mail from the user's own Gmail or Outlook account, send from the agent's own address, manage their Outlook contacts, and list/search/download/upload their Google Drive files — with co gmail, co outlook, co email, and co gdrive. Use when the user asks about their inbox, an email they received or want to…
minutes-record
Start or stop recording a meeting, call, or voice memo. Use this whenever the user says "record", "start recording", "capture this meeting", "stop recording", "I'm in a meeting", "take notes on this call", or wants to transcribe live audio. Also use when they ask about recording status or want to know if something is…
notion
Search, read, create, and update Notion pages and databases. Supports knowledge capture, meeting prep, research documentation, and spec-to-task workflows.
notion-tool
Notion integration tool for searching, reading, creating, and updating pages and databases via the API. Use when: editing Notion pages, adding database rows, or searching a workspace.