openlark: Skill for Claude Code

.agents/skills/openlark-naming/SKILL.md

openlark-naming is a skill for Claude Code from foxzool/openlark. It costs 133 tokens per session (3,822 once invoked), scanned A, original, Apache-2.0.

A naming and public-API guide for a Rust SDK, covering the roles of clients, services, resources, requests, builders, and versioned layers. A public API is the set of types and functions other developers are meant to use.

In plain words
What is it for?
Use it when designing or renaming public types, structuring client calls, deciding between a service and resource, adding version layers, or updating exports and the prelude.
Why use it?
It prevents confusing names and inconsistent call chains, making the SDK easier to understand and reducing compatibility problems when APIs change.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: installed under .agents/ (shared by several agents).

This is foxzool/openlark's own configuration. It tells Claude Code how to work on openlark itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything openlark configures →

Reuse

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.

Copy the file
curl -O https://raw.githubusercontent.com/foxzool/openlark/main/.agents/skills/openlark-naming/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/foxzool/openlark

Made for: Claude Code.

Wrote 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.

agentmods badge for openlark-naming

README.md
[![agentmods](https://agentmods.dev/badge/skills/foxzool/openlark/openlark-naming.svg)](https://agentmods.dev/skills/foxzool/openlark/openlark-naming)
Your own site
<a href="https://agentmods.dev/skills/foxzool/openlark/openlark-naming"><img src="https://agentmods.dev/badge/skills/foxzool/openlark/openlark-naming.svg" alt="Measured on agentmods" height="20"></a>
Per session 133 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,822 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00133 $0.03822
Opus 5 $0.00067 $0.01911
Sonnet 5 $0.00027 $0.00764
Haiku 4.5 $0.00013 $0.00382

Measured 7d ago against content hash 08addbb83171, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

openlark-naming 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 7d 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.

.agents/skills/openlark-naming/SKILL.md · 168 lines

How it starts

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

OpenLark 命名规范(Client / Service / Resource / Request / Builder)

🧭 技能路由指南

本技能适用场景:

  • 你在设计/调整对外公开类型名(pub struct / pub type / re-export / prelude)
  • 你在设计 client.xxx.v1.yyy.zzz 这类 meta 调用链
  • 你发现 *Service 同名、语义混乱、调用方式不一致,想系统性收敛

其他技能:

  • 项目级规范体检(架构/API/导出/校验一体)→ Skill(openlark-code-standards)
  • 设计审查(更广)→ Skill(openlark-design-review)
  • 新增/重构单个 API(落盘/端点/Builder 模板)→ Skill(openlark-api)

关键词触发映射

  • 命名规范、Client vs Service、Resource、重命名、meta 调用链、公开 API → openlark-naming
  • 代码规范、规范检查、风格一致性、体检 → openlark-code-standards
  • 架构设计、public API、收敛方案、feature gating、兼容策略 → openlark-design-review
  • 新增 API、重构 API、Builder、Request/Response、mod.rs 导出 → openlark-api
  • validate、必填校验、validate_required、空白字符串、校验聚合 → openlark-validation-style

双向跳转规则

  • 若命名问题已扩展为入口/范式收敛问题,转 openlark-design-review
  • 若命名调整涉及具体 API 文件实现与导出补齐,转 openlark-api
  • 若需要先确认全仓规则基线,再做命名调整,先跑 openlark-code-standards

0) 快速决策:先选类型职责,再命名(必须)

  • 顶层入口/门面(面向用户):持有 Config(或 Arc<Config>),组织调用链与透传配置 → *Client
  • 业务能力集合(可执行):对外暴露一组 API,承接/实现通用 trait(如 ServiceExecutableBuilder)→ *Service
  • 资源节点/命名空间(只组织层级):处在 meta 调用链的中间层,主要做字段分组与 config 透传 → *Resource
  • 版本层对象:必须把版本写进类型名 → *V1Service / *V2Service(或 *V1Client 视职责而定)
  • 单 endpoint 请求类型*Request*RequestBuilder(同一 crate/模块树二选一并保持一致)

约束:不要用 *Service 去命名“仅做层级组织/透传 config 的节点”。

1) *Client 命名规则

  • 语义:入口 / 门面 / 组合根;类型名要让读者知道“从这里开始调用”。
  • 典型结构:
    • 持有 Arc<Config>
    • 暴露 pub xxx: XxxResource / pub v1: XxxV1Client 之类字段链
    • 很少直接实现业务方法(除非规模很小且能保持一致)
  • 建议放置:common/chain.rs(避免被 API 实现校验脚本当成 endpoint 实现文件)

两种合法实现(XxxClient 的落盘方式)

每个业务 crate 必须导出一个 XxxClient 类型作为主入口,有两种合法实现方式,按 crate 规模/复杂度二选一:

方式 写法 适用 现码实例(核实)
A. 单 facade type alias pub type XxxClient = XxxService;(写在 lib.rs crate 规模小、内部仅一个 Service、无需多层链式入口 crates/openlark-workflow/src/lib.rs:121 pub type WorkflowClient = WorkflowService;;同类还有 bot/application/platform/mail/helpdesk/analytics/user 等
B. 分层调用链 struct pub struct XxxClient { ... }(写在 common/chain.rs,经 lib.rs re-export) crate 含多 bizTag/project、需要 client.xxx.v1.yyy 链式入口 crates/openlark-docs/src/common/chain.rslib.rs:125 DocsClient;同类有 cardkit/communication/meeting/ai

Read the full file on GitHub · 168 lines

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. 7d ago First seen · 168 lines · 133 tokens per session scan A 08addbb83171

Subscribe to this mod's changes

openlark-naming is a skill published in the GitHub repository foxzool/openlark (105 stars, last pushed 4d ago), licensed Apache-2.0. It adds 133 tokens to every session and 3,822 once invoked, about $0.0007 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.