Agent Skills
返回列表
💻

《OpenAPI 规范验证器与 Linter》

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/openapi-spec-validator-linter-2

技能介绍

为什么需要它

OpenAPI 文档越写越大之后,问题往往不是「能不能解析」,而是「能不能交付」。一个接口缺了 description、两个路径的命名风格不一致(getUserInfo 和 get-user-detail 混用)、安全方案声明了却没人引用——这些错误不会让 Swagger UI 直接崩溃,但会让调用方困惑、让安全评审返工。手工 review 一遍几百个端点的 YAML,耗时且容易漏掉同类问题。

技能如何工作

该技能把校验拆成两个层次,而不是简单跑一遍格式检查:

  • 语法与结构解析:底层使用 @readme/openapi-parser,负责读取 OpenAPI 3.0/3.1 文档,处理 $ref 引用展开与格式错误,先把「文档能不能被正确解析」这件事独立出来。
  • 规则化 Lint:基于 Spectral 的可配置规则集,针对 OpenAPI、Arazzo 或 AsyncAPI 等规范加载预定义规则集,并允许团队自定义 .spectral.yaml 补充规则。
  • 重点检查项:

- 接口与字段缺失 description 的情况
- 命名约定不统一,如标签大小写、参数命名风格漂移
- 安全方案(security scheme)声明后未被任何操作引用,或存在明显缺口

使用时,在项目根目录准备一份 Spectral 配置文件即可开始运行检查,扫描结果按文件和行号输出,方便直接定位修改。

适用边界

  • 它解决的是「规范一致性」和「常见遗漏」问题,不会自动修复代码,也不会替你写好业务描述文案。
  • 自定义规则集的严格程度取决于团队配置,规则过严会引入噪音,过松则只覆盖表面问题。
  • Spectral 与解析器对 OpenAPI 3.1 的支持随版本演进,遇到边缘特性(如 Webhooks 的高级写法)时,仍需结合人工判断。

使用场景

  • 维护多版本 OpenAPI 文档时,检查接口描述是否缺失,补齐供调用方参考
  • 合并 YAML 前,统一命名风格,避免路径或标签大小写混用
  • 安全评审前,排查已声明但未被任何端点引用的 security scheme
  • 接入 CI 流水线,在提交或发布前自动执行规则化校验并输出问题位置

适合人员

  • API 后端工程师,编写 OpenAPI 3.x 文档并希望提前发现描述缺失
  • API 平台负责人,负责团队命名约定和安全方案的统一落地
  • 技术文档工程师,需要审查他人提交的 YAML 是否符合规范
  • DevOps 工程师,打算在 CI 流程中接入自动化规范校验