最近在疯狂做微信小程序(个人五个小程序名额一直没做完,VibeCoding时代到来,是时候搞定了),一口气开了五六个窗口,五六个小程序同时开干。
我做小程序的流程是这样的:
一开始做的不亦乐乎,我一遍刷着手机,一遍点点确定,看着五六个不断闪烁的cmd界面,我心里美滋滋的。同时指挥五六个"超级听话的码农"给我干活,真爽呀!
但是做出第一个demo之后,我就发现了不对劲,我发现AI 开始犯傻了。主要集中在下面几点:
一口老血差点吐到键盘上。看上去都在给我干活,但实际上给我的感觉就是在"磨洋工"。你说没做吧,它可是出点子、出文档、出界面出的飞快,你说做了吧,质量奇差,后续需要一堆一堆的提示词完善修复。
于是,我停下了手中的活,去git上找找有没有类似的SKILL。
什么SKILL?就是那种能规范开发uniapp小程序的SKILL,包括设计架构、规范项目结构、自动设计icon、自动拉取图片、统一样式规范、统一背景主题以及预设一些标准的小程序模板等等。
找了半天并没有找到,也难怪,uniapp一般老外不咋用,国内人用的多。我是觉得uniapp框架很好,见效快,还能跨平台做APP。
于是,我连夜加工,凭借着多年的开发经验和实际做小程序遇到的问题,以及AI 开发的实际项目经验,制作了这个SKILL。
正所谓,工欲善其事必先利其器,如果没有合适的利器,那就自己制造。
做了很多小程序,其实小程序开发基本步骤都差不多:
这些步骤本身不创造价值,但又不能跳过。跳过任何一个,后面都会还回来。
这就是 uniapp-app-generate-skill 的由来。
这不是用来写业务逻辑,而是把项目从 0 推到 60 分:结构清晰、规范到位、主题统一、图标真实、页面骨架完整。剩下的 40 分——产品细节、交互打磨、后端对接——仍然交给你自己。
这个 SKILL 把小程序开发拆成了四个阶段,每个阶段都接入了合适的工具或 Skill:
| 阶段 | 做什么 | 用到的能力 |
|---|---|---|
| 开发前 | 把模糊想法变成清晰文档 | 引导式提问 + spec.md |
| 开发中 | 生成标准项目骨架 | uni-app + Vue3 + TS + Pinia + SCSS boilerplate |
| 开发中 | 主题、图标、图片、布局一次搞定 | theme.json + icon-forge + Pexels + 布局预设 |
| 开发后 | 验证能跑、检查上线事项 | lint + 构建验证 + 小程序检查清单 |
很多人开头只有一句话:「我想做个健身打卡小程序」。
SKILL 不会直接开始写代码,而是先问你几个关键问题:
回答完后,它会生成一份 spec.md,把产品定位、页面清单、数据模型、API 轮廓写清楚。你确认没问题,它才开始写代码。
这一步看起来慢,其实最快。方向错了,后面写得越多,改得越痛苦。
项目基于 uni-app (Vue3) TypeScript Pinia SCSS,优先保证微信小程序语法规范,同时兼容 H5 和 App。
生成后的项目结构长这样:
my-app/ ├── src/ │ ├── api/ # 接口请求 │ ├── components/ # 公共组件 │ ├── constants/ # 常量、颜色配置 │ ├── pages/ # 页面 │ ├── static/ # 图标、图片 │ ├── stores/ # Pinia 状态 │ ├── styles/ # 主题 Token、SCSS 工具 │ └── utils/ # 工具函数 ├── CLAUDE.md # 项目规范,给 AI 看 ├── AGENTS.md # AI 行为约束 ├── pages.json # 页面与 tabBar 配置 ├── theme.json # 主题配置入口 └── .env # 环境变量
除了目录,它还会一次性创建:
这是 SKILL 里我最花心思的部分。
传统做法是:项目里到处写 #10b981、24rpx、14rpx,后来想换一套风格,得一页一页改。
这个 SKILL 的做法是:所有主题配置集中在 theme.json 一份文件里。
你只需要改这里面的主色、间距基数、字号基数、圆角基数,然后运行 npm run theme:sync,脚本就会自动生成完整的 SCSS Token:
$spacing-xs、$spacing-sm、$spacing-md……对应 4rpx、8rpx、16rpx、24rpx 等;$font-caption、$font-body、$font-title……业务代码里只写:
.card {
padding: $spacing-md;
background: $color-bg-secondary;
border-radius: $radius-lg;
}
不用硬编码,换风格时改一处就行。
SKILL 对图片和图标有明确约束:
static/icons/、static/tab-bar/、static/images/。这些约束会写进 CLAUDE.md,后续 AI 继续写代码时也会遵守。
SKILL 内置了四种常见风格预设:
选定后,Skill 会自动配置 pages.json、tabBar、首页和我的页面基础结构。
SKILL 生成的模板默认遵守一套 uni-app 最佳实践:
background-image: url(...);var(--xxx);platform-auth.ts、platform-share.ts、platform-image.ts,业务代码不直接写 #ifdef。这个 SKILL 会根据阶段调用其他 Claude Skill:
frontend-design/ui-ux-pro-max:在写关键页面前先产出设计方案,避免界面有「AI 味」;ponytail:实现时把关,删掉多余抽象,能用一行不用十行;icon-forge:批量生成风格统一的 PNG 图标;Pexels API:用真实照片替换掉「渐变冒充 Banner」的偷懒做法。也就是说,你不只是拿到一个能跑的项目,而是拿到一个代码精简、界面在线、图片真实的项目起点。
生成完成后,SKILL 会执行:
npm run lint 检查代码规范;npm run dev:mp-weixin 或 npm run build:mp-weixin 验证能否构建通过;mini-program-checklist.md,检查登录、分享、分包、版本更新、主包体积等小程序特有事项。有问题它会指出来,而不是假装没看见。
需求:帮我做一个记录喝水的小程序,首页显示今天喝了多少杯,底部有首页、统计、我的三个入口,风格清新一点。
SKILL 会这样执行:
下面是具体使用前和使用后的效果:
做它的时候,我给自己定了三条规则:
可能你会问:我直接跟 Claude 说「帮我做一个 uni-app 小程序」不行吗?
可以,但每次它生成的目录结构、代码风格、主题方案可能都不一样。你要花很多时间去对齐。
这个 SKILL 的价值在于标准化:
你每次启动新项目,得到的是同一套「经过验证的起点」,而不是每次都要重新谈判。
uniapp-app-generate-skill 当然还有很多不足的地方,比如第三方图片或icon的配置,预置模板的配置等等。
如果想做一个全栈小程序,那么关于后端的架构、技术、数据库配置也需要加入 SKILL。
这些也都是我后续要继续跟进和迭代的,我的目标是做一个好用的全栈 uniapp 全栈骨架SKILL。
小伙伴们有在 uniapp 的吗?有的话不妨尝试下,喜欢的话还可以去点个赞!
我会继续分享干货,以及分享更多关于 uniapp 以及其他各种项目 VibeCoding 实战项目开发系列教程的~!