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/dropfan/claude-code-plugins/lark-wikinpx skills add DropFan/claude-code-plugins --skill lark-wikigit clone --depth 1 https://github.com/DropFan/claude-code-pluginsWhat 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.03521 |
| Opus 5 | $0.00084 | $0.01760 |
| Sonnet 5 | $0.00034 | $0.00704 |
| Haiku 4.5 | $0.00017 | $0.00352 |
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 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.
This is a copy
95% identical to lark-wiki — 15 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
⚙️ Cowork / Claude Desktop 执行环境说明(自动注入)
本技能依赖本地
lark-cli(@larksuite/cli,可用command -v lark-cli定位)及其~/.lark-cli登录态(应用密钥存于 macOS keychain)。在 Cowork 中运行任何
lark-cli命令时,必须在本地 macOS 上执行(使用 Desktop Commander 的start_process/interact_with_process,或其它本地 shell 工具),不要用隔离的 Linux 沙箱mcp__workspace__bash——沙箱里没有 lark-cli、也读不到 keychain。 执行前确保 npm 全局 bin 目录(npm prefix -g输出目录下的bin)在 PATH 中。(在 Claude Code 中可忽略本说明,lark-cli 在本机 shell 直接可用。)
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 节点:先用
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 6.6 KB
- references/lark-wiki-node-delete.md 2.9 KB
- references/lark-wiki-node-get.md 2.6 KB
- references/lark-wiki-node-list.md 4.0 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.
- 2d ago First seen · 129 lines · 169 tokens per session scan A 1d537a8505d3
lark-wiki is a skill published in the GitHub repository DropFan/claude-code-plugins (7 stars, last pushed 27d ago), licensed MIT. It adds 169 tokens to every session and 3,521 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. It is 95% identical to lark-wiki, differing in 15 lines, and is treated as a copy.
Other skills, from other repositories
auto-loop
TDD-based autonomous development loop with checkpoint recovery and observability changelog.
hook-template
Generate hook script from template. Use when adding a new hook, wiring a PreToolUse/PostToolUse/Stop/Notification hook, or scaffolding hook config for settings.json.
agent-check
Validate custom agent file format and structure. Use after creating or editing an agent, before committing agent changes, or when an agent fails to load.
session-relay
Continue real repository work between Claude Code, Codex CLI, and Grok Build with a privacy-bounded, drift-aware handoff packet. Use for cross-vendor takeover, context-limit checkpoints, multi-hop Claude→Codex→Grok relays, or receiving an existing Director packet. Use native resume commands for same-CLI history; never…
skill-check
Validate skill/command file format and structure. Use after creating or editing a skill, before committing skill changes, or when a skill fails to load or trigger.
skill-template
Generate custom skill/command from template. Use when creating a new skill or slash command from scratch, or scaffolding a skill file with correct frontmatter.