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/foxzool/openlark/openlark-apinpx skills add foxzool/openlark --skill openlark-apigit clone --depth 1 https://github.com/foxzool/openlarkWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/foxzool/openlark/openlark-api)<a href="https://agentmods.dev/skills/foxzool/openlark/openlark-api"><img src="https://agentmods.dev/badge/skills/foxzool/openlark/openlark-api.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00099 | $0.04851 |
| Opus 5 | $0.00049 | $0.02426 |
| Sonnet 5 | $0.00020 | $0.00970 |
| Haiku 4.5 | $0.00010 | $0.00485 |
Grade A, and why
openlark-api 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 — 302 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenLark API 接口实现规范(速查)
🧭 技能路由指南
本技能适用场景:
- 添加/重构单个飞书开放平台 API
- 需要确定 API 落盘路径(bizTag → crate → 文件路径)
- 需要参考代码模板(Body/Response + Builder)
- 需要了解端点规范、RequestOption 约定、Service 链式调用
其他技能:
- 字段核对 / 抓飞书文档(playwright)→
Skill(openlark-api-field-verify)(读文档唯一入口) - 项目级规范体检(架构/API/导出/校验一体)→
Skill(openlark-code-standards) - 审查整体设计规范 →
Skill(openlark-design-review) - 统一
validate()写法 →Skill(openlark-validation-style) - 覆盖率(文件在不在)→
Skill(openlark-api-validation)
关键词触发映射
- 新增 API、重构 API、Builder、Request/Response、mod.rs 导出、RequestOption →
openlark-api - 字段核对、文档抓取、playwright、飞书文档字段 →
openlark-api-field-verify - 代码规范、规范检查、风格一致性、体检 →
openlark-code-standards - 架构设计、public API、收敛方案、feature gating、兼容策略 →
openlark-design-review - validate、必填校验、validate_required、空白字符串、校验聚合 →
openlark-validation-style - 覆盖率、缺失 API、实现数量、CSV 对比、验证脚本 →
openlark-api-validation
双向跳转规则
- 读文档 / 字段核对:一律转
openlark-api-field-verify(勿用本技能下的fetch_docpath.py在线抓取)。 - 实现完成后必须跑字段核对门禁(见 §0 步骤 8 / §4);差异修正仍在本技能落地。
- 若实现问题本质是架构范式冲突(Request/Service 边界),转
openlark-design-review。 - 若实现前需要先做全仓规范体检,先跑
openlark-code-standards。 - 若实现完成后要核验覆盖率与缺失清单,转
openlark-api-validation。
本文件只保留"可执行的最小流程"。标准示例见 references/;官方文档抓取见 Skill(openlark-api-field-verify)。
🔒 核心契约(所有 crate 必须遵守,不可违反)
这些是仓库唯一规范,违反任何一条都会导致接口不统一/调用失败。完整正确模板见
references/standard-example.md。
-
新代码默认
config: Config(owned);现有Arc<Config>的 Service/Client 保持现状,勿为统一所有权单独重构。openlark_core::Config内部已Arc<ConfigInner>,clone 廉价。新 Request/Service 默认用config: Config,构造用Config::build()(直接返回Config,不要.unwrap())。但仓库现有 573+ 文件仍用Arc<Config>(如openlark-docs的DocsClient/BaseClient/CcmClient,见crates/openlark-docs/src/common/chain.rs:611-629)——这些保持现状,不为统一所有权单独重构。两种形态都不持 HTTP client,"走 Transport"是硬约束。 -
R(ApiRequest<R>泛型)是响应data字段的内容类型,不是包装层。Transport::request返回ApiResponse<R> = {code,msg,data: R,...},resp.data: Option<R>。- 无 schema/透传:
R = serde_json::Value,execute返回SDKResult<serde_json::Value>。 - 有 schema:
R就是 data 内容的 typed struct,并impl ApiResponseTrait { fn data_format() -> ResponseFormat::Data }。 - ❌ 禁止写成
XxxResponse { data: Option<T> }外面再包一层——core 已自动把R当作 data 内容解析,再包会双重嵌套(运行时才暴露,极难发现)。
- 无 schema/透传:
What ships with it
5 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.
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 · 302 lines · 99 tokens per session scan A ebf6e744635b
openlark-api is a skill published in the GitHub repository foxzool/openlark (105 stars, last pushed 5d ago), licensed Apache-2.0. It adds 99 tokens to every session and 4,851 once invoked, about $0.0005 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
lark-cli
Lark/Feishu CLI skills for Stella sessions. Covers workspace operations — calendar, docs, tasks, mail, and messenger — via the Stella-managed lark-cli tool. Stella installs the binary and injects a managed per-user OAuth token; no native CLI bootstrap is required. Always read lark-shared first for identity selection…
macOS应用
Skill "macOS应用" from nongjun/feishu-cursor-claw, covering macos 应用开发模式, 适用场景, 核心原则, swiftui 模式 and 数据持久化.
Go开发模式
Go 语言项目的开发模式和最佳实践。当用户提到"写 Go 代码""Go 服务""Go 接口""goroutine""Go 测试"时使用。.
next-rspack
Maintain @next/rspack-core and @next/rspack-binding packages. Use when editing rspack/package.json, rspack/crates/binding/Cargo.toml, rspack/rust-toolchain.toml, or packages/next-rspack/package.json. Covers upgrading @rspack/core npm version, rspack crate versions, Rust toolchain version, building and linking for…
code-simplifier
Review RTK Rust code for idiomatic simplification. Detects over-engineering, unnecessary allocations, verbose patterns. Applies Rust idioms without changing behavior.
compiler-port
Port a compiler pass from TypeScript to Rust. Gathers context, plans the port, implements in a subagent with test-fix loop, then reviews.