Codex 做小程序 · 保姆级教程

miniprogram-builder skill:把「做个小程序」拆成六步——问清需求、搭空壳、造假数据、一次一页、真机自检、扫码预览

📄 两个 markdown · 零依赖 · 免费

📖 这是什么

miniprogram-builder 是一个给 AI 编程工具用的 Agent Skill, 本体只有两个 markdown 文件:SKILL.md(六步工作流 + 三条硬规矩)和 reference.md(可直接抄的起手式模板 + 高频报错对照表)。 不装依赖、不用配置,丢进 skills 目录就能用,Codex、Claude Code、Cursor 都通用,免费。

它解决的不是「AI 不会写小程序代码」——这件事 AI 早就会了。它解决的是让不会前端的人 真的能拿到一个跑得起来的小程序。实际用下来,失败几乎都出在三个地方: 需求没问清就动手,做出来的东西和脑子里的两回事;一上来就上 uni-app / Taro / npm, 环境装了半小时还没看见界面;代码逻辑没错,但页面忘了在 app.json 注册、 tabBar 少了图标、路径大小写不一致,一编译一片红,不知道从哪查。

这个 skill 把这三件事分别按死:第一步强制先出一页需求单等你点头全程只用原生小程序不上任何框架每写完一页就跑一遍真机自检清单。 核心约束只有一句话:任何一步做完,项目都必须是「能编译、能预览」的状态—— 宁可少一个页面,也不留跑不起来的半成品,因为用户看不见界面就会失去信心。

核心亮点

先问清再动手
一次只问一个问题、每问都附上它的猜测,你只需要点头摇头,最后给你一页需求单
🚫
不上框架不装环境
全程原生微信小程序,零 npm、零构建,省掉最劝退的一段
八条真机自检
全是模拟器看不出、真机才炸的坑:大小写、tabBar 图标、rpx、底部留白
📄
两个文件而已
纯 markdown,不改你任何配置,随时能删;三家主流 AI 编程工具通用

🧩 它能做什么、输出什么

项目说明
输入一句话需求即可,例如「做个咖啡店扫码点单的小程序」;有品牌色、图片、参考截图可一并给它
适用类型纯前端能跑通的小程序:商品展示 / 点单、工具类(记账、待办、打卡)、信息查询、活动报名、内部表单
产出一个完整的原生小程序项目目录:app.json / app.wxss / 各页面四件套 / utils/mock.js 假数据
过程产出第一步的需求单(页面清单 + 数据结构 + 这一版不做什么)、每页的真机自检结果
兼容Codex / Claude Code / Cursor 等支持 Agent Skills 的工具;产物用微信开发者工具打开
边界默认不做登录、在线支付、后台管理——这三项都需要企业主体和后端,会在需求单里明确列出

🖥️ 环境要求

环境建议配置
操作系统Windows / macOS 均可(微信开发者工具两个平台都有)
AI 编程工具Codex、Claude Code、Cursor 任选其一,支持读取 skills 目录即可
必装软件微信开发者工具(官方免费),用于编译、预览、真机扫码
AppID可选。没有就在导入项目时点「测试号」,本地预览和真机调试都不受影响,只影响正式发布
额外依赖无。不需要 Node、npm、构建工具,也不需要服务器和域名
前端基础不需要。全程你只做三件事:回答问题、点编译、说哪里不对

🚀 如何使用

💡
最省事的路径:装 skill → 打个 @ 调用它 → 一句话说需求 → 剩下的按它问的答。 全程你不用写代码,但每一步它都会停下来让你看见东西。
1

装 skill(30 秒)

从上面折叠块里下载压缩包,解压得到 miniprogram-builder 文件夹, 整个放进你所用工具的 skills 目录即可。目录位置按工具不同:

工具放到哪
Codex~/.codex/skills/miniprogram-builder/
Claude Code~/.claude/skills/miniprogram-builder/
Cursor项目内 .cursor/skills/miniprogram-builder/(也可放用户级 skills 目录)
⚠️
放的是文件夹,不是把两个 md 直接丢进 skills 根目录。装完重启一下工具,让它重新扫描技能列表。
2

调用它,并说清你要什么

