verify 是 Skilly 中定义各验证关卡所运行步骤的技能。references/verify.json 保存默认步骤并由 Sync 同步到每个 Consumer,.skilly/verify.json 只保存本仓库的改动;钩子与 CI 调用合并配置的某个 stage,使本地关卡与流水线对“通过”的标准保持一致。
用法:node .agents/skills/verify/scripts/verify.mjs <stage> 运行关卡;加 --steps 输出解析后的步骤 JSON 且不运行;--config 输出合并配置 JSON 且不运行。可在 Consumer 任意位置执行。退出码 0 表示通过,2 表示配置或用法错误,其余为失败步骤的退出码。
配置两文件同形,含 budgetTicket 与 stages;每个 stage 可有 budgetSeconds 与 steps(每步有 name、run、why,可带 target 与 tier)。extends 为累积关系:push 会先跑完 commit 的每一步,因此上层关卡无法跳过下层已跑的检查。budget 只告警不失败,budgetTicket 指明超预算关卡的拆分去处。
覆盖:.skilly/verify.json 按步骤名合并到默认值之上——同名的覆盖 run 并保留其余字段;"-名字" 删除默认步骤;新名字在默认之后追加;stage 上的 budgetSeconds 替换默认值。该文件可选,用 --config 或 <stage> --steps 查看结果。
tier 在 .skilly/config.json 中配置,默认 sandbox,顺序 sandbox < tool < product;步骤的 tier 是运行它所需的最低要求,低于则跳过,stage 的 tier 同理且低于时整体不运行并以 0 退出。target 是相对仓库根的路径,缺失则跳过该步骤,从而让同一份 stage 列表适配没有 e2e/ 或 Dockerfile 的仓库。新增检查应写为一步,放入本仓库的 .skilly/verify.json;所有 Consumer 都需要的检查放入 hub 的 bundles/workflow/skills/verify/references/verify.json,并为每步写明 why,以便失败时立即打印原因。