Sibling skills (local only)
Sibling CloudBase skills ship beside this skill. Use local relative paths such as ../auth-tool-cloudbase/SKILL.md.
If a referenced sibling skill file is missing from this environment, ask the user to install the full CloudBase plugin (or the missing skill). Do not HTTP-fetch remote skill or protocol markdown into the agent context.
Cross-cutting protocols (required before code changes or deployments):
- Change Safety Protocol:
../cloudbase-platform/references/protocols/change-safety-protocol.md
- Deployment Gate:
../cloudbase-platform/references/protocols/deployment-gate.md
Activation Contract
Use this first when
- The request is about WeChat Mini Program structure, pages, preview, publishing, or CloudBase mini program integration.
Read before writing code if
- The user mentions
wx.cloud, CloudBase mini programs, OPENID, mini program deployment/debug workflows, Nightly DevTools, wechatide, or WeChat IDE Skills.
- The user mentions message push (消息推送), customer-service auto-reply (客服消息/自动回复), or binding MsgType/Event callbacks to cloud functions.
Then also read
- CloudBase auth ->
../auth-wechat-miniprogram/SKILL.md
- CloudBase document DB ->
../cloudbase-document-database-in-wechat-miniprogram/SKILL.md
- Mini Program WeChat Pay or Integration Center generated payment functions ->
../cloudbase-wechat-integration/SKILL.md (official docs: https://docs.cloudbase.net/integration/wechat-pay-miniprogram/index.md)
- UI generation ->
../ui-design/SKILL.md first
Do NOT use for
- Web auth flows or Web SDK-specific frontend implementation.
- WeChat Pay, payment callbacks, refunds, or Official Account OAuth details; use
cloudbase-wechat-integration for those scenarios.
Common mistakes / gotchas
- Generating a Web-style login flow for mini programs.
- Mixing Web SDK assumptions into
wx.cloud projects.
- Applying CloudBase constraints before confirming the project actually uses CloudBase.
- Assuming Stable WeChat Developer Tools includes Nightly Skills/
wechatide (it may not).
- Forcing CloudBase MCP Tencent Cloud login for daily mini program cloud ops when Nightly
wechatide already works.
- Inventing
wechatide tool names or flags instead of using --help / Nightly tools.yaml.
- Bypassing wxide CLI / IDE for message-push ops with low-level transport before
cloud_*_msg_push is exposed (see message-push-customer-service.md).
- Assuming cloud-function return values auto-reply to customer-service chats (must use
cloud.openapi.customerServiceMessage.send).
- Making code or configuration changes without first following the Change Safety Protocol (
cloudbase-platform/references/protocols/change-safety-protocol.md).
- Performing mini program upload/publish without first completing the checks in
cloudbase-platform/references/protocols/deployment-gate.md.
When to use this skill
Use this skill for WeChat Mini Program development when you need to:
- Build or modify mini program pages and components
- Organize mini program project structure and configuration
- Debug, preview, or publish mini program projects
- Work with WeChat Developer Tools workflows
- Handle mini program runtime behavior, assets, or page config files
- Integrate CloudBase in a mini program project when explicitly needed
Do NOT use for:
- Web frontend development (use
web-development)
- Pure backend service development (use
cloudrun-development or cloud-functions as appropriate)
- UI design-only tasks without mini program development context (use
ui-design)
How to use this skill (for a coding agent)
Start with the general mini program workflow
- Treat WeChat Mini Program development as the default scope
- Do not assume the project uses CloudBase unless the user or codebase indicates it
Follow mini program project conventions
- Keep mini program source under the configured mini program root
- Ensure page files include the required configuration file such as
index.json
- Check
project.config.json before suggesting preview or IDE workflows
Route by scenario
- If the task involves debugging, previewing, publishing, opening DevTools, console/network, or
wechatide, read debug and preview reference first
- If choosing between WeChat IDE Skills and CloudBase MCP, read WeChat IDE Skills vs CloudBase MCP
- If the task involves CloudBase,
wx.cloud, cloud functions, CloudBase database/storage, or CloudBase identity handling, read CloudBase integration reference
- If the task involves mini program SEO / WeChat search optimization / page indexing / search promotion (小程序搜索优化、页面收录、搜索推广、关键词排名), read Mini Program SEO & WeChat Search Optimization first
- If the task involves message push (消息推送), customer-service auto-reply (客服消息自动回复), MsgType/Event → cloud function binding, or push-related function logs, read Message Push & Customer Service Auto-Reply first
- If the task involves
tabBar, icon assets, or label spacing, prefer the text-only custom tabBar default below unless the user explicitly requires icons
Use CloudBase rules only when applicable
- CloudBase / 微信云开发 is an important mini program integration path, but not a universal requirement
- Only apply CloudBase-specific auth, database, storage, or cloud function constraints when the project is using CloudBase
Recommend the right preview/debug/cloud-ops path
WeChat Mini Program Development Rules
General Project Rules
Project Structure
- Mini program code should follow the project root configured in
project.config.json
- Keep page-level files complete, including
.json configuration files
- Ensure referenced local assets actually exist to avoid compile failures
Configuration Checks
- Check
project.config.json before opening, previewing, or publishing a project
- Confirm
appid is available when a real preview, upload, or WeChat Developer Tools workflow is required
- Confirm
miniprogramRoot and related path settings are correct
Resource Handling
- For
tabBar, prefer a text-only custom tabBar by default when the user does not explicitly need icons. This avoids icon asset handling, removes reserved icon space, and makes the label area easier to align.
- Only generate local icon assets and configure
iconPath / selectedIconPath when the user explicitly asks for tab icons or the design requires them.
- When generating local asset references such as icons, ensure the files are downloaded into the project.
- Keep file paths stable and consistent with mini program config files.
Recommended default for simple tabBar
Use tabBar.custom = true, keep only pagePath and text in app.json, and render text-only items in the custom component so there is no icon slot and no extra blank area above the label.
app.json
{
"tabBar": {
"custom": true,
"list": [
{ "pagePath": "pages/index/index", "text": "首页" },
{ "pagePath": "pages/travel/travel", "text": "行程" },
{ "pagePath": "pages/my/my", "text": "我的" }
]
}
}
Keep the custom tabBar layout text-only, and use flex centering or matching height and line-height to remove the blank area above the label. Switch to downloaded local icons only when the user explicitly wants icon-based tabs.
CloudBase as a Mini Program Sub-Scenario
- If the user explicitly uses CloudBase,
wx.cloud, Tencent CloudBase, 腾讯云开发, or 云开发, follow the CloudBase integration reference
- In CloudBase mini program projects, use
wx.cloud APIs and CloudBase environment configuration appropriately
- Do not apply CloudBase-specific rules to non-CloudBase mini program projects
Debugging, Preview, and Publishing
- Prefer Nightly DevTools +
wechatide for open project, compile, simulator, console/network debug, preview, upload, and daily cloud ops (WeChat login — no separate Tencent Cloud login)
- Always pass required context:
-c <clientName>, absolute --project, valid appid, and cloud env when needed
- If Nightly /
wechatide is not available, use miniprogram-ci as the fallback for preview/upload/npm, and CloudBase MCP for cloud resources; tell the user to install Nightly for full Skills/MCP
- For detailed workflows, read debug and preview reference and WeChat IDE Skills vs CloudBase MCP
Message Push & Customer Service Auto-Reply
微信生态专章:消息推送 / 客服自动回复细节以中文 reference 为准(术语保留英文 API 名)。
- Current only ops path: WeChat Developer Tools IDE + wxide CLI. Do not teach low-level bypasses while
cloud_query_msg_push / cloud_manage_msg_push are not yet exposed (pending WeChat IDE CLI support).
- Deploy receiver functions with
cloud_fn_deploy and --remote-npm-install; bind (MsgType, Event) → one cloud function in the IDE message-push panel until CLI tools land.
- Customer-service auto-reply requires
cloud.openapi.customerServiceMessage.send plus config.json openapi permissions — function return values alone do not reply.
- Function logs: IDE 云开发控制台 → 云函数 → 日志; the wxide CLI does not expose log query yet — do not teach low-level log CGI bypasses.
- Full reference: Message Push & Customer Service Auto-Reply
Minimal project skeleton
app.js
App({
onLaunch() {
console.log("Mini Program launched");
},
});
pages/index/index.js
Page({
data: {
message: "Hello CloudBase Mini Program",
},
});
pages/index/index.wxml
<view class="page">
<text>{{message}}</text>
</view>
pages/index/index.json
{
"navigationBarTitleText": "Home"
}
project.config.json
{
"appid": "your-mini-program-appid",
"projectname": "cloudbase-mini-program",
"miniprogramRoot": "./",
"compileType": "miniprogram"
}
References
- CloudBase Mini Program Integration — use this when the mini program project explicitly integrates CloudBase
- WeChat DevTools Debug and Preview — Nightly /
wechatide paths, required context, and no-Nightly fallbacks
- WeChat IDE Skills vs CloudBase MCP — layering and when to use which execution surface
- Message Push & Customer Service Auto-Reply — 消息推送 / 客服自动回复 via wxide CLI + IDE (no low-level bypass; pending
cloud_*_msg_push)
- Mini Program SEO & WeChat Search Optimization — 小程序搜索优化 / page indexing / search promotion (
mpcrawler, URL reachability, navigator jumps, titles & thumbnails)
- Common Pitfalls — read before generating code for optional chaining, TDesign styling, Canvas + storage, and environment issues
1---2name: miniprogram-development3description: WeChat Mini Program development skill for building, debugging, previewing, testing, publishing, optimizing, and promoting mini program projects. This skill should be used when users ask to create, develop, modify, debug, preview, test, deploy, publish, launch, review, optimize, or promote WeChat Mini Programs, mini program pages, components, `tabBar`, routing, navigation, icon assets, project structure, project configuration, `project.config.json`, `appid` setup, device preview, real-device validation, WeChat Developer Tools Nightly workflows, `wechatide` CLI, WeChat IDE Skills/MCP, console/network debugging, `miniprogram-ci` preview/upload flows, or mini program release processes. It should also be used when users ask about mini program SEO / search optimization / search promotion (小程序 SEO、搜索优化、微信搜索收录、搜索推广、页面收录、关键词排名、被搜索到) or page indexing by the WeChat search crawler (`mpcrawler`). when users explicitly mention CloudBase, `wx.cloud`, Tencent CloudBase, 腾讯云开发, 微信云开发, or 云开发 in a mini program project.4---5
6## Sibling skills (local only)
7
8Sibling CloudBase skills ship beside this skill. Use local relative paths such as `../auth-tool-cloudbase/SKILL.md`.
9
10If a referenced sibling skill file is missing from this environment, ask the user to install the full CloudBase plugin (or the missing skill). Do **not** HTTP-fetch remote skill or protocol markdown into the agent context.
11
12**Cross-cutting protocols** (required before code changes or deployments):
13- Change Safety Protocol: `../cloudbase-platform/references/protocols/change-safety-protocol.md`
14- Deployment Gate: `../cloudbase-platform/references/protocols/deployment-gate.md`
15
16## Activation Contract
17
18### Use this first when
19
20- The request is about WeChat Mini Program structure, pages, preview, publishing, or CloudBase mini program integration.
21
22### Read before writing code if
23
24- The user mentions `wx.cloud`, CloudBase mini programs, OPENID, mini program deployment/debug workflows, Nightly DevTools, `wechatide`, or WeChat IDE Skills.
25- The user mentions message push (消息推送), customer-service auto-reply (客服消息/自动回复), or binding MsgType/Event callbacks to cloud functions.
26
27### Then also read
28
29- CloudBase auth -> `../auth-wechat-miniprogram/SKILL.md`
30- CloudBase document DB -> `../cloudbase-document-database-in-wechat-miniprogram/SKILL.md`
31- Mini Program WeChat Pay or Integration Center generated payment functions -> `../cloudbase-wechat-integration/SKILL.md` (official docs: `https://docs.cloudbase.net/integration/wechat-pay-miniprogram/index.md`)
32- UI generation -> `../ui-design/SKILL.md` first
33
34### Do NOT use for
35
36- Web auth flows or Web SDK-specific frontend implementation.
37- WeChat Pay, payment callbacks, refunds, or Official Account OAuth details; use `cloudbase-wechat-integration` for those scenarios.
38
39### Common mistakes / gotchas
40
41- Generating a Web-style login flow for mini programs.
42- Mixing Web SDK assumptions into `wx.cloud` projects.
43- Applying CloudBase constraints before confirming the project actually uses CloudBase.
44- Assuming Stable WeChat Developer Tools includes Nightly Skills/`wechatide` (it may not).
45- Forcing CloudBase MCP Tencent Cloud login for daily mini program cloud ops when Nightly `wechatide` already works.
46- Inventing `wechatide` tool names or flags instead of using `--help` / Nightly `tools.yaml`.
47- Bypassing wxide CLI / IDE for message-push ops with low-level transport before `cloud_*_msg_push` is exposed (see [message-push-customer-service.md](references/message-push-customer-service.md)).
48- Assuming cloud-function return values auto-reply to customer-service chats (must use `cloud.openapi.customerServiceMessage.send`).
49- Making code or configuration changes without first following the Change Safety Protocol (`cloudbase-platform/references/protocols/change-safety-protocol.md`).
50- Performing mini program upload/publish without first completing the checks in `cloudbase-platform/references/protocols/deployment-gate.md`.
51
52## When to use this skill
53
54Use this skill for **WeChat Mini Program development** when you need to:
55
56- Build or modify mini program pages and components
57- Organize mini program project structure and configuration
58- Debug, preview, or publish mini program projects
59- Work with WeChat Developer Tools workflows
60- Handle mini program runtime behavior, assets, or page config files
61- Integrate CloudBase in a mini program project when explicitly needed
62
63**Do NOT use for:**
64- Web frontend development (use `web-development`)
65- Pure backend service development (use `cloudrun-development` or `cloud-functions` as appropriate)
66- UI design-only tasks without mini program development context (use `ui-design`)
67
68---
69
70## How to use this skill (for a coding agent)
71
721. **Start with the general mini program workflow**
73 - Treat WeChat Mini Program development as the default scope
74 - Do not assume the project uses CloudBase unless the user or codebase indicates it
75
762. **Follow mini program project conventions**
77 - Keep mini program source under the configured mini program root
78 - Ensure page files include the required configuration file such as `index.json`
79 - Check `project.config.json` before suggesting preview or IDE workflows
80
813. **Route by scenario**
82 - If the task involves debugging, previewing, publishing, opening DevTools, console/network, or `wechatide`, read [debug and preview reference](references/devtools-debug-preview.md) first
83 - If choosing between WeChat IDE Skills and CloudBase MCP, read [WeChat IDE Skills vs CloudBase MCP](references/wxide-vs-cloudbase-mcp.md)
84 - If the task involves CloudBase, `wx.cloud`, cloud functions, CloudBase database/storage, or CloudBase identity handling, read [CloudBase integration reference](references/cloudbase-integration.md)
85 - If the task involves mini program SEO / WeChat search optimization / page indexing / search promotion (小程序搜索优化、页面收录、搜索推广、关键词排名), read [Mini Program SEO & WeChat Search Optimization](references/seo-search-optimization.md) first
86 - If the task involves message push (消息推送), customer-service auto-reply (客服消息自动回复), MsgType/Event → cloud function binding, or push-related function logs, read [Message Push & Customer Service Auto-Reply](references/message-push-customer-service.md) first
87 - If the task involves `tabBar`, icon assets, or label spacing, prefer the text-only custom `tabBar` default below unless the user explicitly requires icons
88
894. **Use CloudBase rules only when applicable**
90 - CloudBase / 微信云开发 is an important mini program integration path, but not a universal requirement
91 - Only apply CloudBase-specific auth, database, storage, or cloud function constraints when the project is using CloudBase
92
935. **Recommend the right preview/debug/cloud-ops path**
94 - Prefer **Nightly** WeChat Developer Tools (built-in Skills/MCP) and execute via `wechatide` when available — see [devtools-debug-preview.md](references/devtools-debug-preview.md)
95 - Nightly download: https://developers.weixin.qq.com/miniprogram/dev/devtools/nightly_backup.html
96 - If Nightly / `wechatide` is unavailable, fall back to `miniprogram-ci` for preview/upload and CloudBase MCP for cloud resources
97
98---
99
100# WeChat Mini Program Development Rules
101
102## General Project Rules
103
1041. **Project Structure**
105 - Mini program code should follow the project root configured in `project.config.json`
106 - Keep page-level files complete, including `.json` configuration files
107 - Ensure referenced local assets actually exist to avoid compile failures
108
1092. **Configuration Checks**
110 - Check `project.config.json` before opening, previewing, or publishing a project
111 - Confirm `appid` is available when a real preview, upload, or WeChat Developer Tools workflow is required
112 - Confirm `miniprogramRoot` and related path settings are correct
113
1143. **Resource Handling**
115 - For `tabBar`, prefer a text-only custom `tabBar` by default when the user does not explicitly need icons. This avoids icon asset handling, removes reserved icon space, and makes the label area easier to align.
116 - Only generate local icon assets and configure `iconPath` / `selectedIconPath` when the user explicitly asks for tab icons or the design requires them.
117 - When generating local asset references such as icons, ensure the files are downloaded into the project.
118 - Keep file paths stable and consistent with mini program config files.
119
120### Recommended default for simple `tabBar`
121
122Use `tabBar.custom = true`, keep only `pagePath` and `text` in `app.json`, and render text-only items in the custom component so there is no icon slot and no extra blank area above the label.
123
124`app.json`
125
126```json
127{
128 "tabBar": {
129 "custom": true,
130 "list": [
131 { "pagePath": "pages/index/index", "text": "首页" },
132 { "pagePath": "pages/travel/travel", "text": "行程" },
133 { "pagePath": "pages/my/my", "text": "我的" }
134 ]
135 }
136}
137```
138
139Keep the custom `tabBar` layout text-only, and use flex centering or matching `height` and `line-height` to remove the blank area above the label. Switch to downloaded local icons only when the user explicitly wants icon-based tabs.
140
141## CloudBase as a Mini Program Sub-Scenario
142
143- If the user explicitly uses CloudBase, `wx.cloud`, Tencent CloudBase, 腾讯云开发, or 云开发, follow the CloudBase integration reference
144- In CloudBase mini program projects, use `wx.cloud` APIs and CloudBase environment configuration appropriately
145- Do not apply CloudBase-specific rules to non-CloudBase mini program projects
146
147## Debugging, Preview, and Publishing
148
149- Prefer **Nightly** DevTools + `wechatide` for open project, compile, simulator, console/network debug, preview, upload, and daily cloud ops (WeChat login — no separate Tencent Cloud login)
150- Always pass required context: `-c <clientName>`, absolute `--project`, valid `appid`, and cloud `env` when needed
151- If Nightly / `wechatide` is not available, use `miniprogram-ci` as the fallback for preview/upload/npm, and CloudBase MCP for cloud resources; tell the user to install Nightly for full Skills/MCP
152- For detailed workflows, read [debug and preview reference](references/devtools-debug-preview.md) and [WeChat IDE Skills vs CloudBase MCP](references/wxide-vs-cloudbase-mcp.md)
153
154## Message Push & Customer Service Auto-Reply
155
156> 微信生态专章:消息推送 / 客服自动回复细节以中文 reference 为准(术语保留英文 API 名)。
157
158- **Current only ops path:** WeChat Developer Tools IDE + wxide CLI. Do not teach low-level bypasses while `cloud_query_msg_push` / `cloud_manage_msg_push` are not yet exposed (pending WeChat IDE CLI support).
159- Deploy receiver functions with `cloud_fn_deploy` **and** `--remote-npm-install`; bind (MsgType, Event) → one cloud function in the IDE message-push panel until CLI tools land.
160- Customer-service auto-reply requires `cloud.openapi.customerServiceMessage.send` plus `config.json` openapi permissions — function return values alone do not reply.
161- Function logs: IDE **云开发控制台 → 云函数 → 日志**; the wxide CLI does not expose log query yet — do not teach low-level log CGI bypasses.
162- Full reference: [Message Push & Customer Service Auto-Reply](references/message-push-customer-service.md)
163
164## Minimal project skeleton
165
166`app.js`
167
168```js
169App({
170 onLaunch() {
171 console.log("Mini Program launched");
172 },
173});
174```
175
176`pages/index/index.js`
177
178```js
179Page({
180 data: {
181 message: "Hello CloudBase Mini Program",
182 },
183});
184```
185
186`pages/index/index.wxml`
187
188```xml
189<view class="page">
190 <text>{{message}}</text>
191</view>
192```
193
194`pages/index/index.json`
195
196```json
197{
198 "navigationBarTitleText": "Home"
199}
200```
201
202`project.config.json`
203
204```json
205{
206 "appid": "your-mini-program-appid",
207 "projectname": "cloudbase-mini-program",
208 "miniprogramRoot": "./",
209 "compileType": "miniprogram"
210}
211```
212
213## References
214
215- [CloudBase Mini Program Integration](references/cloudbase-integration.md) — use this when the mini program project explicitly integrates CloudBase
216- [WeChat DevTools Debug and Preview](references/devtools-debug-preview.md) — Nightly / `wechatide` paths, required context, and no-Nightly fallbacks
217- [WeChat IDE Skills vs CloudBase MCP](references/wxide-vs-cloudbase-mcp.md) — layering and when to use which execution surface
218- [Message Push & Customer Service Auto-Reply](references/message-push-customer-service.md) — 消息推送 / 客服自动回复 via wxide CLI + IDE (no low-level bypass; pending `cloud_*_msg_push`)
219- [Mini Program SEO & WeChat Search Optimization](references/seo-search-optimization.md) — 小程序搜索优化 / page indexing / search promotion (`mpcrawler`, URL reachability, `navigator` jumps, titles & thumbnails)
220- [Common Pitfalls](references/pitfalls.md) — read before generating code for optional chaining, TDesign styling, Canvas + storage, and environment issues