在输入框打一个 @,从弹出的技能列表里选 miniprogram-builder,然后一句话说需求:

prompt @miniprogram-builder 帮我做个咖啡店扫码点单的小程序

它不会直接开写,而是先反问你一个问题,并且附上它的猜测,例如:

output 我猜你要的是「堂食扫码点单」,不是外卖配送——对吗? 如果要配送,还得做地址簿和运费规则,工期会长不少。

一共只问四件事,问完就停:谁用/什么场景、核心那条路径、要不要登录支付、有没有品牌色和图片。

3

看需求单,确认后它才动手

它会输出一页需求单,三部分:页面清单、数据结构、这一版不做什么。这一步一定要认真看。 需求单花你两分钟,返工要花两小时。

页面用户在这页干什么跳到哪
首页看分类、浏览商品点卡片进详情
详情选规格、加购物车加完去购物车
购物车改数量、看总价提交下单
订单看已下单状态

有不对的地方,直接说「详情页不用选规格」这种大白话就行,它会改需求单再确认一次。

4

它搭空壳,你点一次编译

确认后它先建目录、只给每个页面放一行标题,然后让你编译一次。 这一步的意义是:页面注册和 tabBar 的错误必须现在暴露,等五个页面都写完再一起报错,排查成本翻倍。

目录结构 project/ ├── app.js 全局逻辑 ├── app.json 页面注册 + tabBar(最容易出错的文件) ├── app.wxss 主色、圆角、间距,全局只定义一次 ├── pages/ │ ├── index/ 每页四件套:.wxml .wxss .js .json │ ├── detail/ │ ├── cart/ │ └── order/ ├── images/ tabBar 图标等本地图片 └── utils/mock.js 假数据
5

造一份像真的假数据

所有数据放 utils/mock.js 一个文件导出,页面只从这里取数,先不接任何后端。 接后端要域名、要备案、要 HTTPS、还要配服务器域名白名单;做 Demo、给老板看,纯前端假数据完全够。 等界面定稿了,把 mock.js 换成 wx.request 是十分钟的事,页面代码一行不用改。

