wxa-skills-validate 对小程序 AI SKILLs 产物执行「静态校验 → 原子接口执行 → 原子组件渲染 → 交付文档」的闭环校验,每步失败时按错误类型分类修复 skill 源文件。
用途与触发:对 skills/ 目录做静态校验、跑通原子接口、验证原子组件渲染、修复校验报错、输出交付文档,或在已有 skills 产物需要进入验证阶段时启动。
依赖:Node.js ≥ 18;微信开发者工具(Nightly Electron Build 最新版)已安装且 CLI 可执行;需在开发者工具设置-安全设置中打开「服务端口」,否则 CLI 连不上会导致 execute / render 失败;调试基础库 ≥ 3.16.2;AppID 已在微信公众平台申请通过「开发模式」;project.config.json 含 appid,app.json 含 agent.skills,每个 skill 目录含 mcp.json + SKILL.md。运行中可能出现授权弹窗,需手动授权。
主要能力与流程:阶段 1 运行 node validate.mjs <project-path> 做 V001~V021 静态校验,errors 为 0 后自动触发 cli preview 编译校验,产物落盘 cli-agent-run/validate-report.json;按 T1~T9 等错误类型表修复后重跑。阶段 2 确认 CLI 可执行并可预热 auto。阶段 3 解析各 mcp.json 的 apis[],按参数依赖做拓扑排序,敏感接口由 V019 初筛写入 destructive-manifest.json 待判断并默认拦截。阶段 4 用 execute.mjs 跑通原子接口(status=ok 且 invokeResult.isError!==true),对带 _meta.ui.componentPath 的接口用 render.mjs 渲染并通过 5 项核对,主要依据 consoleMessages.snapshotCard 生命周期与 overflow 日志。阶段 5 写 report.md,全部通过时按模板写 DELIVERY.md。
限制:静态或编译通过不等于验收通过,须真机 execute 加 render 核对;execute 未跑成不得判通过、不产出 DELIVERY.md。敏感接口默认不执行,仅在用户明确要求时带 --confirm-destructive 单独执行。render 不能并发,--from-execute 需产物含 structuredContent。连续修复 3 轮不通过才可挂起,累计 5 轮未通过终止并请求人工介入。CLI 缺失只会跳过 build 阶段,不影响静态规则输出。