agentsclimarketplace

Wxa create mp skill

Skill TencentCloudBase/mp-skills/skills/wxa-create-mp-skill

Miniprogram skills tool - npx mp-skills 让小程序快速接入微信小程序 AI 开发模式——小程序 Skill 开发工具,支持快速创建新的 AI 小程序和 Skill,或将现有小程序改造为支持 AI 开发模式,并内置 AI 评测校验工具,保障 Skill 执行质量和稳定性

Install
npx -y skills add TencentCloudBase/mp-skills --skill wxa-create-mp-skill

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

在已有小程序项目中创建新的 AI Skill。当用户想在现有项目中添加自定义 AI 能力(而非安装现成的社区 Skill)时触发。完整流程:理解需求 → 设计接口 → 调用 wxa-skills-generate 生成代码 → wxa-skills-validate 校验通过。

SKILL.md

8.4 KB, ~2.8k tokens by cl100k_base, as published. Nobody here has run it

wxa-create-mp-skill

在已有小程序项目中创建新的 AI Skill。

职责边界

  • ✅ 理解用户需求,设计原子接口
  • ✅ 产出 SKILL.md + mcp.json 设计文档
  • ✅ 调用 wxa-skills-generate 生成完整代码
  • ✅ 调用 wxa-skills-validate 校验、执行、渲染
  • ✅ 修复校验问题直至全部通过
  • ❌ 创建新小程序项目(交给 wxa-create-ai-miniprogram
  • ❌ 搜索安装社区 Skill(交给 wxa-find-skills
  • ❌ 修改小程序主包代码(如 app.js、页面文件)
  • ❌ 上架 Skill 到应用市场
  • 📦 交付:skills/{skill-name}/ 完整分包 + app.json 注册

术语约定

  • 原子接口:对外暴露给小程序 AI 的可调用 API,约定路径 skills/{skill}/apis/{name}.js
  • 原子组件:渲染原子接口返回数据的 UI 卡片,约定路径 skills/{skill}/components/{name}/
  • SKILL.md:AI 路由元数据,描述业务的触发场景和使用顺序,≤ 16KB
  • mcp.json:模型可调用能力声明,去除 outputSchema 后 ≤ 24000 字符
  • Wecard 设计规范:原子组件的视觉基线标准,详见项目 SKILL-DEV-GUIDE.md 附录 A

参考资料索引

来源用途加载时机
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 设计时
<mode-dev-dir>/SKILL.mdAI 开发模式开发规范(content 写法、description 模板、禁令集)Step 2 设计时
<mode-dev-dir>/references/BEST_PRACTICES.mdcontent 文本写法、三段式 description 模板、常见禁令Step 2/3 编写 content/description 时

<generate-dir><validate-dir><mode-dev-dir> 在 Step 3 中通过 npx mp-skills --help 获取。

硬性约束

A. 项目前置条件

条件说明
必须是已有的 mp-skills 项目(存在 skills/ 目录)否则无法创建独立分包
项目已执行过 npx mp-skills setup确保云开发环境已就绪
不要覆盖已有的 Skill 目录如已存在同名目录,提示用户换名

B. 接口设计规范

规则说明
接口命名 camelCasesearchItemsplaceOrder,不要用 search_items
接口粒度适中每个接口职责单一,一个 skill 建议 3-6 个接口
description 含前置条件"调用前置条件:用户已进入下单页面"
description 含严禁场景"【严禁场景】不要用于修改已支付的订单"
mcp.json ≤ 24000 字符去除 outputSchema 后的体积限制

C. 组件规范

  • 遵守 WeCard 设计规范(详见 SKILL-DEV-GUIDE.md 附录 A)
  • 组件路径格式:components/{name}/index(相对路径,不带分包前缀)
  • 每个带 UI 的接口必须关联 _meta.ui.componentPath

D. 阻断规则(立即停止)

阻断情况处理方式
用户描述的功能在现有社区 Skill 中已存在建议先搜索安装,不要重复创建
需求过于宏大(超过 6 个接口)拆分为多个独立的 Skill
wxa-skills-generate 无法处理告知用户能力限制,提供替代方案
连续 3 轮校验仍未通过标记为疑难问题,请求用户确认后继续

工作流

Step 1 — 需求理解与接口设计

与用户对话明确功能需求。接口划分遵循以下原则:

  • 每个接口职责单一:searchItemsgetDetailplaceOrder 各管各的
  • 不要一个接口做太多事(避免 AI 选择困难)
  • 不要拆太细(避免多次 API 调用)
  • 建议 3-6 个原子接口

输出接口清单,用户确认后再进入下一步。

Step 2 — 产出设计文档

skills/<skill-name>/ 下创建:

SKILL.md(业务路由说明,≤ 16KB):

  • 能力域定位
  • 触发场景(few-shot 用户原话)
  • 不适用范围
  • 使用顺序

mcp.json(模型可调用能力声明,去除 outputSchema ≤ 24000 字符):

{
  "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" }
  ]
}

产出后让用户确认设计。确认前不得进入下一步。

Step 3 — 代码生成

先获取官方技能路径并记录到变量:

npx mp-skills --help

输出底部会显示:

工具型 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 4 — 校验

使用 Step 3 中记录的 <validate-dir> 路径。

4.1 静态校验

node <validate-dir>/scripts/validate.mjs <project-path>

通过条件:summary.errors === 0summary.buildStatus === "pass"

4.2 接口执行 + 组件渲染

静态校验通过后,对每个带 _meta.ui.componentPath 的接口:

# 执行原子接口
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

Step 5 — 修复问题

如果有校验失败,按 wxa-skills-validate/SKILL.md 的修复流程处理:

类型特征修复范围
T1 命名拼写字段大小写/拼写错单文件单行直接改
T2 Schema 不一致structuredContent 与 outputSchema 不匹配apis + mcp.json 对齐
T3 组件绑定不一致WXML 与 setData 字段对不上components JS/WXML 对齐
T4 组件取值路径错result.structuredContent.xxx 路径错修组件 JS
T5 合规性违规非白名单标签/CSS用白名单替代
T6 注册缺失mcp.json 声明的 name 未 registerAPI补 index.js 注册
T7/T8 链路/粒度storage key 或接口划分问题跨文件调整
T9 能力无法实现所有候选都违反硬约束⛔ 终止,告知用户
T-build 编译失败stage=compile + FAIL先检查集成配置,再动源码

修复后重跑校验,直到全部通过。

Step 6 — 收尾

确认 app.jsonagent.skills[] 中已包含新 Skill。 提示用户运行 npx mp-skills setup 完成环境配置。


ClawHub

https://clawhub.ai/binggg/wxa-create-mp-skill

安装:npx skills add TencentCloudBase/mp-skills -s wxa-create-mp-skill

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,984. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.