javascript const GOODS = [ { id: 1, name: "冰美式", desc: "深烘豆,加冰不加糖", price: 15, tag: "热销" }, { id: 2, name: "生椰拿铁", desc: "椰乳打底,甜度可调", price: 19, tag: "招牌" }, { id: 3, name: "茉莉冷萃", desc: "冷泡八小时,回甘明显", price: 18, tag: "" }, // …造够 8-12 条,名称价格都写具体的 ]; module.exports = { GOODS };
⚠️
别让它写「商品1 商品2」。假数据太假会掩盖真实的排版问题——比如长名字会不会把卡片撑破。
6

一次只写一页,写完就编译

顺序是:先做你第一眼看到的那页,再顺着核心路径往下。每页写完你都点一次编译看效果。 每个页面的四件套分工固定:

文件写什么最常见的错
.wxml结构,列表用 wx:forwx:key,列表更新错乱
.wxss样式,尺寸一律 rpx(750rpx = 屏宽)用了 px,大屏手机上显小
.js数据和事件,改数据走 setData直接改 this.data,界面不动
.json这一页的标题、是否下拉刷新忘了建,标题栏是默认的
7

每页过一遍真机自检

这张清单上的每一条,都是模拟器上看不出、真机上才出问题的:

检查项不过关的表现
页面都写进 app.json跳转白屏,报 page not found
文件名大小写和引用一致模拟器正常,真机白屏(真机区分大小写)
tabBar 两张图标都在本地tabBar 整个不显示
图片都是项目内本地图外链域名没进白名单,真机上图全裂
尺寸全部用 rpx大屏手机上元素缩成一团
列表底部留 120rpx 以上最后一条被 tabBar 盖住
setData 只 set 变化的字段列表长了以后明显卡顿
空状态有兜底文案购物车空时一片空白,用户以为崩了
8

导入开发者工具,手机扫码打开

照着点就行:

  1. 打开微信开发者工具 → 导入项目 → 选中项目文件夹
  2. AppID 一栏:有就填,没有点「测试号」
  3. 「编译」,左侧模拟器出界面
  4. 「预览」出二维码 → 微信扫码 → 在自己手机上打开
到这一步,你手机上已经有一个能点、能跳、能看的小程序了。全程你没写一行代码。

🎯 什么样的小程序适合这么做

门店点单 / 商品展示
菜单、详情、购物车三页就够,纯前端能完整跑通
📝
记账 / 待办 / 打卡
数据存本地缓存,不用后端也是完整可用的工具
🔍
信息查询
课表、值班表、产品手册这类内容型小程序
🎫
活动报名 / 表单
先把界面和流程做出来给人看,再决定要不要接后端
📊
给老板看的原型
比 PPT 有说服力得多——真机上能点
🎓
学小程序开发
跟着六步走一遍,比看十集教程更快搞清目录结构

📈 和「直接让 AI 写」有什么差别

环节直接让 AI 写装了这个 skill
开工前你说一句它就开写先反问四个问题,出一页需求单等你点头
技术选型经常顺手上 uni-app / Taro / npm锁死原生小程序,零依赖零构建
写代码节奏一口气生成七八个文件先空壳编译,再一次一页,每页停下来看
数据有时直接写 wx.request 接口,跑不通统一走 mock.js 假数据,界面先跑通
真机问题大小写、tabBar 图标、rpx 全靠你自己踩每页过八条自检清单,坑提前拦掉
交付「代码给你了」手把手教到扫码打开,并讲清这版的边界
🧠
原理其实很朴素:AI 的代码能力不是瓶颈,流程才是。 skill 做的事就是把「先问再写、小步验证、按清单收尾」这套工程习惯,变成它每次都会执行的固定动作。

常见问题

Q: 完全不懂前端,能用吗?

能。整个过程你只做三件事:回答它的问题、点编译、告诉它哪里不对。代码它写,报错它查。 唯一需要你装的软件是微信开发者工具。

Q: 一定要有 AppID 吗?没有能不能做?

不需要。导入项目时点「测试号」,本地预览和手机真机调试都正常。AppID 只在你要正式发布上线时才需要, 那一步要注册主体(个人或企业)并提交审核。

Q: 为什么不用 uni-app 或 Taro?那些不是更方便吗?

对熟手是更方便,对新手是劝退。它们要装 Node、装 CLI、跑构建,环境问题能耗掉一整晚, 而你还没看见界面。这个 skill 的目标是让你半小时内在手机上看见东西,所以默认锁原生。 你明确要求上框架时它会照做,但会先告诉你多出来的环境成本。

Q: 做出来的小程序能上架发布吗?

结构上可以,但要先补三件事:注册小程序主体并拿到 AppID、把假数据换成真实后端接口(需要备案域名和 HTTPS)、 按微信的类目要求提交审核。skill 在交付时会主动把这几条边界讲清楚。

Q: 真机白屏、tabBar 不显示,怎么办?

这两个是最高频的坑,reference.md 里有对照表。真机白屏九成是文件名大小写和代码引用不一致 (模拟器不区分、真机区分);tabBar 不显示通常是少了 iconPathselectedIconPath, 两张图都必须有、且是项目内的本地图片。

Q: 改数据界面不动,是 bug 吗?

不是。小程序里直接改 this.data.xxx 不会触发渲染,必须走 this.setData({...})。 另外列表长了以后不要每次 set 整个数组,只 set 变化的字段,否则会明显卡顿。

Q: 中途想改需求怎么办?

直接说大白话即可,比如「详情页不用选规格了」。skill 的规矩是回到第一步改需求单, 确认后再动代码,而不是在代码里悄悄改结构——后者是返工的主要来源。

Q: Codex、Claude Code、Cursor 三个工具效果一样吗?

skill 本身是纯 markdown,三家都能读,流程完全一致。差别只在各自模型的代码质量和上下文长度上。 装的位置不同,见上面「如何使用」第 1 步的表格。

Q: 它会不会瞎编微信的 API?

skill 里明确写了「不要用没查证的 API,拿不准就换成能确定的写法或明说要查文档」。 但这属于约束不是保证——遇到不确定的接口,建议顺手在微信开放文档里核对一下。

Q: 可以商用吗?

可以。这是两个纯文本的提示词文件,随便用、随便改、随便分享,做出来的小程序归你。