Borrowing it
Nothing to install: this file belongs to foxzool/openlark. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/foxzool/openlark/main/.agents/skills/openlark-api/SKILL.mdgit 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/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/foxzool/openlark/openlark-api"><img src="https://agentmods.dev/badge/skills/foxzool/openlark/openlark-api.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.1 | $0.00099 | $0.04851 |
| Opus 5.5 | $0.00040 | $0.01940 |
| Sonnet 5.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 2mo 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.
- 2mo ago First seen · 302 lines · 99 tokens per session scan A ebf6e744635b
openlark-api is a skill published in the GitHub repository foxzool/openlark (108 stars, last pushed 3d ago), licensed Apache-2.0. It adds 99 tokens to every session and 4,851 once invoked, about $0.0004 per session on Opus 5.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
fastapi-common
A shared foundation for FastAPI web backends, covering cross-origin access, error handling, request logs, and consistent API responses. FastAPI is a Python framework for building web APIs.
rust-engineer
Writes, reviews, and debugs idiomatic Rust code with memory safety and zero-cost abstractions. Implements ownership patterns, manages lifetimes, designs trait hierarchies, builds async applications with tokio, and structures error handling with Result/Option. Use when building Rust applications, solving ownership or…
azure-eventhub-rust
Azure Event Hubs library for Rust. Send and receive events for streaming data ingestion and batch processing. Triggers: "event hubs rust", "ProducerClient rust", "ConsumerClient rust", "send event rust", "streaming rust", "eventhub rust".
apollo-router-plugin-creator
Guide for writing Apollo Router native Rust plugins. Use this skill when: (1) users want to create a new router plugin, (2) users want to add service hooks (routerservice, supergraphservice, executionservice, subgraphservice), (3) users want to modify an existing router plugin, (4) users need to understand router…
azure-eventhub-rust
Client library for Azure Event Hubs — big data streaming platform and event ingestion service.
rust-gateway
Add or change an HTTP route, extractor, response envelope, stream or router mount in the litellm-rust gateway crates (crates/gateway and crates/gateway-). Use when adding an endpoint, parsing a request body, choosing an error envelope for an API surface, relaying SSE, or writing a router-level test.