wechat-miniprogram — Claude Code skill for WeChat Mini Program dev
A skill for building WeChat Mini Programs: WXML templates, WXSS styles, WXS scripts, custom components and WeChat API calls. Generated from the official docs.
npx skills add joneqian/claude-skills-suite --skill wechat-miniprogram -a claude-codeWhat wechat-miniprogram does
The skill hands your agent a reference for the WeChat Mini Program framework. The quick section covers the common ground: project layout (app.js, app.json, app.wxss, the pages/ and components/ folders), the App and Page lifecycles, WXML data binding with {{message}}, wx:if conditionals, wx:for loops and bindtap handlers. There are worked examples for calls like wx.previewImage and wx.cloud.callFunction.
The bulk sits in references/: getting_started.md, framework.md on the logic and view layers, components.md for built-in components, api.md, cloud.md for cloud development and reference.md for configuration. The agent opens a file when it needs detail instead of loading everything up front. Those reference files are in Chinese, matching the official documentation, so expect mixed phrasing in the answers you get back.
The skill was generated automatically from WeChat's docs, and the examples keep the original structure. It earns its place if you already ship Mini Programs or are starting one; on a plain web project outside the WeChat platform there is nothing here for you.
What it helps with
- scaffold a new Mini Program with
app.jsonand page folders - write a WXML template with data binding and a
wx:forloop - wire up a cloud function call through
wx.cloud.callFunction - get the page lifecycle order of
onLoad,onShowandonReadyright - look up the right WeChat API call in the reference
Example prompts for the agent
- Scaffold a WeChat Mini Program page with WXML, WXSS and logic in index.js
- How do I render a list in WXML with wx:for and handle taps on items?
- Show me an example of calling a cloud function with wx.cloud.callFunction
How to install wechat-miniprogram
1Skills CLI (Vercel)
npx skills add joneqian/claude-skills-suite --skill wechat-miniprogram -a claude-code2Manually: put the files in place
~/.claude/skills/wechat-miniprogram/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/wechat-miniprogram/
1Skills CLI (Vercel)
npx skills add joneqian/claude-skills-suite --skill wechat-miniprogram -a codex2Manually: put the files in place
.agents/skills/wechat-miniprogram/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add joneqian/claude-skills-suite --skill wechat-miniprogram -a cursor2Manually: put the files in place
.cursor/skills/wechat-miniprogram/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install joneqian/claude-skills-suite wechat-miniprogram2Manually: put the files in place
.github/skills/wechat-miniprogram/SKILL.md1Skills CLI (Vercel)
npx skills add joneqian/claude-skills-suite --skill wechat-miniprogram -a gemini-cli2Platform CLI
gemini skills install https://github.com/joneqian/claude-skills-suite --path skills/wechat-miniprogramManually: put the files in place
.devin/skills/wechat-miniprogram/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add joneqian/claude-skills-suite --skill wechat-miniprogram -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about wechat-miniprogram
How do I install wechat-miniprogram in Claude?
Run npx skills add joneqian/claude-skills-suite --skill wechat-miniprogram -a claude-code. The skill file then lands at ~/.claude/skills/wechat-miniprogram/SKILL.md.
What does wechat-miniprogram do?
It gives your agent a reference for the WeChat Mini Program framework: WXML, WXSS, WXS, built-in components, the WeChat API and cloud development. The agent pulls the relevant file from references/ when it needs detail.
What language are the skill's materials in?
The reference files are in Chinese, since the skill was generated from WeChat's official documentation. The code samples themselves are ordinary JavaScript, WXML and JSON.
Source text
SKILL.md · MIT
---
name: wechat-miniprogram
description: WeChat Mini Program development framework. Use for building WeChat mini apps, WXML templates, WXSS styles, WXS scripting, component development, and WeChat API integration.
---
# WeChat Mini Program Skill
WeChat Mini Program (微信小程序) development framework skill, generated from official documentation.
## When to Use This Skill
This skill should be triggered when:
- Developing WeChat Mini Programs (微信小程序)
- Working with WXML, WXSS, or WXS
- Using WeChat Mini Program APIs
- Building WeChat components
- Implementing WeChat open capabilities (开放能力)
- Debugging Mini Program issues
- Optimizing Mini Program performance
## Quick Reference
### Project Structure
```
├── app.js # App logic
├── app.json # App configuration
├── app.wxss # Global styles
├── pages/
│ └── index/
│ ├── index.js # Page logic
│ ├── index.json # Page configuration
│ ├── index.wxml # Page template
│ └── index.wxss # Page styles
└── components/ # Custom components
```
### Common Patterns
**Example 1** (javascript):
```javascript
WeixinJSBridge.invoke('imagePreview', {
current: 'http://inews.gtimg.com/newsapp_bt/0/1693121381/641',
urls: [ // 所有图片的URL列表,数组格式
'https://img1.gtimg.com/10/1048/104857/10485731_980x1200_0.jpg',
'https://img1.gtimg.com/10/1048/104857/10485726_980x1200_0.jpg',
'https://img1.gtimg.com/10/1048/104857/10485729_980x1200_0.jpg'
]
}, function(res) {
console.log(res.err_msg)
})
```
**Example 2** (javascript):
```javascript
wx.previewImage({
current: 'https://img1.gtimg.com/10/1048/104857/10485726_980x1200_0.jpg',
urls: [ // 所有图片的URL列表,数组格式
'https://img1.gtimg.com/10/1048/104857/10485731_980x1200_0.jpg',
'https://img1.gtimg.com/10/1048/104857/10485726_980x1200_0.jpg',
'https://img1.gtimg.com/10/1048/104857/10485729_980x1200_0.jpg'
],
success: function(res) {
console.log(res)
}
})
```
**Example 3** (html):
```html
<!-- /components/index.wmxl -->
<view class="index">{{prop}}</view>
```
**Example 4** (js):
```js
// /components/index.js
Component({
properties: {
prop: {
type: String,
value: 'index.properties'
},
},
})
```
**Example 5** (css):
```css
/* /components/index.wxss */
.index {
color: green;
}
```
**Example 6** (json):
```json
{
"nickName": "Band",
"gender": 1,
"language": "zh_CN",
"city": "Guangzhou",
"province": "Guangdong",
"country": "CN",
"avatarUrl": "http://wx.qlogo.cn/mmopen/vi_32/1vZvI39NWFQ9XM4LtQpFrQJ1xlgZxx3w7bQxKARol6503Iuswjjn6nIGBiaycAjAtpujxyzYsrztuuICqIM5ibXQ/0"
}
```
**Example 7** (json):
```json
{
"openId": "OPENID",
"nickName": "NICKNAME",
"gender": GENDER,
"city": "CITY",
"province": "PROVINCE",
"country": "COUNTRY",
"avatarUrl": "AVATARURL",
"unionId": "UNIONID",
"watermark":
{
"appid":"APPID",
"timestamp":TIMESTAMP
}
}
```
**Example 8** (js):
```js
wx.cloud.callFunction({
name: 'myFunction',
data: {
weRunData: wx.cloud.CloudID('xxx'), // 这个 CloudID 值到云函数端会被替换
obj: {
shareInfo: wx.cloud.CloudID('yyy'), // 非顶层字段的 CloudID 不会被替换,会原样字符串展示
}
}
})
```
**Example 9** (html):
```html
<scroll-view type="list" scroll-y>
<view> a </view>
<view> b </view>
<view> c </view>
</scroll-view>
```
**Example 10** (html):
```html
<scroll-view type="list" scroll-y>
<virtual-comp>
<view> a </view>
<view> b </view>
<view> c </view>
</virtual-comp>
</scroll-view>
```
## Reference Files
This skill includes comprehensive documentation in `references/`:
- **getting_started.md** - Quick start and introduction
- **framework.md** - Mini Program framework (逻辑层、视图层)
- **components.md** - Built-in components
- **api.md** - API reference
- **cloud.md** - Cloud development (云开发)
- **reference.md** - Configuration reference
Use `view` to read specific reference files when detailed information is needed.
## Key Concepts
### App Lifecycle
```javascript
App({
onLaunch(options) {
// Mini Program initialized
},
onShow(options) {
// Mini Program shown
},
onHide() {
// Mini Program hidden
},
globalData: {
userInfo: null
}
})
```
### Page Lifecycle
```javascript
Page({
data: {
message: 'Hello World'
},
onLoad(options) {
// Page loaded
},
onShow() {
// Page shown
},
onReady() {
// Page ready
},
onHide() {
// Page hidden
},
onUnload() {
// Page unloaded
}
})
```
### WXML Data Binding
```wxml
<view>{{message}}</view>
<view wx:if="{{condition}}">Conditional</view>
<view wx:for="{{array}}" wx:key="id">{{item}}</view>
```
### Event Handling
```wxml
<button bindtap="handleTap">Click Me</button>
```
```javascript
Page({
handleTap(e) {
console.log(e)
}
})
```
## Working with This Skill
### For Beginners
Start with the getting_started reference file for foundational concepts.
### For Specific Features
Use the appropriate category reference file (api, framework, etc.) for detailed information.
### For Code Examples
The quick reference section above contains common patterns extracted from the official docs.
## Resources
- [Official Documentation](https://developers.weixin.qq.com/miniprogram/dev/framework/)
- [Component Library](https://developers.weixin.qq.com/miniprogram/dev/component/)
- [API Reference](https://developers.weixin.qq.com/miniprogram/dev/api/)
## Notes
- This skill was automatically generated from official WeChat documentation
- Reference files preserve the structure and examples from source docs
- Content is in Chinese as per official documentation
© joneqian · MIT · joneqian/claude-skills-suite