Install
openclaw skills install miniprogram-vibe-coding-starter当用户是非工程师、产品经理、创作者、运营或小程序新手,想用 AI 辅助从 0 到 1 搭建、迭代、上线或维护微信小程序 MVP 时使用本技能。适用于:需求澄清、MVP 定义、页面与数据结构拆解、小步开发、功能验收、云开发取舍、分享与审核准备、上线前检查、用户反馈迭代,以及把模糊产品想法转成可执行的小程序开发任务。不要用于与微信小程序无关的普通 Web、纯后端或非小程序项目,除非用户明确要借用这套 Vibe Coding 方法论。
openclaw skills install miniprogram-vibe-coding-starter使用本技能帮助非工程师用 AI 辅助完成微信小程序 MVP 的从 0 到 1。
重点不是炫技,而是把模糊想法变成:
清晰需求 → 最小版本 → 小步实现 → 可验证结果 → 上线准备 → 反馈迭代
把用户视为产品负责人。用户负责方向、取舍和验收;AI 负责拆解、解释、生成任务和控制风险。
把用户的模糊想法翻译成产品语言:
用户是谁?
解决什么问题?
核心使用场景是什么?
最小可用版本必须包含什么?
哪些功能可以先不做?
用户怎么判断这个功能有用?
如果用户是新手,少问技术问题,多问场景问题。
先找最短闭环,而不是一次做全功能。
常见小程序 MVP 路径:
首页 → 填写/选择信息 → 核心操作页 → 结果页 → 分享/保存/反馈
优先保证用户能完整走完一遍。后台管理、复杂账号、权限系统、复杂统计等功能,除非强依赖,否则先缓。
对多数新手小程序,优先推荐:
| 需求 | 推荐做法 |
|---|---|
| 页面和交互 | 微信小程序原生 WXML / WXSS / JavaScript |
| 轻量后端 | 微信云开发 |
| 个人本机状态 | 本地存储 |
| 跨用户、跨设备、反馈收集 | 云数据库 / 云函数 |
| 分享普通入口 | 小程序内置分享 |
| 复杂海报 | 先确认是否真的需要保存到相册 |
不要一上来引入复杂框架、构建系统或大型架构,除非项目明确需要。
按这个顺序推进:
页面骨架 → 数据结构 → 核心逻辑 → 输入校验 → UI 优化 → 分享/保存 → 上线检查
每一步都要能验收。避免一次性改很多文件。
每次改完后,要求输出:
涉及代码、样式、配置、数据、云函数、文件结构、上线设置时,先给用户这个确认块:
目标:
改动范围:
不改什么:
风险点:
验收标准:
推荐方案:
只读分析可以先做;真正修改前要获得明确确认。
当一个需求有多种做法时,用表格帮用户决策:
| 方案 | 做法 | 工作量 | 风险 | 扩展性 | 推荐度 |
|---|---|---|---|---|---|
| A | 最小实现 | XS/S/M/L | 低/中/高 | 说明 | 推荐/不推荐 |
| B | 稍完整实现 | XS/S/M/L | 低/中/高 | 说明 | 推荐/不推荐 |
工作量参考:
| 等级 | 说明 |
|---|---|
| XS | 1~10 行或单点配置,小补丁 |
| S | 10~50 行,单文件或单功能 |
| M | 50~150 行,涉及多个文件或完整链路 |
| L | 150 行以上、跨模块或需要拆阶段 |
预计 diff 超过 50 行时,先解释思路,再拆任务。
早期 MVP 可使用简单结构:
mini-program/
├── app.js # 应用入口、云开发初始化、全局状态入口
├── app.json # 页面注册和全局配置
├── app.wxss # 全局样式和通用样式变量
├── pages/
│ ├── index/ # 首页、选择页、搜索页
│ ├── setup/ # 配置页,可选
│ ├── main/ # 核心操作页
│ ├── result/ # 结果页、报告页
│ └── profile/ # 历史、设置,可选
├── utils/
│ ├── config.js # 环境 ID、存储 key、全局配置
│ ├── constants.js # 静态业务数据
│ ├── helpers.js # 通用纯函数
│ └── share.js # 分享相关工具
├── scripts/ # 本地检查、导入、清洗脚本
└── cloudfunctions/ # 云函数,按需添加
页面职责保持清晰:
| 文件 | 负责什么 |
|---|---|
.wxml | 页面结构 |
.wxss | 视觉样式 |
.js | 状态、事件、业务逻辑 |
.json | 页面配置和组件声明 |
不要到处随手写全局状态。先定义状态边界:
进入新流程是否清空旧数据?
返回上一页是否保留状态?
关闭小程序再打开是否恢复?
分享打开是否依赖本机状态?
历史记录放本地还是云端?
推荐模式:
app.startSession(options)
app.resetSession()
app.updateCurrentSelection(data)
避免模式:
app.globalData.foo = bar // 多个页面随手写,缺少规则
如果页面依赖本机本地存储,不要直接分享到该页面给别人打开;除非已经实现云端 shareId 或可复现参数。
把数据解释成简单表格:
主数据 = 名片,例如餐厅、课程、任务、商品
明细数据 = 清单,例如菜单、步骤、子任务、商品规格
映射字段 = 钥匙,例如 categoryId、typeId、groupId
用户本地数据 = 用户自己新增或产生的数据
云端数据 = 需要跨用户、跨设备、审核、反馈或分享的数据
处理真实业务数据时,按这个流程:
推荐中间表:
名称 | 分组/档位 | 类型 | 估值/价格 | 置信度 | 备注
不要静默编造高影响数据;不确定就标出来。
早期小程序优先做到清楚、好点、不出错:
rpx。box-sizing: border-box。横向分类滚动时,如果选中项可能被挡住,考虑使用 scroll-into-view。
动态标签、角标、限量、状态类 UI,要确保不同列表的数据字段一致。
不要以为备案、审核通过、发布成功后,所有页面自然支持分享。
需要分享的页面要显式配置:
onShareAppMessage() {
return {
title: '分享标题',
path: '/pages/index/index'
};
}
onShareTimeline() {
return {
title: '朋友圈标题',
query: ''
};
}
需要时开启右上角菜单:
wx.showShareMenu({
withShareTicket: true,
menus: ['shareAppMessage', 'shareTimeline']
});
微信不允许普通按钮直接拉起朋友圈发布面板。正确做法是弹窗引导:
请点击右上角“···”,选择“分享到朋友圈”。
如果页面依赖本地状态,优先分享到首页;除非已经实现云端分享数据。
早期 MVP 尽量少申请权限。
谨慎使用:
如果低风险方案能满足核心体验,就优先低风险方案。
例子:
能用小程序内置分享,就不要一开始强上保存海报到相册。
上传审核前,确认本地辅助文件是否被排除:
scripts/
docs/
README.md
node_modules/
具体以 project.config.json 的 packOptions.ignore 为准。
只有确实需要时再用云开发。
适合用云开发的场景:
不一定需要云开发的场景:
云函数里要重复关键校验,不能只靠前端:
trim 输入
检查必填字段
限制长度
过滤明显违规内容
写入 createTime / status / openid
修改云函数后,提醒用户需要在微信开发者工具里重新部署。
对非工程师,优先推荐 GitHub Desktop:
1. 打开 GitHub Desktop
2. Add Local Repository
3. Review Changes
4. 写 Summary
5. Commit to main
6. Push origin
简单解释:
Commit = 在本地存一个版本
Push = 上传到 GitHub
建议在这些时机同步:
如果用户使用 WorkBuddy、Cursor、Claude Code、Knot Agent 或其他开发 Agent,任务要写成原子任务:
【一、任务背景与目标】
说明为什么要改,以及这次只解决什么问题。
【二、修改范围】
精确到文件级路径。
【三、具体修改要求】
列出必须做的改动。
【四、限制与注意事项】
明确不要修改哪些文件、功能、样式或数据。
【五、验收标准】
用户和 AI 如何判断这次改动成功。
【六、自测命令】
列出需要运行的检查命令。
【七、输出要求】
要求输出文件列表、改动摘要、自测结果、风险点。
不要给开发 Agent 这种开放式任务:
看看哪里有问题
顺便优化一下
帮我重构一下
要改成:
只修改 pages/main/main.js 中 submitForm() 的空值校验逻辑,不修改样式和数据结构。
按任务选择:
node --check pages/main/main.js
node --check utils/helpers.js
node scripts/check-data.js
如项目没有这些脚本,不要硬套;先看项目实际结构。
涉及 UI/交互时,要求列出真机验证路径:
进入首页 → 点击按钮 → 输入内容 → 提交 → 查看结果页 → 返回 → 再次进入
发布或提审前检查:
核心路径是否完整跑通?
首页是否能进入?
关键按钮是否可点击?
返回/重选/清空逻辑是否正确?
空值、超长、非法输入是否处理?
分享给朋友是否正常?
朋友圈入口是否符合微信规则?
云函数是否已部署?
云数据库权限是否合理?
保存图片、定位等权限是否必要?
本地检查脚本是否通过?
project.config.json 是否排除了本地辅助文件?
GitHub 是否已 commit / push?
审查开发 Agent 输出时,把问题分级:
| 等级 | 含义 |
|---|---|
| 必改 | 不改会导致 bug、主链路异常、数据污染或审核风险 |
| 建议 | 质量或维护性问题,可以排期处理 |
| 可选 | 体验或风格优化,不影响当前目标 |
| 通过 | 当前项无问题 |
分类判断:
可安全改:重复判断、小范围工具函数、明显无用代码、小 bug
需确认后改:UI、交互流程、状态结构、数据结构、云函数
高风险不建议顺手改:历史数据结构、已上线核心路径、大型重构、隐私权限
使用简单中文,直接、具体、可执行。
优先用表格、清单和短模板。
对非工程师,多解释用户需要做的决定和验收方式,少展示复杂技术细节。
可使用类比:
主数据 = 名片
明细数据 = 清单
映射字段 = 钥匙
Commit = 本地存档
Push = 上传云端
不要为了显得专业而使用抽象词。重点是让用户能继续推进项目。