在已有小程序项目中创建新的 AI Skill。
wxa-create-ai-miniprogram)wxa-find-skills)skills/{skill-name}/ 完整分包 + app.json 注册skills/{skill}/apis/{name}.jsskills/{skill}/components/{name}/来源用途加载时机npx mp-skills --help获取 <generate-dir> 和 <validate-dir> 路径Step 3 前<generate-dir>/SKILL.mdwxa-skills-generate 的完整阶段式工作流Step 3 代码生成<generate-dir>/references/CODE_TEMPLATES.mdmcp.json / index.js / 接口实现代码模板Step 2/3 编写时<generate-dir>/references/ATOMIC_COMPONENT_DESIGN.md原子组件设计规范Step 3 组件生成<generate-dir>/references/JSAPI_WHITELIST.mdwx API 白名单完整清单Step 3 代码生成时<validate-dir>/SKILL.md校验规则和修复详细流程Step 4 校验 + Step 5 修复<validate-dir>/references/VALIDATE_RULES.mdV001~V016 规则详情校验报错需定位 id 时<validate-dir>/references/CLI_AGENT_REFERENCE.mdexecute/render 脚本用法Step 4 执行<project>/SKILL-DEV-GUIDE.md项目开发规范和 WeCard 视觉基线Step 2 设计时
<generate-dir>和<validate-dir>在 Step 3 中通过npx mp-skills --help获取。
条件说明必须是已有的 mp-skills 项目(存在 skills/ 目录)否则无法创建独立分包项目已执行过 npx mp-skills setup确保云开发环境已就绪不要覆盖已有的 Skill 目录如已存在同名目录,提示用户换名
规则说明接口命名 camelCasesearchItems、 placeOrder,不要用 search_items接口粒度适中每个接口职责单一,一个 skill 建议 3-6 个接口description 含前置条件"调用前置条件:用户已进入下单页面"description 含严禁场景"【严禁场景】不要用于修改已支付的订单"mcp.json ≤ 24000 字符去除 outputSchema 后的体积限制
components/{name}/index(相对路径,不带分包前缀)_meta.ui.componentPath阻断情况处理方式用户描述的功能在现有社区 Skill 中已存在建议先搜索安装,不要重复创建需求过于宏大(超过 6 个接口)拆分为多个独立的 Skillwxa-skills-generate 无法处理告知用户能力限制,提供替代方案连续 3 轮校验仍未通过标记为疑难问题,请求用户确认后继续
与用户对话明确功能需求。接口划分遵循以下原则:
searchItems、 getDetail、 placeOrder 各管各的输出接口清单,用户确认后再进入下一步。
在 skills/<skill-name>/ 下创建:
SKILL.md(业务路由说明,≤ 16KB):
mcp.json(模型可调用能力声明,去除 outputSchema ≤ 24000 字符):
json
{
"apis": [
{
"name": "searchItems",
"description": "搜索商品列表。\n调用前置条件:...\n【严禁场景】...",
"inputSchema": { "type": "object", "properties": {...}, "required": [...] },
"_meta": { "ui": { "componentPath": "components/item-list-card/index" } }
}
],
"components": [
{ "path": "components/item-list-card/index", "relatedPage": "/pages/index/index" }
]
}
产出后让用户确认设计。确认前不得进入下一步。
先获取官方技能路径并记录到变量:
bash
npx mp-skills --help
输出底部会显示:
text
工具型 Skill 路径(供 AI 模型引用):
wxa-skills-generate: /Users/xxx/.mp-skills/skills/wxa-skills-generate/SKILL.md
wxa-skills-validate: /Users/xxx/.mp-skills/skills/wxa-skills-validate/SKILL.md
记录两个路径(去掉末尾的 /SKILL.md):
<generate-dir> = wxa-skills-generate 所在目录<validate-dir> = wxa-skills-validate 所在目录然后读取 <generate-dir>/SKILL.md,按它的阶段式工作流执行代码生成。
按它的指引走即可,不需要在这里重复每一步。
注意:wxa-skills-generate 会自动处理 wx API 白名单检查、原子组件约束、分包配置。不要绕过这些约束。
使用 Step 3 中记录的 <validate-dir> 路径。
4.1 静态校验
bash
node <validate-dir>/scripts/validate.mjs <project-path>
通过条件: summary.errors === 0 且 summary.buildStatus === "pass"。
4.2 接口执行 + 组件渲染
静态校验通过后,对每个带 _meta.ui.componentPath 的接口:
bash
# 执行原子接口
node <validate-dir>/scripts/execute.mjs \
--project <project-path> --name <api-name> --args '{}' \
--output ./cli-agent-run/execute-result.<name>.json
# 渲染组件
node <validate-dir>/scripts/render.mjs \
--project <project-path> \
--from-execute ./cli-agent-run/execute-result.<name>.json \
--output ./cli-agent-run/render-result.<name>.json
如果有校验失败,按 wxa-skills-validate/SKILL.md 的修复流程处理:
类型特征修复范围T1 命名拼写字段大小写/拼写错单文件单行直接改T2 Schema 不一致structuredContent 与 outputSchema 不匹配apis + mcp.json 对齐T3 组件绑定不一致WXML 与 setData 字段对不上components JS/WXML 对齐T4 组件取值路径错result.structuredContent.xxx 路径错修组件 JST5 合规性违规非白名单标签/CSS用白名单替代T6 注册缺失mcp.json 声明的 name 未 registerAPI补 index.js 注册T7/T8 链路/粒度storage key 或接口划分问题跨文件调整T9 能力无法实现所有候选都违反硬约束⛔ 终止,告知用户T-build 编译失败stage=compile + FAIL先检查集成配置,再动源码
修复后重跑校验,直到全部通过。
确认 app.json 的 agent.skills[] 中已包含新 Skill。
提示用户运行 npx mp-skills setup 完成环境配置。