ajv-cli JSON 模式校验器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的官方指南,将规范名 @user_3c6cb52e/validate-json-data-and-config-files-against-schemas-with-ajv-cli 的技能安装到 AI 助手中。
技能介绍
问题背景
JSON、JSON5、YAML 被广泛用于配置文件、接口数据和 CI 中间产物。一旦 schema 与数据漂移,错误通常要等到下游工具真正读取时才会暴露,排错成本高且容易阻塞流水线。手工写脚本校验不仅重复,也难以覆盖多文件、多模式叠加和不同 JSON Schema 语言版本的组合。
工作原理
该技能将验证能力收敛到 ajv-cli,让你可以在 shell 或 CI 中直接对目标文件运行模式检查。核心能力包括:
- 统一在命令行执行 schema 校验,便于本地复现与 CI 集成。
- 支持传入多个 JSON Schema 或 JTD 文件,既可重复指定参数,也可使用 glob 模式批量匹配。
- 通过
--spec选择 JSON Schema 语言与版本,覆盖不同规范要求。 - 面向 JSON、JSON5、YAML 三类输入做格式解析,再按模式比对结构与约束。
关键步骤是:准备 schema 文件与目标数据文件;用 ajv-cli 指向对应 schema 与数据路径;将校验命令纳入提交前检查或流水线步骤,使畸形输入在进入下游工具前就失败。
适用边界与注意点
它解决的是“数据是否符合已声明模式”的问题,不替代 schema 设计评审,也不负责修复不合法数据。多 schema 场景下,glob 模式需要加引号且不能省略扩展名;使用 TypeScript 编写 schema 时需要本机可用 ts-node。不同 JSON Schema 语言版本之间的兼容性仍需按上游文档显式指定,避免把版本差异误判为数据错误。
使用场景
- 接手一个混合 JSON5 与 YAML 的服务配置,提交前需核对多份 schema 是否一致。
- CI 流水线里要拦下结构错误的 JSON 数据,避免它进入下游构建步骤。
- 使用 JTD 定义接口数据格式,需要从 shell 批量校验传入样本是否符合规则。
- 本地改完配置文件后,希望用命令行快速验证它仍然符合项目声明的模式。
适合人员
- 维护复杂 Node.js 服务、常改 YAML 配置的后端工程师,需要防止格式错误流入部署。
- 搭建 CI 的 DevOps 工程师,希望把 schema 校验作为流水线中的强制门禁。
- 编写接口规范的开发者,需要用 JSON Schema 或 JTD 验证样例数据是否合规。